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).
|
||||
- [ ] L — corrected-diff reviews, focused and full Release gates, connected
|
||||
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
|
||||
owner now holds the typed shutdown roots, exact 18-stage dependency manifest,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue