docs(architecture): close GameWindow slice 6
This commit is contained in:
parent
e91f310279
commit
9512404e25
9 changed files with 182 additions and 46 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# acdream — strategic roadmap
|
||||
|
||||
**Status:** Living document. Updated 2026-07-21. **M3 landed; M4 is next after the active `GameWindow` structural prerequisite.** M3's retail casting/UI, R6 locomotion/collision/projectile/teleport/radar rebaseline, deterministic fresh-login/portal world lifecycle, and final two-client portal observer flow are user-gated. The current program is the behavior-preserving ownership campaign in [`docs/architecture/code-structure.md`](../architecture/code-structure.md); new M4 quest/emote/character-creation feature bodies wait until that campaign is complete. Issue #225's lifestone/particle alpha comparison remains a separate rendering visual gate.
|
||||
**Status:** Living document. Updated 2026-07-22. **M3 landed; M4 is next after the active `GameWindow` structural prerequisite.** M3's retail casting/UI, R6 locomotion/collision/projectile/teleport/radar rebaseline, deterministic fresh-login/portal world lifecycle, and final two-client portal observer flow are user-gated. The current program is the behavior-preserving ownership campaign in [`docs/architecture/code-structure.md`](../architecture/code-structure.md); Slices 1–6 are complete and Slice 7 draw-frame orchestration is active. New M4 quest/emote/character-creation feature bodies wait until that campaign is complete. Issue #225's lifestone/particle alpha comparison remains a separate rendering visual gate.
|
||||
**Purpose:** One source of truth for where the project is and where it's going. Every observed defect or missing feature has a named phase that owns it; when something looks wrong in-game, look here to find the phase that'll address it. Implementation details live in per-phase specs under `docs/superpowers/specs/`, not in this file.
|
||||
|
||||
---
|
||||
|
|
@ -56,9 +56,19 @@ session replacement, including failure/retry and fast relogin. Shutdown keeps
|
|||
the reset graph alive until disposal converges. `GameWindow` is 8,811 raw
|
||||
lines / 247 fields / 153 methods (44% below the campaign baseline); 7,054
|
||||
Release tests, the capped/reconnect lifecycle gate, and the synchronized
|
||||
nine-stop resource soak pass. Slice 6 update-frame orchestration is active;
|
||||
its detailed checkpoint ledger is
|
||||
nine-stop resource soak pass.
|
||||
|
||||
Slice 6 update-frame orchestration is complete. Streaming, input, the retail-
|
||||
shaped object/network barrier, liveness, local teleport, player mode, and
|
||||
camera presentation now have typed phase owners. `GameWindow.OnUpdate` is one
|
||||
orchestrator handoff, with no substantial transitive callback facade back into
|
||||
the window. `GameWindow` is 7,026 raw lines / 241 fields / 108 methods, down
|
||||
8,697 lines (55.3%) from the campaign baseline. The complete Release suite
|
||||
passes 7,182 tests / 5 skips; the 314-second lifecycle/reconnect gate and
|
||||
394-second synchronized nine-stop resource soak pass with graceful exits and
|
||||
stable owner counts. The completed ledger is
|
||||
[`2026-07-21-gamewindow-slice-6-update-frame-orchestration.md`](2026-07-21-gamewindow-slice-6-update-frame-orchestration.md).
|
||||
Slice 7 `RenderFrameOrchestrator` extraction is now active.
|
||||
|
||||
This is a behavior-preserving structural program. Severe regressions still get
|
||||
root-cause fixes in separate commits; ordinary feature work resumes with M4
|
||||
|
|
|
|||
|
|
@ -23,16 +23,20 @@ complete. Slice 5 landblock presentation is also complete:
|
|||
the worker DAT transaction, render/physics/static publishers, and retryable
|
||||
Near/full retirement now have focused owners. The direct production cutover
|
||||
also serializes complete old-window retirement with teleport and session
|
||||
origin lifetimes. `GameWindow` is 8,811 raw lines / 247 fields / 153 methods,
|
||||
down 1,490 lines from the Slice-5 baseline and 6,912 (44%) from the campaign
|
||||
baseline. The full Release suite passes 7,054 tests / 5 skips; the 311-second
|
||||
capped/reconnect lifecycle gate and synchronized 394-second nine-destination
|
||||
resource soak both pass. Slice 6 update-frame orchestration is active under
|
||||
origin lifetimes. Slice 6 update-frame orchestration is complete: streaming,
|
||||
input, the object/network barrier, liveness, teleport, player mode, and camera
|
||||
presentation have typed phase owners, and `GameWindow.OnUpdate` is one
|
||||
orchestrator handoff. `GameWindow` is 7,026 raw lines / 241 fields / 108
|
||||
methods, down 8,697 lines (55.3%) from the campaign baseline. The full Release
|
||||
suite passes 7,182 tests / 5 skips; the 314-second capped/reconnect lifecycle
|
||||
gate and synchronized 394-second nine-destination resource soak both pass with
|
||||
graceful exits and stable owner counts. The completed Slice 6 ledger is
|
||||
[`2026-07-21-gamewindow-slice-6-update-frame-orchestration.md`](2026-07-21-gamewindow-slice-6-update-frame-orchestration.md).
|
||||
Slice 7 draw-frame orchestration is active.
|
||||
|
||||
Carried:
|
||||
#153 far-teleport residual, #116 slide-response, the remaining R6 ownership cleanup plus
|
||||
registered TS-50/TS-51 timing residuals (the complete-root-Frame/object-workset
|
||||
registered TS-50/TS-51/TS-53 timing residuals (the complete-root-Frame/object-workset
|
||||
cutover is automated- and visual-gate complete; Release builds with 17 known
|
||||
test-project warnings tracked by #228, and 6,575 tests pass / 5 skip), and
|
||||
the deferred Modern Pipeline track (MP1b+). The separate #225 shared-alpha
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# GameWindow Slice 6 — update-frame orchestration
|
||||
|
||||
**Status:** Active 2026-07-21.
|
||||
**Status:** Complete 2026-07-22.
|
||||
**Parent program:** [`docs/architecture/code-structure.md`](../architecture/code-structure.md), Slice 6.
|
||||
**Baseline:** `d4ecac1d`; `GameWindow.cs` is 8,811 raw lines, 247 fields, and
|
||||
153 methods. Release baseline: 7,054 passed / 5 skipped. The connected
|
||||
|
|
@ -29,7 +29,7 @@ never hidden behind a retry, delay, suppression flag, or reordered callback.
|
|||
`UpdateFrameOrchestrator`.
|
||||
- [x] G — delete the old `OnUpdate` bodies, callback facades, and obsolete
|
||||
frame state; run focused corrected-diff reviews after each ownership edge.
|
||||
- [ ] H — full Release suite, connected lifecycle/reconnect gate, synchronized
|
||||
- [x] H — full Release suite, connected lifecycle/reconnect gate, synchronized
|
||||
resource soak, documentation, durable memory, and line/field/method closeout.
|
||||
|
||||
Every checked checkpoint is committed as one bisectable architectural unit.
|
||||
|
|
@ -437,7 +437,7 @@ Focused App/Core tests cover destination readiness, forced holds, same-cell
|
|||
placement, LoginComplete order, reset/disposal, GUID reuse, reentrancy,
|
||||
host rollback, auto-entry idempotence, and completion-mailbox ordering. The
|
||||
full App suite is green at 2,814 passed / 3 skipped. `GameWindow.cs` is 7,351
|
||||
lines at this checkpoint, down from the slice baseline of 15,723.
|
||||
lines at this checkpoint, down from the 15,723-line campaign baseline.
|
||||
|
||||
### F/G — camera, cutover, and deletion
|
||||
|
||||
|
|
@ -467,7 +467,7 @@ retains no duplicate lifecycle state. Focused Release tests are green at
|
|||
37/37, the App suite at 2,820 passed / 3 skipped, and the full suite at 7,179
|
||||
passed / 5 skipped. All three corrected-diff reviews are clean.
|
||||
`GameWindow.cs` is 7,160 lines, down 8,563 lines (54.5%) from the 15,723-line
|
||||
slice baseline.
|
||||
campaign baseline.
|
||||
|
||||
**Checkpoint G completed 2026-07-22.** `GameWindow.OnUpdate` now owns only the
|
||||
update profiler scope and one `UpdateFrameOrchestrator.Tick` call. Teardown,
|
||||
|
|
@ -501,6 +501,22 @@ The slice requires no new visual behavior. If connected screenshots or traces
|
|||
change, return to the responsible checkpoint; do not defer the difference to
|
||||
Slice 7.
|
||||
|
||||
**Completed 2026-07-22.** The complete Release suite is green at 7,182 passed /
|
||||
5 fixture or environment skips. The deterministic lifecycle/reconnect gate
|
||||
passed in 314.195 seconds across capped login/travel checkpoints, graceful close,
|
||||
and a fresh-process reconnect. Its only warning was the expected set of 25
|
||||
world-edge empty landblocks. The synchronized nine-stop resource soak passed in
|
||||
393.581 seconds with movement, turn, jump, combat, teleport waits, fatal-log scan,
|
||||
and graceful exit. The final Caul plateau held the same 21,025 entity and 13
|
||||
animation-owner counts as the earlier Caul return, with update-frame p95 at
|
||||
0.8 ms; working/private memory increased by 112.2/111.0 MiB across that retained
|
||||
route, inside the existing deterministic gate. The soak's only diagnostics were
|
||||
35 known DAT-driven missing VFX table/emitter records and the same 25 expected
|
||||
world-edge misses. The divergence audit keeps TS-50, TS-51, and TS-53 unchanged
|
||||
and found no new behavior adaptation. Final `GameWindow` size is 7,026 raw
|
||||
lines / 241 fields / 108 methods, versus 8,811 / 247 / 153 at Slice 6 entry and
|
||||
15,723 / 278 / 205 at the campaign baseline.
|
||||
|
||||
## 6. Review gate for every checkpoint
|
||||
|
||||
After each implementation checkpoint:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue