docs(architecture): close live-session ownership slice

This commit is contained in:
Erik 2026-07-21 12:44:48 +02:00
parent 485b3fb6ed
commit ed9dc36643
8 changed files with 80 additions and 50 deletions

View file

@ -28,9 +28,19 @@ projection, object-clock, and appearance-revision tokens reject stale work;
ordinary/static frame handoffs own their buffers; retail short AnimFrames
retain trailing visible and rigid poses. `GameWindow` is now 14,546 lines.
**Next:** Slice 3 completes live-session ownership by moving connection,
character entry, typed event subscriptions, graceful logout, reconnect, and
session-scoped cleanup behind `LiveSessionController`/`LiveSessionEventRouter`.
Slice 3 complete live-session ownership landed 2026-07-21: one
`LiveSessionController` now owns resolve through graceful teardown/reconnect,
with exact-generation reentrancy gates, transactional typed routing, dynamic
UI command publication, and convergent session reset. The old GameWindow
session/router/command fields and lifecycle bodies are gone. `GameWindow` is
now 14,310 lines, 274 fields, and 190 methods; the Release suite passes 6,714
tests with five intentional skips. Its connected gate passed capped login,
five travel/revisit checkpoints, graceful close, and uncapped fresh-process
reconnect in 306 seconds.
**Next:** Slice 4 extracts live-entity App integration into focused hydration
and network-update controllers over the existing canonical
`LiveEntityRuntime`, without adding a second GUID or resource owner.
This is a behavior-preserving structural program. Severe regressions still get
root-cause fixes in separate commits; ordinary feature work resumes with M4

View file

@ -17,9 +17,10 @@ layer, the active structural prerequisite is the behavior-preserving
`GameWindow` decomposition in
[`docs/architecture/code-structure.md`](../architecture/code-structure.md).
The 2026-07-21 audit baseline was 15,723 lines, 278 fields, and 205 methods.
Selection/interaction Slice 1 and live-animation-presentation Slice 2 are
complete. `GameWindow` is now 14,546 lines, 277 fields, and 190 methods. Slice 3
— complete live-session ownership — is next.
Selection/interaction Slice 1, live-animation-presentation Slice 2, and
complete live-session ownership Slice 3 are complete. `GameWindow` is now
14,310 lines, 274 fields, and 190 methods. Slice 4 — live-entity App
integration — is active next.
Carried:
#153 far-teleport residual, #116 slide-response, the remaining R6 ownership cleanup plus

View file

@ -1,6 +1,6 @@
# GameWindow Slice 3 — complete live-session ownership
**Status:** Active 2026-07-21.
**Status:** Complete 2026-07-21.
**Parent program:** [`docs/architecture/code-structure.md`](../architecture/code-structure.md), Slice 3.
**Baseline:** `9a150e24`; `GameWindow.cs` is 14,546 lines, 277 fields, and
190 methods before this slice.
@ -47,7 +47,12 @@ character-selection UI or redesign the transport.
unified shutdown, and structural regression gates proving the displaced
fields and lifecycle bodies remain absent. Three-agent review clean.
Release: 6,714 passed / 5 skipped.
- [ ] F — final review, connected gate, and documentation closeout (in progress).
- [x] F — final review, connected gate, and documentation closeout. All three
independent review tracks finished clean. Release: 6,714 passed / 5 skipped.
The 306-second connected lifecycle gate passed capped login, five travel/
revisit checkpoints, exact graceful exit, and uncapped fresh-process
reconnect; both client processes exited normally. The sole warning was 25
expected world-edge landblock misses already classified by the gate.
## 1. Outcome