Split Main audio into partial class
This commit is contained in:
@@ -135,9 +135,10 @@ The Godot deliverable includes `Himegari.sln` because Godot's .NET exporter requ
|
||||
the project do not enter its import or export scan. `tools/export-linux-x64.ps1` produces and validates the
|
||||
complete disposable artifact under `build/export/linux-x64/`.
|
||||
|
||||
`godot/Main.cs` retains the front-end's startup and runtime coordination. Its synthetic threaded/headless
|
||||
regression harness lives in the behavior-neutral partial-class companion `godot/Main.SelfTest.cs`, keeping
|
||||
the validation surface independently navigable without changing the Godot node type or invocation path.
|
||||
`godot/Main.cs` retains the front-end's startup and runtime coordination. Behavior-neutral partial-class
|
||||
companions keep cohesive surfaces independently navigable without changing the Godot node type or invocation
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
@@ -559,9 +559,11 @@ 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 bounded split moved `Main`'s synthetic scene builder and threaded
|
||||
self-test harness into `godot/Main.SelfTest.cs`. The partial class retains the same node type and private
|
||||
calls; runtime validation, including all 590 engine tests and the Godot threaded self-test, remains green.
|
||||
**Progress (2026-08-02):** the first two 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`. The partial class retains the same node type, fields, signatures, 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
|
||||
@@ -933,8 +935,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 surface isolated,
|
||||
move the `Main` audio control 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 and audio surfaces
|
||||
isolated, move the `Main` movie playback surface next, then 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.
|
||||
|
||||
Reference in New Issue
Block a user