docs(architecture): plan GameWindow campaign closeout
Pin the final host-boundary audit, three corrected-diff reviews, full Release and connected gates, exact Slice 7 framebuffer reconstruction, project reconciliation, and sole remaining user visual handoff. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
6c5e0604c9
commit
69650b1946
2 changed files with 128 additions and 1 deletions
|
|
@ -0,0 +1,126 @@
|
||||||
|
# GameWindow Slice 8 Checkpoint L — campaign closeout
|
||||||
|
|
||||||
|
**Status:** Active 2026-07-22.
|
||||||
|
**Parent:**
|
||||||
|
[`2026-07-22-gamewindow-slice-8-composition-lifecycle.md`](2026-07-22-gamewindow-slice-8-composition-lifecycle.md),
|
||||||
|
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.
|
||||||
|
**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
|
||||||
|
perform the separately deferred `GameEntity` aggregation.
|
||||||
|
|
||||||
|
## 1. Outcome
|
||||||
|
|
||||||
|
Close the eight-slice thin-`GameWindow` campaign only after every exit
|
||||||
|
criterion has current evidence:
|
||||||
|
|
||||||
|
- the host is a native construction/callback shell with no AC gameplay
|
||||||
|
algorithm, entity scan, packet builder, DAT landblock builder,
|
||||||
|
animation-part composer, or draw-graph body;
|
||||||
|
- update, render, input, session, framebuffer, and shutdown callbacks are
|
||||||
|
narrow typed handoffs;
|
||||||
|
- startup and shutdown have one ordered, transactional, retryable ownership
|
||||||
|
graph without a service locator or callback facade into the host;
|
||||||
|
- extracted owners have focused tests and symmetric teardown;
|
||||||
|
- the Release build/test, connected lifecycle/reconnect, canonical soak, and
|
||||||
|
framebuffer gates preserve the accepted behavior;
|
||||||
|
- architecture, roadmap, milestones, issues, divergence bookkeeping, durable
|
||||||
|
memory, and both session instruction files agree with the code.
|
||||||
|
|
||||||
|
Line count is reported as a structural signal, not substituted for those
|
||||||
|
ownership requirements.
|
||||||
|
|
||||||
|
## 2. Completion audit
|
||||||
|
|
||||||
|
### 2.1 Host boundary and dependency direction
|
||||||
|
|
||||||
|
Measure raw lines, fields, methods, and the remaining callback bodies from the
|
||||||
|
actual source. Run the Slice 8 boundary/source-shape suites and inspect every
|
||||||
|
remaining `GameWindow` method. Search for prohibited network packet assembly,
|
||||||
|
entity/world scans, DAT build loops, part-transform composition, render graph
|
||||||
|
bodies, direct environment reads, and anonymous device subscriptions. Any
|
||||||
|
substantial body or callback into the host reopens the responsible checkpoint;
|
||||||
|
it is not waived because the file is below the target size.
|
||||||
|
|
||||||
|
Verify the composed owners and their tests cover:
|
||||||
|
|
||||||
|
- ordered partial-load rollback and terminal session start;
|
||||||
|
- exact frame-pair publication and one update/render handoff;
|
||||||
|
- logical callback cutoff before session retirement and physical detach;
|
||||||
|
- hard session/GPU shutdown barriers, soft physical-cleanup reporting,
|
||||||
|
retry/no-replay progress, and native-window-last release;
|
||||||
|
- deferred checkpoint acknowledgement, same-frame post-diagnostics capture,
|
||||||
|
FIFO order, cancellation, and shutdown.
|
||||||
|
|
||||||
|
### 2.2 Three corrected-diff review passes
|
||||||
|
|
||||||
|
Review the complete Slice 8 diff and final source in three independent passes:
|
||||||
|
|
||||||
|
1. **Behavior/retail boundary:** no input, session, update/render, UI, camera,
|
||||||
|
settings, teleport, or gameplay behavior was silently redesigned; every
|
||||||
|
retained adaptation remains registered.
|
||||||
|
2. **Architecture/ownership:** no duplicate canonical state, broad runtime bag,
|
||||||
|
window back-reference, leaked subscription, conflicting disposer, or layer
|
||||||
|
inversion; all ownership transfer and teardown paths are symmetric.
|
||||||
|
3. **Adversarial failure:** partial acquisition at every phase, callback
|
||||||
|
concurrency, repeated/reentrant close, failed detach, session/GPU barrier
|
||||||
|
failure, deferred render failure, checkpoint cancellation, and process/GUID
|
||||||
|
reuse cannot strand or replay work.
|
||||||
|
|
||||||
|
Confirmed findings are fixed at their owner and all affected gates are rerun.
|
||||||
|
|
||||||
|
## 3. Automated and connected gates
|
||||||
|
|
||||||
|
Run, in order:
|
||||||
|
|
||||||
|
1. focused Slice 8 composition, callback, settings, frame, lifetime,
|
||||||
|
automation, and source-boundary tests;
|
||||||
|
2. App Release;
|
||||||
|
3. `dotnet build AcDream.slnx -c Release --no-restore`;
|
||||||
|
4. the complete Release suite;
|
||||||
|
5. `tools/run-connected-world-lifecycle-gate.ps1 -SkipBuild`, requiring the
|
||||||
|
capped six-stop lifecycle, exact semantic checkpoints, five capped PNGs,
|
||||||
|
code-zero authoritative graceful close, and immediate uncapped fresh-process
|
||||||
|
reconnect with its sixth PNG;
|
||||||
|
6. consume the two Checkpoint-K fresh-process nine-stop reports, requiring
|
||||||
|
exact nine-name/sequence/process identity, zero pending teardown/retirement,
|
||||||
|
staging and warmup work, no unconfounded canonical owner growth, unchanged
|
||||||
|
process/update/allocation limits, and graceful exit;
|
||||||
|
7. compare the six current lifecycle/reconnect PNGs with the accepted Slice 7
|
||||||
|
`9d7df1bf` baseline. If the old generated artifacts are absent, reconstruct
|
||||||
|
them from that exact commit in an isolated disposable worktree rather than
|
||||||
|
inventing a new baseline. Accept only live weather/particle timing,
|
||||||
|
authoritative vitals, and sub-frame camera-settling differences; geometry,
|
||||||
|
UI/paperdoll layering, private viewports, alpha/depth, and world reveal must
|
||||||
|
remain equivalent.
|
||||||
|
|
||||||
|
Generated logs and the isolated baseline worktree are evidence only and remain
|
||||||
|
untracked. The user's unrelated `TransitionTypes.cs` edit remains untouched.
|
||||||
|
|
||||||
|
## 4. Reconciliation and handoff
|
||||||
|
|
||||||
|
After all nonvisual evidence is green:
|
||||||
|
|
||||||
|
- mark K and the automated portion of L in the parent ledger;
|
||||||
|
- close #232 with both canonical soak reports and preserve #225, #153, #116,
|
||||||
|
#228, TS-50/TS-51/TS-53, and other carried work at their true scope;
|
||||||
|
- update `code-structure.md`, the architecture, roadmap, milestones,
|
||||||
|
`AGENTS.md`, `CLAUDE.md`, and `memory/project_gamewindow_decomposition.md`
|
||||||
|
with the same counts, commits, gates, next-work boundary, and do-not-retry
|
||||||
|
lessons;
|
||||||
|
- audit the retail divergence register and add/remove no row unless runtime
|
||||||
|
behavior actually changed;
|
||||||
|
- commit the evidence/doc closeout as a bisectable unit and rerun final
|
||||||
|
source/status checks.
|
||||||
|
|
||||||
|
The sole remaining pause is the user's connected visual matrix: first login
|
||||||
|
and radar; movement/mouse/resize/focus/combat; the shared inventory/skills/
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
@ -40,7 +40,8 @@ audit.
|
||||||
[`2026-07-22-gamewindow-slice-8-checkpoint-k-canonical-soak.md`](2026-07-22-gamewindow-slice-8-checkpoint-k-canonical-soak.md).
|
[`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
|
- [ ] L — corrected-diff reviews, focused and full Release gates, connected
|
||||||
lifecycle/soak, framebuffer comparison, documentation, memory, and final
|
lifecycle/soak, framebuffer comparison, documentation, memory, and final
|
||||||
visual handoff.
|
visual handoff. 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
|
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,
|
owner now holds the typed shutdown roots, exact 18-stage dependency manifest,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue