refactor(settings): own two-phase runtime settings

Move pre-window loading, startup application, live settings mutation, toon context, quality reapply, and SettingsVM loans behind one RuntimeSettingsController. Preserve retail command behavior, ordered target publication, draft semantics, and retryable failure convergence while removing duplicate GameWindow state and feature bodies.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-22 13:30:22 +02:00
parent 4eae9b4f5a
commit fec0d94148
24 changed files with 2379 additions and 599 deletions

View file

@ -39,7 +39,7 @@ 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 AF are complete:
preserve Slice 6 presentation. Final Slice 8 checkpoints AG are complete:
native callbacks and live-session composition now have explicit retryable
owners. Checkpoint D adds the sole world-environment owner for clock, DAT sky,
day group, weather, and AdminEnvirons state. Checkpoint E adds terminal,
@ -47,10 +47,13 @@ transactional ownership for Silk/dispatcher/retained/devtools input, the raw
camera pointer, focus, and physical framebuffer size. Graceful live-session
retirement now precedes physical callback removal. Checkpoint F adds the sole
gameplay action-priority owner, typed combat/diagnostic/general commands, and a
reversible retained-root item-drop binding. `GameWindow` is 4,057 lines / 198
fields / 54 methods; 7,524 Release tests pass / 5 skip. Checkpoints GL remain
active. Issue #232 tracks process-residency variance in the soak without
loosening its leak threshold.
reversible retained-root item-drop binding. Checkpoint G adds the sole
pre-window/runtime settings owner, one startup snapshot, ordered one-shot
startup application, and inert late target binding. `GameWindow` is 3,663
lines / 162 fields / 37 methods. Checkpoints HL remain active. Issue #232
tracks process-residency variance in the soak without loosening its leak
threshold. The Checkpoint G Release suite passes 7,553 tests / 5 skips and all
three corrected-diff reviews are clean.
Carried:
#153 far-teleport residual, #116 slide-response, the remaining R6 ownership cleanup plus