feat(client): DEBUG-only harness to pilot the client (socket + screenshots) #123
No reviewers
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo!123
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/debug-harness"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
A DEBUG-only control channel so a shell or script (and the assistant) can pilot the running client and capture screenshots to attach to PRs — closes #122. A loopback TCP server (
127.0.0.1:5199, newline-delimited, request→response) compiled only under#if DEBUG, so a Release build has no socket and no debug types. It injects the same intents a human sends (MoveRequest,Say, …) or synthetic input the real UI reacts to (click / drag / keys) — never fabricating server state, so the server validates everything as usual. Built on aClientApifacade (query visible state + issue intents), the seam a future in-game scripting host (Lua) will reuse.Commands:
login,goto,move,say,open <admin|bag|doll>,click,rightclick,drag,type,key,screenshot,status,help. Seedocs/debug-harness.md.Screenshots / recording
Captured by the harness itself, piloting the client — the deliverable dogfooding its own job:
login debug→open admin→screenshot, thenclick 130 135(first command card) →screenshot:Admin panel opened + captured via the harness:
Clicking the first card prefills
/clearbaginto the chat (synthetic click):How it was tested
DebugCommandparser unit-tested (Client.Core, 7 cases).just dev:login debug(reaches in-world),open admin(panel opens),click 130 135(prefills/clearbaginto chat),screenshot(writes a valid 1280×720 PNG) — allOK.Automationtypes / no socket.Checklist
just lintpasses (CSharpier + analyzers, zero warnings)just testis greenDebugCommandTests)