Files
Ben Follington 75e1bac231 docs(godot skills): rewrite godot-interactive for bridge protocol v4.0
The godot-interactive skill was written against the pre-v4.0 bridge and had
drifted into being actively misleading:

- Documented the global /tmp/godot_* paths. v4.0 puts command/response/
  screenshot/instance files in a per-project directory (slug =
  <dir-name>-sha1(abspath)[:8], overridable with $GODOT_MCP_DIR) precisely
  because two projects running at once ate each other's commands with no error.
- Claimed screenshots are 640x360 while input is 1920x1080, and that screenshot
  pixels must never be used as click coordinates. The bridge now resizes the PNG
  to canvas size so that mapping is the identity.
- Claimed a 2s periodic screenshot timer. There is none — the readback was a
  recurring 15-40ms main-thread stall. Captures are on demand only, and
  screenshots_enabled defaults to false.
- Never mentioned that an occluded window renders nothing while the bridge keeps
  serving its last frame, which is the single most expensive trap in this loop.
- Missing game_console, game_call_method, game_type_text and the settle param
  entirely.

Rewritten around the four failure modes that silently lie to you, plus the
dev-console pattern (generalised out of par52) that makes the loop fast. Shorter
overall: eight near-identical walkthroughs of the same launch/click/screenshot
loop collapsed into one.

The bundled bridge template was still v3.0 with hardcoded global paths — i.e.
following the setup instructions installed a bridge the current server cannot
find. Replaced with the v4.0 bridge, with the disable env var generalised to
GODOT_MCP_DISABLE_BRIDGE.

Also added the two headless traps to the godot skill next to --check-only: a new
class_name failing until --import, and sandboxed headless Godot dying on
user://logs in a way that reads as a segfault or a test timeout.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AEYCkTVtm2L2wnRzLxyfxc
2026-08-30 13:42:21 +10:00
..