Split Main compositor into partial class

This commit is contained in:
gamer147
2026-08-02 18:38:12 -04:00
parent 2f7e53ebde
commit f5bc0adc8f
4 changed files with 586 additions and 572 deletions

View File

@@ -140,6 +140,8 @@ companions keep cohesive surfaces independently navigable without changing the G
paths: `godot/Main.SelfTest.cs` owns the synthetic threaded/headless regression harness, while
`godot/Main.Audio.cs` owns BGM, voice, sound-effect, mixer-routing/persistence, and audio-bus control, and
`godot/Main.Movie.cs` owns decoder staging, movie frame/audio publication, completion, and teardown.
`godot/Main.Compositor.cs` owns retained/GPU/software composition state, texture resolution and caching,
surface-transition drawing, raster helpers, and compositor decision logging.
The disposable `build/page-map-<SCENE>.jsonl` files are produced by editor/development Godot runs and map
runtime ADV page ordinals to their authoritative script offsets for `tools/locate_page.py`. Packaged exports

View File

@@ -559,12 +559,13 @@ do not mix mechanical moves with semantic changes.
stage, battle, card, routine, gallery, and general table implementations plus tests into importable
modules.
**Progress (2026-08-02):** the first three bounded splits moved `Main`'s synthetic scene builder/threaded
**Progress (2026-08-02):** the first four bounded splits moved `Main`'s synthetic scene builder/threaded
self-test harness into `godot/Main.SelfTest.cs`, then its BGM, voice, sound-effect, mixer, and bus-control
surface into `godot/Main.Audio.cs`, then decoder staging, movie frame/audio publication, completion, and
teardown into `godot/Main.Movie.cs`. The partial class retains the same node type, fields, signatures,
execution order, and call sites; runtime validation, including all 590 engine tests and the Godot threaded
self-test, remains green after each move.
teardown into `godot/Main.Movie.cs`, then retained GPU/software composition, texture caching, transitions,
raster helpers, and decision logging into `godot/Main.Compositor.cs`. The partial class retains the same
node type, fields, signatures, execution order, and call sites; runtime validation, including all 590
engine tests and the Godot threaded self-test, remains green after each move.
**Gate:** no externally visible behavior or command changes; generated artifacts are byte-identical where
deterministic, and the corresponding engine, Python, Godot, and corpus validations remain green after
@@ -936,8 +937,8 @@ layer's rendering diverges from ADV; save layout.
## 8. Immediate next step
Continue step 2 of the **codebase consolidation** maintenance slice: behavior-neutral physical splits backed
by the tracked launcher and layered validation driver. With the embedded `Main` self-test, audio, and movie
surfaces isolated, move the retained compositor surface next, then one existing domain at a time while
preserving public types, commands, and generated output.
by the tracked launcher and layered validation driver. With the embedded `Main` self-test, audio, movie, and
retained compositor surfaces isolated, move input/cursor/debug-launcher handling next, then continue one
existing domain at a time while preserving public types, commands, and generated output.
Concrete playthrough blockers may still preempt this bounded maintenance work; the consolidation effort does
not replace Phase B gameplay validation or the open cross-platform gates.