refactor(app): extract focused window lifetime

Move the exact retryable shutdown manifest, typed root snapshot, terminal reporting, and native-window-last release out of GameWindow. Keep session and GPU convergence as hard barriers while reporting persistent physical callback cleanup without stranding dependent owners.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-22 19:43:52 +02:00
parent 5a55d08106
commit 31e6e192b3
21 changed files with 1297 additions and 572 deletions

View file

@ -155,9 +155,14 @@ pipeline as its failure oracle, carries exact platform/settings results through
typed phase inputs, atomically publishes frame roots, and makes session start
terminal. `GameWindow` is 1,945 raw lines, down 13,778 lines (87.6%) from
baseline. App Release passes 3,431 tests / 3 skips and the complete Release
suite passes 7,803 / 5 skips. Checkpoint I is complete; checkpoints JL—focused
retryable shutdown, canonical soak snapshots, and final connected gates—remain
active.
suite passes 7,803 / 5 skips. Checkpoint J moves the exact shutdown dependency
graph into `GameWindowLifetime`: immutable typed roots, retry/no-replay state,
hard session/GPU barriers, reportable physical callback cleanup, structured
terminal reporting, and native-window-last release now live outside the shell.
`GameWindow` is 1,625 raw lines, down 14,098 lines (89.7%) from baseline. App
Release passes 3,441 tests / 3 skips and the complete Release suite passes
7,813 / 5 skips. Checkpoints KL—canonical soak snapshots and final connected
closeout—remain active.
See `docs/plans/2026-07-22-gamewindow-slice-8-composition-lifecycle.md` and
`docs/architecture/code-structure.md`. **Carried:** #232, #153,
#116, remaining