docs(rendering): close retained-scene G5
Record the exact visual, route, lifecycle, production CPU/GPU/memory, and allocation evidence for retiring the normal InteriorEntityPartition. Reconcile the roadmap, milestones, shared session instructions, and Slice I handoff so the measured transition/query scratch remainder has one owner. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
14fbe92b08
commit
2effba5127
8 changed files with 173 additions and 95 deletions
20
AGENTS.md
20
AGENTS.md
|
|
@ -116,7 +116,7 @@ user-gated. Deterministic world-lifecycle automation protects fresh login,
|
|||
outdoor/world-edge/dungeon travel, same-location revisit, exact graceful
|
||||
disconnect, and uncapped fresh-process reconnect with JSON/PNG artifacts.
|
||||
Release builds; the current performance-program checkpoint passes
|
||||
3,674 App tests / 3 skips and 8,158 complete-solution tests / 5 skips.
|
||||
3,826 App tests / 3 skips and 8,335 complete-solution tests / 5 skips.
|
||||
|
||||
**M4 feature work order (paused while the authorized performance program
|
||||
executes):** the six-slice pre-M4 world-interaction completion
|
||||
|
|
@ -133,7 +133,7 @@ scarab/prismatic formula, DAT component icons, and authored 310 x 400 extent.
|
|||
|
||||
**Current active engineering work:** complete Slices D–L of
|
||||
`docs/plans/2026-07-24-modern-runtime-architecture.md` under the recorded
|
||||
approval interlocks. Slices A–F and Slice H completed by 2026-07-25.
|
||||
approval interlocks. Slices A–H completed by 2026-07-25.
|
||||
Production world-mesh streaming now consumes the validated machine-local
|
||||
`acdream.pak` through `IPreparedAssetSource`; live DAT extraction remains
|
||||
explicit bake/equivalence/UI-Studio tooling. Capped, uncapped, dense-Arwic,
|
||||
|
|
@ -151,16 +151,20 @@ deterministic/resource suites, Release build, complete tests, capped/uncapped
|
|||
nine-stop routes, and pinned dense Arwic pass on exact binary `91e82c3c`.
|
||||
Every checkpoint converged without pending publication, retirement, upload,
|
||||
warmup, or class backlog. The user explicitly approved Slices F–L, including
|
||||
the F/G ECS and Slice J gameplay-owner gates, on 2026-07-24. G0–G4 are
|
||||
implemented and G4's 46,599-comparison automated gate has zero mismatches; its
|
||||
physical-display visual acceptance and G5 old-path deletion remain pending.
|
||||
the F/G ECS and Slice J gameplay-owner gates, on 2026-07-24. G0–G5 are
|
||||
complete. G4's 46,599-comparison automated gate has zero mismatches, the user
|
||||
accepted the physical-display visual matrix, and G5 removed the production
|
||||
`InteriorEntityPartition`. The ordinary production profile sustains 519.7 FPS
|
||||
with CPU/GPU p50 1.869/1.096 ms and 652.1/928.3 MiB working/private memory.
|
||||
The measured 22.34 KiB/frame remainder is assigned to Slice I1.
|
||||
Slice H's retained UI/frame, bounded-light, and pooled/borrowed/direct network
|
||||
work is complete; 8,292 Release tests / 5 skips and the seven-checkpoint
|
||||
connected lifecycle/reconnect gate pass. Slice I is active from
|
||||
work is complete; the exact seven-checkpoint connected lifecycle/reconnect gate
|
||||
passes. Slice I is active at I1 from
|
||||
`docs/plans/2026-07-25-modern-runtime-slice-i.md`. The exact G4 visual rollback
|
||||
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
||||
the portal-warmup corrections. Evidence:
|
||||
`docs/research/2026-07-25-slice-h-closeout.md`.
|
||||
`docs/research/2026-07-25-slice-h-closeout.md` and
|
||||
`docs/research/2026-07-25-slice-g5-production-profile.md`.
|
||||
|
||||
**Structural prerequisite before new M4 subsystem work:** all eight
|
||||
behavior-preserving `GameWindow` decomposition slices and the automated
|
||||
|
|
|
|||
20
CLAUDE.md
20
CLAUDE.md
|
|
@ -114,7 +114,7 @@ user-gated. Deterministic world-lifecycle automation protects fresh login,
|
|||
outdoor/world-edge/dungeon travel, same-location revisit, exact graceful
|
||||
disconnect, and uncapped fresh-process reconnect with JSON/PNG artifacts.
|
||||
Release builds; the current performance-program checkpoint passes
|
||||
3,674 App tests / 3 skips and 8,158 complete-solution tests / 5 skips.
|
||||
3,826 App tests / 3 skips and 8,335 complete-solution tests / 5 skips.
|
||||
|
||||
**M4 feature work order (paused while the authorized performance program
|
||||
executes):** the six-slice pre-M4 world-interaction completion
|
||||
|
|
@ -131,7 +131,7 @@ scarab/prismatic formula, DAT component icons, and authored 310 x 400 extent.
|
|||
|
||||
**Current active engineering work:** complete Slices D–L of
|
||||
`docs/plans/2026-07-24-modern-runtime-architecture.md` under the recorded
|
||||
approval interlocks. Slices A–F and Slice H completed by 2026-07-25.
|
||||
approval interlocks. Slices A–H completed by 2026-07-25.
|
||||
Production world-mesh streaming now consumes the validated machine-local
|
||||
`acdream.pak` through `IPreparedAssetSource`; live DAT extraction remains
|
||||
explicit bake/equivalence/UI-Studio tooling. Capped, uncapped, dense-Arwic,
|
||||
|
|
@ -149,16 +149,20 @@ deterministic/resource suites, Release build, complete tests, capped/uncapped
|
|||
nine-stop routes, and pinned dense Arwic pass on exact binary `91e82c3c`.
|
||||
Every checkpoint converged without pending publication, retirement, upload,
|
||||
warmup, or class backlog. The user explicitly approved Slices F–L, including
|
||||
the F/G ECS and Slice J gameplay-owner gates, on 2026-07-24. G0–G4 are
|
||||
implemented and G4's 46,599-comparison automated gate has zero mismatches; its
|
||||
physical-display visual acceptance and G5 old-path deletion remain pending.
|
||||
the F/G ECS and Slice J gameplay-owner gates, on 2026-07-24. G0–G5 are
|
||||
complete. G4's 46,599-comparison automated gate has zero mismatches, the user
|
||||
accepted the physical-display visual matrix, and G5 removed the production
|
||||
`InteriorEntityPartition`. The ordinary production profile sustains 519.7 FPS
|
||||
with CPU/GPU p50 1.869/1.096 ms and 652.1/928.3 MiB working/private memory.
|
||||
The measured 22.34 KiB/frame remainder is assigned to Slice I1.
|
||||
Slice H's retained UI/frame, bounded-light, and pooled/borrowed/direct network
|
||||
work is complete; 8,292 Release tests / 5 skips and the seven-checkpoint
|
||||
connected lifecycle/reconnect gate pass. Slice I is active from
|
||||
work is complete; the exact seven-checkpoint connected lifecycle/reconnect gate
|
||||
passes. Slice I is active at I1 from
|
||||
`docs/plans/2026-07-25-modern-runtime-slice-i.md`. The exact G4 visual rollback
|
||||
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
||||
the portal-warmup corrections. Evidence:
|
||||
`docs/research/2026-07-25-slice-h-closeout.md`.
|
||||
`docs/research/2026-07-25-slice-h-closeout.md` and
|
||||
`docs/research/2026-07-25-slice-g5-production-profile.md`.
|
||||
|
||||
**Structural prerequisite before new M4 subsystem work:** all eight
|
||||
behavior-preserving `GameWindow` decomposition slices and the automated
|
||||
|
|
|
|||
|
|
@ -1642,16 +1642,19 @@ port in any phase — no separate listing here.
|
|||
> reverted. The reapplied retained source subsequently passed the connected
|
||||
> portal/revisit matrix on 2026-07-25, including stable server objects and
|
||||
> paperdoll, distant interaction, and correct `/ls` plus spell-recall
|
||||
> materialization. G4 is complete. G5 cleanup is active: normal production no
|
||||
> materialization. G4 is complete. G5 is also complete: normal production no
|
||||
> longer builds `InteriorEntityPartition`; mesh and attached-particle ownership
|
||||
> come from the retained frame product. The exact production-only
|
||||
> performance/lifecycle matrix remains.
|
||||
> come from the retained frame product. The exact lifecycle/reconnect matrix,
|
||||
> capped/uncapped/dense correctness routes, and ordinary production profile
|
||||
> pass. The final stable ordinary-production minute sustains 519.7 FPS with
|
||||
> CPU/GPU p50 1.869/1.096 ms; the measured 22.34 KiB/frame remainder is the
|
||||
> active Slice-I transition/query-scratch owner.
|
||||
> The historical exact cutover
|
||||
> rollback remains
|
||||
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:
|
||||
> retained UI/frame work, exact bounded light selection, and
|
||||
> pooled/borrowed/direct network I/O pass 8,292 Release tests / 5 skips and the
|
||||
> connected lifecycle/reconnect gate. Slice I is active from
|
||||
> connected lifecycle/reconnect gate. Slice I is active at I1 from
|
||||
> [its detailed plan](2026-07-25-modern-runtime-slice-i.md).
|
||||
|
||||
**Spec:** `docs/superpowers/specs/2026-07-05-modern-pipeline-design.md` (the
|
||||
|
|
|
|||
|
|
@ -110,14 +110,16 @@ CPU p99 is 34.7%/30.4% below Slice A and maximum frame allocation is
|
|||
the F/G ECS and Slice J gameplay-owner gates, on 2026-07-24. Slice F and
|
||||
G0–G4 are complete: G4's automated gate has zero mismatches and the user
|
||||
accepted the corrected retained-path portal/revisit matrix on 2026-07-25.
|
||||
G5 cleanup is active; normal production now routes meshes and attached
|
||||
particles from the retained frame product without building the old
|
||||
`InteriorEntityPartition`. Focused route tests, 3,825 App tests / 3 skips,
|
||||
and 8,334 solution tests / 5 skips pass. The exact production-only
|
||||
performance/lifecycle matrix remains before G5 closeout. Slice H is
|
||||
complete: retained UI/frame work, exact bounded light selection, and
|
||||
pooled/borrowed/direct network I/O pass 8,292 Release tests / 5 skips and the
|
||||
seven-checkpoint connected lifecycle/reconnect gate. Slice I is active under
|
||||
G5 is complete. Normal production routes meshes and attached particles from
|
||||
the retained frame product without building the old
|
||||
`InteriorEntityPartition`; the user visual matrix, capped/uncapped/dense
|
||||
correctness routes, exact seven-checkpoint lifecycle/reconnect gate, and
|
||||
ordinary production profile pass. The final stable production minute sustains
|
||||
519.7 FPS with CPU/GPU p50 1.869/1.096 ms and 22.34 KiB/frame allocation.
|
||||
The complete Release gate is 3,826 App tests / 3 skips and 8,335 solution
|
||||
tests / 5 skips. Slice H is complete: retained UI/frame work, exact bounded
|
||||
light selection, and pooled/borrowed/direct network I/O pass. Slice I is active
|
||||
at I1 under
|
||||
[`2026-07-25-modern-runtime-slice-i.md`](2026-07-25-modern-runtime-slice-i.md).
|
||||
The historical exact G4 visual rollback remains
|
||||
`git revert ef1d263337997bb030eadb7b8e71d73dc659907a`.
|
||||
|
|
|
|||
|
|
@ -2,9 +2,8 @@
|
|||
|
||||
**Date:** 2026-07-24
|
||||
|
||||
**Status:** Slices A–F and H are complete; G0–G4 and I0 are complete. Slices
|
||||
F–L were explicitly approved 2026-07-24; G5 production-matrix closeout is
|
||||
active.
|
||||
**Status:** Slices A–H and I0 are complete. Slices F–L were explicitly
|
||||
approved 2026-07-24; Slice I1 is active.
|
||||
|
||||
**Scope:** Reconcile and sequence the existing Modern Pipeline (`MP`) and
|
||||
Linux/headless (`LH`) tracks using the 2026-07-24 connected performance audit.
|
||||
|
|
@ -1184,21 +1183,23 @@ an improvement" carries the same evidence burden as a regression claim.
|
|||
|
||||
## 14. Current execution point
|
||||
|
||||
Slices A–E are complete. Slice E's exact physical-local Release binary
|
||||
produced uncapped CPU p50/p95/p99 1.216/4.216/5.450 ms and GPU
|
||||
0.725/2.486/2.666 ms across the nine-stop route. Dense Arwic, with 15,530
|
||||
entities and 111 animated entities, produced CPU 2.652/4.153/5.736 ms and GPU
|
||||
1.576/2.504/2.662 ms. Every stable checkpoint converged without pending
|
||||
publication, retirement, upload, warmup, or resource backlog.
|
||||
Slices A–H are complete. The retained render scene is now the sole production
|
||||
entity source: G5 removed the old whole-world `InteriorEntityPartition` from
|
||||
normal mesh and attached-particle routing while preserving it only for
|
||||
standalone tests and explicit diagnostic/oracle probes. The user accepted the
|
||||
retained-path visual matrix. Capped/uncapped/dense routes and the exact
|
||||
seven-checkpoint lifecycle/reconnect gate pass with graceful shutdown.
|
||||
|
||||
The dense median already satisfies the provisional 3.33 ms / 300 FPS target.
|
||||
CPU tail cost remains above GPU cost and the normal draw path still scans and
|
||||
partitions resident entities, so F/G can improve CPU utilization, scaling, and
|
||||
tail behavior, but a dramatic average-FPS gain is not promised. The
|
||||
implementation-ready F/G contract and ownership map are
|
||||
[`2026-07-24-modern-runtime-slices-f-g-render-scene.md`](2026-07-24-modern-runtime-slices-f-g-render-scene.md).
|
||||
The §0.1 and §0.3 gates were explicitly lifted 2026-07-24. Slice F is the
|
||||
current execution point; `e7d9d6fa` is the pre-runtime rollback anchor.
|
||||
The final ordinary-production minute on exact `14fbe92b` sustained 519.7 FPS:
|
||||
CPU p50/p95/p99 1.869/2.306/2.484 ms and GPU
|
||||
1.096/1.108/1.136 ms. Working/private memory was 652.1/928.3 MiB.
|
||||
Frame-thread allocation is now 22.34 KiB median; allocation-tick evidence and
|
||||
the four-mover baseline assign that remainder primarily to reset-complete
|
||||
`Transition` collision/query scratch. I0 has pinned the retail oracle and
|
||||
fixtures, so I1 is the current execution point. Evidence:
|
||||
[`../research/2026-07-25-slice-g5-production-profile.md`](../research/2026-07-25-slice-g5-production-profile.md)
|
||||
and
|
||||
[`2026-07-25-modern-runtime-slice-i.md`](2026-07-25-modern-runtime-slice-i.md).
|
||||
|
||||
The intended order is therefore:
|
||||
|
||||
|
|
@ -1208,10 +1209,10 @@ honest metrics + committed baselines (A — exit criteria block C)
|
|||
-> typed residence (D — unify/retune, not rebuild)
|
||||
-> cost-budgeted streaming (E)
|
||||
-> [APPROVED 2026-07-24: ECS deferral lifted under §0.1]
|
||||
-> incremental render scene (F — CURRENT; referee first)
|
||||
-> incremental render scene (F)
|
||||
-> delta GPU submission (G)
|
||||
-> residual frame cleanup (H-a, H-b, H-c)
|
||||
-> flat collision assets (I — floats; depends only on B)
|
||||
-> flat collision assets (I — CURRENT at I1)
|
||||
-> presentation-independent runtime (J — §0.3 authorization)
|
||||
-> Linux/headless/multi-session (K)
|
||||
-> evidence-gated GPU jobs (L)
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
|
||||
**Date:** 2026-07-24
|
||||
|
||||
**Status:** approved 2026-07-24; Slice F and G4 complete, G5 retained-route
|
||||
cleanup active
|
||||
**Status:** approved 2026-07-24; Slices F and G complete
|
||||
|
||||
**Program:** `docs/plans/2026-07-24-modern-runtime-architecture.md`
|
||||
|
||||
|
|
@ -29,7 +28,7 @@ retail-faithful gameplay
|
|||
| G2 — packed dispatcher input | complete | Exact `f9829d5f` passed capped and uncapped nine-stop routes plus dense Arwic. Candidate order, packed input, classified output, and selection each completed 16,879 + 17,282 + 770 comparisons with zero mismatch; journal/rejection counts were zero and shutdown graceful. Evidence: `docs/research/2026-07-25-slice-g2-packed-dispatcher-gate.md`. |
|
||||
| G3 — retained classification/storage | complete | Exact `6a026c5a` passed capped and uncapped nine-stop routes plus dense Arwic with 17,069 + 16,827 + 757 exact comparisons in every channel, zero mismatch, warm cross-frame reuse, and graceful shutdown. Evidence: `docs/research/2026-07-25-slice-g3-retained-classification-gate.md`. |
|
||||
| G4 — production cutover | complete | Exact cutover `ef1d263337997bb030eadb7b8e71d73dc659907a` makes the retained frame product the production entity source at the existing five retail PView stages. Exact `03b10183` passed capped/uncapped nine-stop and uncapped dense-Arwic automation with 46,599 total product comparisons and zero mismatch. After the independent portal/private-view/revisit corrections, the user accepted the connected retained-path visual matrix on 2026-07-25: server objects and paperdoll survive travel, distant use works, `/ls` and spell recalls both materialize through the retail purple haze, and neither character pop nor recall tail remains. Evidence: `docs/research/2026-07-25-slice-g4-production-cutover-automated-gate.md` and `docs/research/2026-07-25-portal-regression-closeout.md`. |
|
||||
| G5 | cleanup active | Normal production no longer builds `InteriorEntityPartition`: mesh and attached-particle ownership now consume the exact retained route ranges. The legacy partition remains only for standalone tests and explicitly enabled diagnostic/oracle probes. Focused route tests, 3,825 App tests / 3 skips, and 8,334 complete-solution tests / 5 skips pass; the exact production-only performance/lifecycle matrix remains. |
|
||||
| G5 — old-path retirement and production closeout | complete | Exact `10ccce3f` removes `InteriorEntityPartition` from normal production: meshes and attached particles consume retained route ranges, while the legacy partition remains only for standalone tests and explicit diagnostic/oracle probes. Exact `14fbe92b` passes the seven-checkpoint lifecycle/reconnect gate after hardening the optional monitor-refresh boundary. The user visual gate, capped/uncapped/dense correctness routes, ordinary 519.7-FPS production profile, 3,826 App tests / 3 skips, and 8,335 complete-solution tests / 5 skips pass. The measured 22.34 KiB/frame remainder is assigned to Slice I1. Evidence: `docs/research/2026-07-25-slice-g5-production-profile.md`. |
|
||||
|
||||
The exact pre-F/G runtime rollback anchor remains `e7d9d6fa`. F0 is
|
||||
non-drawing diagnostic infrastructure and therefore is not a visual-cutover
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# Modern runtime Slice I — flat collision assets and zero-allocation physics
|
||||
|
||||
**Status:** I0 COMPLETE — retail oracle, representative graph fixtures, and
|
||||
four-mover allocation baselines fixed; active G5 production-matrix closeout
|
||||
precedes I1
|
||||
four-mover allocation baselines fixed; G5 production closeout complete; I1
|
||||
active
|
||||
**Parent:** `2026-07-24-modern-runtime-architecture.md`, Slice I
|
||||
**Purpose:** remove parsed DAT object graphs and steady collision allocations
|
||||
without changing one retail collision decision, float, comparison, or traversal
|
||||
|
|
|
|||
|
|
@ -1,52 +1,117 @@
|
|||
# Slice G5 production profile — 2026-07-25
|
||||
# Slice G5 production closeout — 2026-07-25
|
||||
|
||||
## Status
|
||||
|
||||
Work in progress. The retained-scene connected visual re-gate passed on
|
||||
2026-07-25. Normal production now consumes retained frame-product ranges for
|
||||
both mesh submission and attached-particle ownership and does not build
|
||||
`InteriorEntityPartition`. The legacy partition is retained only for
|
||||
standalone tests and explicitly enabled diagnostic/oracle probes. This note
|
||||
records production-only evidence gathered without enabling the referee or
|
||||
lifecycle automation; the exact post-removal route matrix is still pending.
|
||||
Complete. Normal production consumes retained `RenderFrameView` route ranges
|
||||
for both mesh submission and attached-particle ownership and does not build
|
||||
`InteriorEntityPartition`. The former partition remains only for standalone
|
||||
tests and explicitly enabled diagnostic/oracle probes.
|
||||
|
||||
## First steady RDP sample
|
||||
The connected retained-path visual gate is also complete. The user accepted
|
||||
stable server objects and paperdoll state across travel, restored distant
|
||||
interaction, and retail-shaped `/ls` plus spell-recall materialization without
|
||||
character pop or recall-animation tail.
|
||||
|
||||
The client was idle in-world at 60 Hz with the normal capped Release
|
||||
presentation, High quality, a 4/12 near/far radius, and no developer or
|
||||
automation UI. The title reported 173/625 landblocks, 10,383 entities, and 51
|
||||
active animations. Five seconds of process CPU plus three one-second Windows
|
||||
GPU counter samples measured:
|
||||
## Exact implementation
|
||||
|
||||
| Metric | Value |
|
||||
|---|---:|
|
||||
| CPU | 2.68% of 16 logical processors, about 42.9% of one logical core |
|
||||
| Working set | 255.8 MiB |
|
||||
| Private bytes | 1,193.9 MiB |
|
||||
| Threads / handles | 26 / 663 |
|
||||
| GPU 3-D engine | 55.74% average, 56.26% maximum |
|
||||
| Dedicated GPU process memory | 422 MiB |
|
||||
| Shared GPU process memory | 141 MiB |
|
||||
| Commit | Purpose |
|
||||
|---|---|
|
||||
| `10ccce3f2dc38d1ff8ce5d0fbc962156a50b022d` | Retire the production `InteriorEntityPartition`; derive all five production mesh routes and attached-particle owner sets from the retained frame product. |
|
||||
| `14fbe92b08a74326e59b085eba34d7b772e9c940` | Treat active-monitor refresh telemetry as temporarily unavailable during Windows console/RDP topology replacement, preventing a GLFW monitor-query exception from escaping the native move callback. |
|
||||
|
||||
This is an RDP presentation sample, not the required physical-local reference
|
||||
matrix and not evidence of a plateau across travel. It establishes that the
|
||||
post-cutover retained path is active and gives G5 a pre-deletion production
|
||||
point. The complete capped/uncapped nine-stop, dense-Arwic, lifecycle,
|
||||
allocation, GC, stage-timing, and screenshot/instance-set matrix remains
|
||||
mandatory after the visual re-gate.
|
||||
|
||||
## Prepared old-route dependency removal
|
||||
|
||||
`RenderFrameRouteOwnerSelector` derives attached particle owner IDs from the
|
||||
exact retained PView route ranges. It supports exact-route replace/union and
|
||||
all-range exclusion without allocation after warmup. It now supplies the
|
||||
`RenderFrameRouteOwnerSelector` supports exact-route replace/union and
|
||||
all-range exclusion without warm-frame allocation. It supplies the
|
||||
landscape-static, outside-dynamic, look-in, cell-static, and dynamic-last
|
||||
particle passes. `RetailPViewRenderer` builds the former partition only when
|
||||
the retained frame product is unavailable in a standalone test or when an
|
||||
explicit legacy comparison/probe is enabled. The production frame result
|
||||
copies retained source and route counts before releasing its arena, so
|
||||
diagnostics do not require the partition either.
|
||||
particle passes. `RetailPViewRenderer` constructs the legacy partition only
|
||||
when no retained product exists in a standalone test or when a legacy
|
||||
comparison/probe explicitly requires it. Production diagnostics copy retained
|
||||
source and route counts before arena release and therefore do not resurrect the
|
||||
old enumeration.
|
||||
|
||||
The focused route suite, 3,825 App tests / 3 skips, Release solution build,
|
||||
and 8,334 complete-solution tests / 5 skips are green. The production-only
|
||||
reference matrix below remains the G5 closeout gate.
|
||||
## Connected correctness and lifecycle matrix
|
||||
|
||||
All reports identify the checked-out source and measured binary exactly and
|
||||
end through graceful client shutdown.
|
||||
|
||||
| Gate | Exact commit | Result | Evidence |
|
||||
|---|---|---|---|
|
||||
| Capped canonical nine-stop | `10ccce3f` | Pass, 0 failures | `logs/connected-r6-soak-20260725-105133.report.json` |
|
||||
| Uncapped canonical nine-stop | `10ccce3f` | Pass, 0 failures | `logs/connected-r6-soak-20260725-121035.report.json` |
|
||||
| Dense Arwic, 15,530 entities / 111 animated | `10ccce3f` | Pass, 0 failures | `logs/connected-dense-town-20260725-123107.report.json` |
|
||||
| Fresh login, outdoor/dungeon/facility/revisit, graceful logout, fresh uncapped reconnect | `14fbe92b` | Pass, 0 failures, 7 checkpoints | `logs/connected-world-gate-20260725-131552/report.json` |
|
||||
| Exact post-fix dense redrive | `14fbe92b` | Pass, 0 failures | `logs/connected-dense-town-20260725-134935.report.json` |
|
||||
|
||||
The lifecycle gate's only warning is the canonical route's 25 expected
|
||||
world-edge landblock misses. DAT-driven missing-emitter diagnostics remain the
|
||||
known VFX-content warnings in the soak reports; no fallback effect is created.
|
||||
|
||||
The final dense redrive changed from the physical console to RDP before its
|
||||
stationary sample, so its absolute timing is diagnostic only. It still proves
|
||||
dense-scene construction, route completion, resource cleanup, and graceful
|
||||
shutdown on the exact post-fix binary.
|
||||
|
||||
## Ordinary production profile
|
||||
|
||||
A separate Release client ran uncapped with:
|
||||
|
||||
- no UI probe or automation route;
|
||||
- no automation artifact owner or screenshot/current-path oracle;
|
||||
- no developer tools;
|
||||
- no WB diagnostic comparison;
|
||||
- only the permanent frame profiler and frame-history recorder.
|
||||
|
||||
The physical-display capture stayed at the normal Aerlinthe scene for its final
|
||||
stable minute. The retained frame product was the sole production draw source.
|
||||
|
||||
| Metric | Final stable 60 seconds |
|
||||
|---|---:|
|
||||
| Frames / throughput | 31,180 / 519.7 FPS |
|
||||
| CPU frame p50 / p95 / p99 / max | 1.869 / 2.306 / 2.484 / 6.727 ms |
|
||||
| GPU frame p50 / p95 / p99 / max | 1.096 / 1.108 / 1.136 / 1.342 ms |
|
||||
| Update p50 / p95 / p99 | 0.239 / 0.274 / 0.366 ms |
|
||||
| Frame-thread allocation p50 / p95 / p99 | 22,880 / 24,056 / 24,216 B |
|
||||
|
||||
External five-second CPU and three-sample Windows GPU counters measured:
|
||||
|
||||
| Resource | Value |
|
||||
|---|---:|
|
||||
| Process CPU | 9.74% of 16 logical processors, about 1.56 cores while uncapped |
|
||||
| Working set | 652.1 MiB |
|
||||
| Private bytes | 928.3 MiB |
|
||||
| Threads / handles | 35 / 755 |
|
||||
| GPU 3-D engine | 32.11% average, 64.37% maximum |
|
||||
| Dedicated / shared GPU process memory | 449.8 / 17.3 MiB |
|
||||
|
||||
Evidence:
|
||||
`logs/g5-production-uncapped-20260725-134345.frame.csv` and
|
||||
`logs/g5-production-uncapped-20260725-134345.out.log`.
|
||||
|
||||
This is not presented as a capped-versus-uncapped memory comparison: scene,
|
||||
camera, pacing, and cache age must match before making that claim. It is an
|
||||
honest ordinary-production absolute point. Relative to Slice H's separate
|
||||
ordinary-production frame-thread baseline, median allocation fell from
|
||||
25.6 KiB to 22.34 KiB (12.7%), CPU p95 improved from 2.5–2.8 ms to
|
||||
2.306 ms, and GPU median improved from 1.2–1.3 ms to 1.096 ms.
|
||||
|
||||
## Remaining allocation owner
|
||||
|
||||
G5 removed the retained current-render partition identified by Slice H.
|
||||
Ordinary production still allocates 22.34 KiB/frame, above the program's
|
||||
initial 4 KiB/frame whole-client target. The prior allocation-tick stacks and
|
||||
the four-mover Slice-I baseline identify reset-complete `Transition`
|
||||
collision/query scratch as the next dominant owner. That storage/lifetime
|
||||
change is intentionally Slice I1, where differential trajectory tests can
|
||||
prove that reusing scratch changes no retail collision decision or float.
|
||||
|
||||
G5 therefore closes its render-scene ownership contract without weakening the
|
||||
program-level allocation target. Slice I owns the measured remainder.
|
||||
|
||||
## Verification
|
||||
|
||||
- Focused display-pacing/callback/settings suite: 70 passed.
|
||||
- Release solution build: pass; 16 already tracked test-project warnings.
|
||||
- Complete invariant-culture Release suite: 8,335 passed / 5 skipped.
|
||||
- Connected lifecycle/reconnect: pass on exact `14fbe92b`, both sessions exit
|
||||
code 0 and graceful logout confirmed.
|
||||
- User visual acceptance: pass on 2026-07-25.
|
||||
- No new retail divergence was introduced.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue