refactor(world): own live environment state

Move the DAT sky, selected day group, world clock, weather, AdminEnvirons bridge, and debug cycles into a one-shot WorldEnvironmentController while preserving GameWindow's public aliases and accepted startup/session/render order. Correct the named retail citations and register the remaining environment audio and fog/radar gaps.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-22 10:54:33 +02:00
parent 557eb7ef6b
commit d09e246d3a
19 changed files with 606 additions and 368 deletions

View file

@ -39,10 +39,12 @@ diagnostic owners preserve the accepted draw/failure graph. `GameWindow` is
campaign baseline. The full Release suite passes 7,341 tests / 5 skips; the
315.6-second capped/reconnect lifecycle gate and 395.2-second synchronized
nine-destination soak pass with graceful exits, and six stable PNG checkpoints
preserve Slice 6 presentation. Final Slice 8 checkpoints AC are complete:
preserve Slice 6 presentation. Final Slice 8 checkpoints AD are complete:
native callbacks and live-session composition now have explicit retryable
owners, and `GameWindow` is 4,589 lines / 196 fields / 69 methods. Checkpoints
DL remain active. Issue #232 tracks process-residency variance in the soak without
owners. Checkpoint D adds the sole world-environment owner for clock, DAT sky,
day group, weather, and AdminEnvirons state. `GameWindow` is 4,330 lines / 192
fields / 67 methods; 7,419 Release tests pass / 5 skip. Checkpoints EL remain
active. Issue #232 tracks process-residency variance in the soak without
loosening its leak threshold.
Carried: