docs(architecture): record GameWindow automated closeout
Reconcile the architecture, roadmap, milestones, issue ledger, session instructions, and durable memory with the 1,622-line native shell, canonical soak evidence, connected framebuffer comparison, and sole remaining user visual gate. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
69650b1946
commit
5c955c36ec
11 changed files with 239 additions and 201 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# acdream — strategic roadmap
|
||||
|
||||
**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–7 and Slice 8 checkpoints A–J are complete, with only canonical soak instrumentation and final closeout checkpoints K–L 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.
|
||||
**Status:** Living document. Updated 2026-07-22. **M3 landed; M4 is next after the final `GameWindow` visual handoff.** 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. All eight slices of the behavior-preserving ownership campaign in [`docs/architecture/code-structure.md`](../architecture/code-structure.md) and their automated closeout are complete; only the user's connected visual matrix remains. 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.
|
||||
|
||||
---
|
||||
|
|
@ -108,11 +108,15 @@ now 1,945 raw lines after I.9 makes production invoke the same typed pipeline
|
|||
as the failure oracle and keeps session start terminal. Checkpoint J extracts
|
||||
the exact shutdown dependency graph into `GameWindowLifetime`, with typed
|
||||
immutable roots, hard session/GPU barriers, reportable physical cleanup,
|
||||
retry/no-replay state, and native-window-last terminal reporting. The host is
|
||||
now 1,625 raw lines. Only canonical soak snapshots and closeout checkpoints
|
||||
K–L remain. The App gate passes 3,441 tests / 3 intentional skips, the complete
|
||||
Release suite passes 7,813 tests / 5 skips, and the complete Checkpoint-J
|
||||
corrected-diff review is clean.
|
||||
retry/no-replay state, and native-window-last terminal reporting. The host was
|
||||
1,625 raw lines after J.
|
||||
|
||||
Checkpoint K adds deferred, acknowledged, same-frame canonical resource
|
||||
snapshots and closes #232 through two clean fresh-process nine-stop routes.
|
||||
The shell is 1,622 raw lines. All 293 focused tests, App Release 3,451/3, the
|
||||
complete Release suite 7,823/5, connected lifecycle/reconnect, both canonical
|
||||
soaks, three corrected-diff reviews, and the exact Slice-7 framebuffer
|
||||
comparison pass. Only the user's final connected visual matrix remains.
|
||||
|
||||
This is a behavior-preserving structural program. Severe regressions still get
|
||||
root-cause fixes in separate commits; ordinary feature work resumes with M4
|
||||
|
|
|
|||
|
|
@ -68,10 +68,14 @@ tested pipeline with explicit prior-result dependencies. Checkpoint J adds the
|
|||
focused `GameWindowLifetime`, immutable typed shutdown roots, hard dependency
|
||||
barriers, structured report-and-continue physical cleanup, retry/no-replay
|
||||
state, and native-window-last terminal reporting. The host is now 1,625 raw
|
||||
lines. Checkpoints K–L remain active; Issue #232 tracks process-residency
|
||||
variance in the soak without loosening its leak threshold. The App gate passes
|
||||
3,441 tests / 3 skips, the complete Release suite passes 7,813 tests / 5 skips,
|
||||
and the complete Checkpoint-J corrected-diff review is clean.
|
||||
lines after J. Checkpoint K adds deferred same-frame canonical owner snapshots
|
||||
and closes #232 through two clean 403-second fresh-process nine-stop routes
|
||||
without loosening the process thresholds. The automated Slice 8 closeout is
|
||||
complete: `GameWindow` is 1,622 raw lines; 293 focused tests, App Release
|
||||
3,451/3, the complete Release suite 7,823/5, lifecycle/reconnect, both
|
||||
canonical soaks, all three corrected-diff reviews, and the Slice-7 framebuffer
|
||||
comparison pass. Only the user's final connected visual matrix remains before
|
||||
new M4 feature bodies begin.
|
||||
|
||||
Carried:
|
||||
#153 far-teleport residual, #116 slide-response, the remaining R6 ownership cleanup plus
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
# GameWindow Slice 8 Checkpoint K — canonical soak snapshots
|
||||
|
||||
**Status:** Active 2026-07-22.
|
||||
**Status:** Complete 2026-07-22 (`bca41487`, corrected gate semantics
|
||||
`6c5e0604`).
|
||||
**Parent:**
|
||||
[`2026-07-22-gamewindow-slice-8-composition-lifecycle.md`](2026-07-22-gamewindow-slice-8-composition-lifecycle.md),
|
||||
Checkpoint K.
|
||||
**Integrated baseline:** `31e6e192`; Checkpoints I–J are complete,
|
||||
`GameWindow.cs` is 1,625 raw lines, App Release passes 3,441 tests / 3 skips,
|
||||
and the complete Release suite passes 7,813 tests / 5 skips.
|
||||
**Integrated result:** `GameWindow.cs` is 1,622 raw lines, App Release passes
|
||||
3,451 tests / 3 skips, and the complete Release suite passes 7,823 tests / 5
|
||||
skips.
|
||||
**Issue:** [`#232`](../ISSUES.md#232--nine-stop-soak-process-memory-gate-lacks-canonical-owner-snapshots).
|
||||
**Behavior rule:** this checkpoint changes diagnostic capture and connected-gate
|
||||
evidence only. It does not change rendering, streaming, gameplay, resource
|
||||
|
|
@ -198,3 +199,27 @@ for-byte unchanged as the secondary residency/performance guard.
|
|||
|
||||
No visual gate is required for K because it changes diagnostic observation
|
||||
only. Checkpoint L owns the final connected framebuffer and user visual gate.
|
||||
|
||||
## 6. Completion evidence
|
||||
|
||||
The focused checkpoint suite passes 74 tests. The Release build succeeds with
|
||||
only the 17 pre-existing test-project warnings tracked by #228. Two independent
|
||||
fresh-process routes produced all nine ordered render-frame checkpoints and
|
||||
closed gracefully:
|
||||
|
||||
- `connected-r6-soak-20260722-201335.report.json`: 403.139 seconds; Caul
|
||||
return-to-plateau working/private deltas +20.2/+10.3 MiB; update p95 1.5 ms.
|
||||
- `connected-r6-soak-20260722-202025.report.json`: 403.021 seconds; Caul
|
||||
return-to-plateau working/private deltas +165.0/+157.2 MiB; update p95 1.3 ms.
|
||||
|
||||
Every checkpoint had zero pending teardown/retirement, staged upload work, and
|
||||
composite warmup work. Neither run found unconfounded canonical owner growth,
|
||||
and both passed the unchanged process-residency and performance limits.
|
||||
|
||||
The first connected implementation run also proved that exact cache equality
|
||||
was the wrong leak predicate: visible landblocks and authoritative entities
|
||||
changed while mesh/GPU/cache owner counts decreased through legitimate
|
||||
retirement. The corrected contract therefore hard-fails owner *growth* when
|
||||
the workload is stable, reports named growth warnings when the authoritative
|
||||
or visible workload changed, and permits shrinking. It does not weaken the
|
||||
process limits or hide an identified owner leak.
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
# GameWindow Slice 8 Checkpoint L — campaign closeout
|
||||
|
||||
**Status:** Active 2026-07-22.
|
||||
**Status:** Automated closeout complete 2026-07-22; final user visual matrix
|
||||
pending.
|
||||
**Parent:**
|
||||
[`2026-07-22-gamewindow-slice-8-composition-lifecycle.md`](2026-07-22-gamewindow-slice-8-composition-lifecycle.md),
|
||||
Checkpoint L.
|
||||
Checkpoint L.
|
||||
**Integrated baseline:** `6c5e0604`; Checkpoints A–K are implemented.
|
||||
`GameWindow.cs` is 1,622 raw lines, App Release passes 3,451 tests / 3
|
||||
intentional skips, and the complete Release suite passes 7,823 tests / 5
|
||||
intentional skips. Two fresh-process canonical nine-stop soaks pass with
|
||||
graceful exits and the unchanged residency/performance limits.
|
||||
graceful exits and the unchanged residency/performance limits.
|
||||
**Behavior rule:** L proves and records the shipped ownership state. It may
|
||||
correct documentation, test/gate coverage, or a defect demonstrated by the
|
||||
audit, but it does not add gameplay, alter retail behavior, loosen a gate, or
|
||||
|
|
@ -124,3 +125,36 @@ spellbook panel; outdoor/building/dungeon/portal/paperdoll/particle/alpha
|
|||
presentation; graceful close and fresh reconnect. Only that confirmation marks
|
||||
L and the overall structural campaign complete.
|
||||
|
||||
## 5. Automated closeout evidence
|
||||
|
||||
- The final host is 1,622 raw lines. Source-boundary inspection finds no AC
|
||||
algorithm, packet builder, entity scan, render graph, animation-part
|
||||
composer, or stored `GameWindow` back-reference in an extracted owner.
|
||||
- All 293 focused Slice 8 ownership, composition, callback, frame, lifetime,
|
||||
automation, and source-boundary tests pass. App Release passes 3,451 tests / 3
|
||||
intentional skips; the complete Release suite passes 7,823 / 5. The build's
|
||||
17 test-project warnings are the unchanged #228 set.
|
||||
- The connected lifecycle/reconnect gate passed in 314.4 seconds with graceful
|
||||
capped and uncapped exits. Its uncapped reconnect reached 174.74 FPS / 5.72
|
||||
ms at the final checkpoint. All six PNG artifacts are valid; the only route
|
||||
warning is the expected 25 world-edge empty-landblock misses.
|
||||
- Both Checkpoint-K nine-stop reports passed in about 403 seconds, produced the
|
||||
exact names/sequences/process identity, and found no unconfounded canonical
|
||||
owner growth under the unchanged residency/performance limits.
|
||||
- The six current lifecycle PNGs were compared against artifacts rebuilt from
|
||||
exact accepted Slice 7 commit `9d7df1bf` in an isolated worktree. The five
|
||||
deterministic destinations preserve geometry, UI/paperdoll layering,
|
||||
private viewports, depth/alpha, and world reveal. Facility Hub was nearly
|
||||
pixel-identical (mean absolute RGB delta 0.91/255); the Aerlinthe captures
|
||||
were 3.42 and 3.87/255. Holtburg and reconnect differences are live
|
||||
entities, particles, vitals, and sub-frame camera timing. Capped login used a
|
||||
different server-saved location and was checked only for complete rendering
|
||||
and presentation layering.
|
||||
- Three corrected-diff reviews are clean: behavior/retail boundary,
|
||||
architecture/ownership, and adversarial lifecycle/failure handling. The
|
||||
divergence audit found no new runtime behavior in K or L and requires no
|
||||
register change.
|
||||
|
||||
The generated reports, screenshots, and disposable baseline worktree are
|
||||
untracked evidence. The user's unrelated `TransitionTypes.cs` edit was not
|
||||
modified or staged.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
# GameWindow Slice 8 — composition and lifecycle shell
|
||||
|
||||
**Status:** Active 2026-07-22.
|
||||
**Status:** Automated implementation and closeout complete 2026-07-22; final
|
||||
user visual matrix pending.
|
||||
**Parent program:** [`docs/architecture/code-structure.md`](../architecture/code-structure.md), Slice 8.
|
||||
**Baseline:** `96f8bfcf`; `GameWindow.cs` is 4,666 raw lines, 196 fields, and
|
||||
70 methods. The Release suite passes 7,341 tests / 5 fixture or environment
|
||||
|
|
@ -35,19 +36,21 @@ audit.
|
|||
- [x] J — move the exact retryable shutdown manifest to a focused lifetime
|
||||
owner and prove all partial-load/reentrant/retry paths. Detailed plan:
|
||||
[`2026-07-22-gamewindow-slice-8-checkpoint-j-lifetime-shutdown.md`](2026-07-22-gamewindow-slice-8-checkpoint-j-lifetime-shutdown.md).
|
||||
- [ ] K — in a separate #232 commit, add canonical owner snapshots to every soak
|
||||
- [x] K — in separate #232 commits, add canonical owner snapshots to every soak
|
||||
checkpoint without weakening the process-memory guard. Detailed plan:
|
||||
[`2026-07-22-gamewindow-slice-8-checkpoint-k-canonical-soak.md`](2026-07-22-gamewindow-slice-8-checkpoint-k-canonical-soak.md).
|
||||
- [ ] L — corrected-diff reviews, focused and full Release gates, connected
|
||||
lifecycle/soak, framebuffer comparison, documentation, memory, and final
|
||||
visual handoff. Detailed plan:
|
||||
lifecycle/soak, framebuffer comparison, documentation, and memory are
|
||||
complete; only the final user visual handoff remains. Detailed plan:
|
||||
[`2026-07-22-gamewindow-slice-8-checkpoint-l-closeout.md`](2026-07-22-gamewindow-slice-8-checkpoint-l-closeout.md).
|
||||
|
||||
Checkpoint J leaves `GameWindow.cs` at 1,625 raw lines. The focused lifetime
|
||||
owner now holds the typed shutdown roots, exact 18-stage dependency manifest,
|
||||
Checkpoint K leaves `GameWindow.cs` at 1,622 raw lines. The focused lifetime
|
||||
owner holds the typed shutdown roots, exact 18-stage dependency manifest,
|
||||
retry/no-replay state, structured soft-cleanup failures, hard-barrier fallback,
|
||||
and native-window-last release. App Release passes 3,441 tests / 3 skips and
|
||||
the complete Release suite passes 7,813 / 5 skips. Checkpoint K is next.
|
||||
and native-window-last release. Deferred same-frame checkpoint capture and two
|
||||
fresh-process nine-stop routes close #232 without weakening the residency
|
||||
guard. App Release passes 3,451 tests / 3 skips and the complete Release suite
|
||||
passes 7,823 / 5 skips. All automated Checkpoint-L gates are complete.
|
||||
|
||||
Each checked checkpoint lands as a bisectable commit. A checkpoint is not done
|
||||
while a new class delegates a substantial body back into `GameWindow`, stores
|
||||
|
|
@ -704,6 +707,14 @@ complete Release suite passes 7,813 / 5 skips.
|
|||
residency guard with unchanged thresholds. Require two fresh-process clean
|
||||
route runs before closing #232.
|
||||
|
||||
Result: deferred acknowledged checkpoints now drain after current-frame render
|
||||
diagnostics, persist the exact frame outcome plus canonical resource owners,
|
||||
and block the script until both artifacts commit. Seventy-four focused tests,
|
||||
App Release, the full Release suite, and two 403-second fresh-process routes
|
||||
pass. Every route produced the exact nine checkpoints, zero pending/staged/
|
||||
warmup work, no unconfounded canonical owner growth, graceful exit, and the
|
||||
unchanged process/performance limits. Commits: `bca41487`, `6c5e0604`.
|
||||
|
||||
### L — final closeout
|
||||
|
||||
- Run three independent corrected-diff reviews: retail conformance,
|
||||
|
|
@ -717,6 +728,14 @@ complete Release suite passes 7,813 / 5 skips.
|
|||
- Update architecture, milestones, roadmap, issues, AGENTS/CLAUDE, and durable
|
||||
memory with final metrics and exact gates.
|
||||
|
||||
Automated result: 293 focused tests and the 7,823/5 complete Release suite
|
||||
pass. The 314.4-second capped/reconnect lifecycle route passes with six valid
|
||||
PNGs and graceful exits. Its current deterministic frames preserve Slice 7
|
||||
commit `9d7df1bf` geometry, UI/paperdoll layering, private viewports,
|
||||
depth/alpha, and reveal; live entity/particle/vitals/camera timing account for
|
||||
the accepted differences. All three final corrected-diff reviews are clean.
|
||||
The user's connected visual matrix is the sole remaining acceptance item.
|
||||
|
||||
## 5. Automated acceptance
|
||||
|
||||
- exact window callback attach order, reverse detach, rollback, reentrancy, and
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue