refactor(app): compose atomic frame roots

Move the complete update/render construction graph into a typed Phase-8 owner, explicitly carry the content dependencies it consumes, and publish both roots through one exact lease. Extract lifecycle resource sampling and frame-owned late bindings so partial startup and shutdown withdraw the same generation without window callbacks.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-22 19:02:08 +02:00
parent 826f9ea9b5
commit 3628aeb520
21 changed files with 1052 additions and 374 deletions

View file

@ -34,8 +34,10 @@ What does NOT go here:
I.7 now owns streaming/session/hydration/local-player/teleport startup and
every late edge explicitly. I.8a now owns the focused session factory,
command targets, and sole gameplay input subscriber before frame publication.
`GameWindow.OnUpdate` and `GameWindow.OnRender` are typed orchestration
handoffs and the class is 2,149 raw lines. I.8bI.9 plus the remaining
I.8b now owns the complete update/render construction, exact atomic frame
publication, and lifecycle resource snapshot source. `GameWindow.OnUpdate`
and `GameWindow.OnRender` are typed orchestration handoffs and the class is
1,919 raw lines. I.8cI.9 plus the remaining
shutdown/closeout
cleanup is active in
[`docs/architecture/code-structure.md`](architecture/code-structure.md).