Godot host: source images kept per slot with dims read from the BMP header on the VM thread (synchronous, so the bytecode's geometry math sees real sizes); draw-texture blits src rect -> dst into one 800x600 canvas in execution order, shown by a single TextureRect. Selftest byte-parity preserved. Slot 0 = primary/screen surface: seed its dims to 800x600 (the boot-time create-texture the single-scene harness skips) and record create-texture(w,h), so the first CG's anchor-preserve math stays an identity instead of corrupting the persistent base globals. Fixes the grey-first-CG opening. Verified: SC0000 pages 1/3 composite the opening event CG at (0,0) with dialogue over it. Also adds a --shot <png> [--shot-page N] dev capture to Main (page-gated on a VM-thread counter) for headless visual verification. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.9 KiB
6.9 KiB