Stealth Cymbal #3

Merged
notid merged 10 commits from stealth-cymbal into master 2026-04-29 16:56:44 -07:00

10 Commits

Author SHA1 Message Date
0b560b94ca docs: add code review for PR 3
Comprehensive code review findings:
- 23 total findings (2 P1, 9 P2, 12 P3)
- Key issues: UID mismatch in kq4_004_ogres_cottage, missing tests
- Verdict: Ready with fixes
2026-04-29 16:54:01 -07:00
c24709d02d docs: update room navigator skill with correct get_current_room_name method
Replace raw eval JSON with godot_game_call_method for checking current room,
matching the actual Godot MCP tool interface used in practice.
2026-04-29 16:18:02 -07:00
8929c4fc09 Add UID repair tool
Python script to fix stale scene UIDs by matching transition targets
to the current .uid files.
2026-04-29 15:55:21 -07:00
b2c243a819 Remove stale root-level MCP server files and navigation test
The MCP interaction server lives in scripts/mcp_interaction_server.gd;
the root-level copies and test file are obsolete.
2026-04-29 15:55:15 -07:00
971e830c6a Add Godot MCP server config to opencode.json
Register the local Godot MCP server and fix playwright indentation.
2026-04-29 15:55:06 -07:00
2479e4c784 Update scene UIDs to match regenerated .uid files
Transition target UIDs in .tscn files updated to match the current .uid
files for each room, fixing broken scene transitions caused by stale UIDs.
2026-04-29 15:55:00 -07:00
868b25299a Update room navigator skill with mock_interact and room verification
Replaces click-based navigation with mock_interact(0) on TransitionPiece
nodes, adds get_current_room_name() verification pattern, and documents
the MCP busy protocol for walk animation timeouts.
2026-04-29 15:54:41 -07:00
7a7d9e78db Prevent eval-induced debugger breaks from hanging the game
When eval receives invalid GDScript, script.reload() triggers a debugger
break that halts the game loop permanently (especially with LocalDebugger
which doesn't respect skip_breakpoints). Two-layer defense:

1. On startup, attempt to disable debugger breaks via
   EngineDebugger.send_message (works for RemoteDebugger)
2. When debugger is unsafe (LocalDebugger), validate eval code in an
   external headless Godot process before executing it in-process
2026-04-29 15:54:32 -07:00
9b5a7040c2 Add get_current_room_name() helper to MainGame
Provides a convenient way to identify the current room at runtime by
extracting the room name from the scene script's resource path, rather
than relying on node names (which are always 'background').
2026-04-29 15:54:24 -07:00
ec4fc8e756 changes for stuff 2026-04-29 13:35:31 -07:00