Move live-session startup and its existing diagnostics into the typed Phase-9 owner. GameWindow.OnLoad now ends immediately after that phase, so no callback binding, publication, or allocation can occur after the session becomes active.
Co-authored-by: Codex <codex@openai.com>
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>
Move the live-session reset and routing graph, combat and diagnostic command targets, and the sole gameplay input subscriber into Phase 7 before frame publication. Add exact retryable ownership for late bindings so partial startup cannot strand session or component teardown edges.
Co-authored-by: Codex <codex@openai.com>
Define the remaining ordered-startup cuts: complete session command/input ownership before frame publication, atomically publish the update/render pair, and make live-session Start the final operation.
Co-authored-by: Codex <codex@openai.com>