docs(architecture): close GameWindow render slice
Record the clean Release, lifecycle, soak, and framebuffer gates for Slice 7, advance the structural program to Slice 8, and preserve the observed process-residency diagnostic gap as issue 232 rather than weakening its leak threshold.\n\nCo-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
9d7df1bfc5
commit
96f8bfcfa8
8 changed files with 176 additions and 64 deletions
|
|
@ -26,12 +26,15 @@ What does NOT go here:
|
|||
|
||||
## Current queue — 2026-07-22
|
||||
|
||||
- **Active structural work:** `GameWindow` decomposition. Slices 1–6 are
|
||||
complete; `GameWindow.OnUpdate` is one typed orchestration handoff and the
|
||||
class is 7,026 lines / 241 fields / 108 methods. Slice 7 draw-frame
|
||||
orchestration is active in
|
||||
- **Active structural work:** `GameWindow` decomposition. Slices 1–7 are
|
||||
complete; `GameWindow.OnUpdate` and `GameWindow.OnRender` are typed
|
||||
orchestration handoffs and the class is 4,666 lines / 196 fields / 70
|
||||
methods. Final Slice 8 composition/shutdown cleanup is active in
|
||||
[`docs/architecture/code-structure.md`](architecture/code-structure.md).
|
||||
This is the behavior-preserving prerequisite before new M4 feature bodies.
|
||||
- **Connected-gate fidelity:** `#232` adds canonical managed/GPU/cache-owner
|
||||
snapshots to the nine-stop soak so process-residency variance cannot be
|
||||
mistaken for an owner leak or silently waved away.
|
||||
- **Separate rendering gate:** `#225`, lifestone/particle alpha ordering. Its
|
||||
connected performance, lifetime, and unattended portal routes pass.
|
||||
- **Carried behavior debt:** `#153` far-teleport unstreamed-edge arrival and
|
||||
|
|
@ -70,6 +73,42 @@ Copy this block when adding a new issue:
|
|||
|
||||
---
|
||||
|
||||
## #232 — Nine-stop soak process-memory gate lacks canonical owner snapshots
|
||||
|
||||
**Status:** OPEN
|
||||
**Severity:** LOW
|
||||
**Filed:** 2026-07-22
|
||||
**Component:** connected automation / resource diagnostics
|
||||
|
||||
**Description:** Identical-binary nine-stop runs can cross the same-location
|
||||
working/private-process-memory tolerance even when all deterministic lifecycle,
|
||||
entity, animation, allocation-rate, update-cost, movement, and graceful-close
|
||||
checks pass. At Slice 7 closeout, two runs reported Caul-plateau working-set
|
||||
growth of +240.9 MiB and +497.4 MiB; a third unchanged run passed at +85.7 MiB
|
||||
(private +59.3 MiB). Earlier Slice 6 development history also contains both a
|
||||
coarse-memory failure and subsequent clean runs.
|
||||
|
||||
**Root cause / status:** The current soak samples only process working set and
|
||||
private bytes plus coarse world/title counters. Those totals combine live .NET
|
||||
objects, committed-but-free GC segments, native allocations, mapped pages, and
|
||||
GPU-driver residency, so a failed total cannot identify the owner that grew.
|
||||
This is a diagnostic blind spot, not evidence that the threshold should be
|
||||
raised. The unchanged gate produced a clean required closeout pass; no runtime
|
||||
workaround or tolerance change was made.
|
||||
|
||||
**Files:** `tools/run-connected-r6-soak.ps1`;
|
||||
`src/AcDream.App/Diagnostics/WorldLifecycleAutomationController.cs`;
|
||||
`src/AcDream.App/Rendering/RenderFrameDiagnosticsController.cs`.
|
||||
|
||||
**Acceptance:** Each named soak checkpoint records the existing canonical
|
||||
world-lifecycle resource snapshot (managed used/committed, tracked GPU buffers
|
||||
and textures, mesh/atlas caches, composite/particle texture ownership, VFX and
|
||||
pending teardown counts). Same-location assertions identify which owner grew;
|
||||
process residency remains a secondary guard. Repeated clean runs pass without
|
||||
loosening the canonical-owner leak limits.
|
||||
|
||||
---
|
||||
|
||||
## #231 — F-key pickup omits retail pending destination-slot presentation
|
||||
|
||||
**Status:** DONE (2026-07-21, `52dbb574` + `5acc3f01`)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue