docs(physics): close Slice I evidence and roadmap

Record the accepted flat-authoritative collision cutover, production parsed-graph removal, exact rollbacks, zero-residency connected gates, and RDP measurement boundary. Reconcile architecture, milestones, roadmap, issue ledger, agent instructions, and the active Slice J handoff.

Validated by the existing zero-warning Release build, 8,413 passing Release tests with five pre-existing skips, 201 focused closeout tests, and both exact-binary connected routes.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-25 18:44:43 +02:00
parent 82f8d4f82e
commit afebbe3eca
11 changed files with 257 additions and 71 deletions

View file

@ -1666,20 +1666,22 @@ port in any phase — no separate listing here.
> ownership. Lifecycle/reconnect plus the nine-stop route sampled 14,064
> queries with exact state/float-bit equality, zero mismatch/fault/artifact,
> equal graph/flat cell residency, and graceful teardown. Release build and
> 8,396 solution tests / 5 skips pass. I6 production cutover is committed:
> gameplay is flat-authoritative, dense Arwic matched 46,309/46,309 referee
> queries, and the physical nine-stop soak converged. Parsed-graph deletion
> waits on the user's collision/visual acceptance. J0 established the
> presentation-independent Runtime boundary with four enforced dependency
> guards; Release build and 8,406 tests / 5 skips pass.
> 8,396 solution tests / 5 skips pass. I6 made gameplay flat-authoritative:
> dense Arwic matched 46,309/46,309 referee queries and the physical nine-stop
> soak converged. Following user collision acceptance, `82f8d4f8` removed
> every production parsed collision graph. I7 passes 8,413 Release tests / 5
> skips plus both exact-binary connected routes; every stable checkpoint
> reports `0/0/0` graph residency while flat assets remain populated. J0
> established the presentation-independent Runtime boundary with four enforced
> dependency guards; J1 is now active.
> 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 I7 closeout remains active from
> [its detailed plan](2026-07-25-modern-runtime-slice-i.md); Slice J is pinned
> in [its lifetime-group plan](2026-07-25-modern-runtime-slice-j.md).
> connected lifecycle/reconnect gate. Slice I is closed in
> [its detailed plan](2026-07-25-modern-runtime-slice-i.md); Slice J1 executes
> from [its lifetime-group plan](2026-07-25-modern-runtime-slice-j.md).
**Spec:** `docs/superpowers/specs/2026-07-05-modern-pipeline-design.md` (the
umbrella design — read it first). **Goal:** smoothness first (no frame over
@ -1703,11 +1705,11 @@ hitch and follows.
| MP1a | `AcDream.Content` extraction (GL-free MeshExtractor + boundary records out of App) | ✅ SHIPPED 2026-07-05 — user-gated (renders identical, zero tripwires, perf-neutral); 8 commits `651d041e`..`b0758d77` |
| MP1b | Pak format + `acdream-bake` CLI + mmap `PakReader` + equivalence/full-scale gate | ✅ **SHIPPED 2026-07-24** — 729,888 EnvCell keys → 17,117 unique geometries + 712,771 aliases (42.6×), 751,141 total keys / 38,370 physical blobs, zero failures, 28,192.4 MiB, 81.4 s validated atomic publish; full-DAT gate also corrected a real collision in WB's legacy geometry hash. [Report](../research/2026-07-24-slice-b-full-bake-report.md) |
| **MP-Alloc (safe batch)** | Reuse per-frame buffers: anim pose, particle draw-list, interior partition, animatedIds/drawableCells sets | ✅ SHIPPED + USER-GATED 2026-07-05 — dense-town frame-time spikes 2087ms → 610ms, alloc spikes (3075MB single-frame) eliminated, gen2 GC 511/window → ~0; user confirms FPS steady. 4 commits `b8c05e2b`..`91afea24` |
| MP-Alloc (hard sites) | EnvCell settled-camera rebuild gate + physics `Transition` reuse | 🟡 Physics cutover SHIPPED 2026-07-25 — retail-shaped reset-complete transition/query scratch is bit-identical and 0 B/resolve across five profiles; immutable flat collision storage, deterministic package, zero-allocation traversal, strict dual publication, and flat-authoritative production traversal are shipped. Parsed-graph deletion awaits the user collision/visual gate. |
| MP-Alloc (hard sites) | EnvCell settled-camera rebuild gate + physics `Transition` reuse | SHIPPED 2026-07-25 — retail-shaped reset-complete transition/query scratch is bit-identical and 0 B/resolve across five profiles; immutable flat collision storage, deterministic package, zero-allocation traversal, strict publication, flat-authoritative production traversal, and parsed-graph removal pass automated and connected acceptance. |
| MP1c | Streaming cutover to pak + hitch gate | ✅ **SHIPPED 2026-07-24** — typed package-only production source, explicit Setup probes, non-allocating Portal-first lookup, exact translucency metadata, and ordered teardown; capped/uncapped/dense physical routes + user visual gate pass. Uncapped CPU p99 7.825→6.496 ms, GPU p99 3.406→2.706 ms, portal frame max 202.9→39.9 MiB, process allocation 41.8%, zero invalid Setup probes. [Report](../research/2026-07-24-slice-c-prepared-asset-cutover-report.md) |
| MP2 | Retail particle distance/cell-view degradation: DAT-authored range, exact infinite/finite off-view update branches, emitter-first render scan, user-requested 2× default range | ✅ SHIPPED 2026-07-17 — Aerlinthe hotspot `0x32000223` resolves to retail 64m and defaults to 128m; landscape/entity streaming distance unchanged |
| MP3 | Arch ECS render world + delta submission (the 300-FPS lever) | ⚪ — note: does NOT fix the steady-state GC churn (that's MP-Alloc); MP3 is the draw-submission throughput lever |
| MP4 | Zero-alloc frame loop + flat physics data (residual, post-MP-Alloc) | 🟡 ACCEPTANCE — Slices I1I6 shipped through flat-authoritative production traversal; dense-Arwic and physical nine-stop gates pass. User collision/visual acceptance gates parsed-graph deletion and I7 closeout. |
| MP4 | Zero-alloc frame loop + flat physics data (residual, post-MP-Alloc) | **SHIPPED 2026-07-25** — Slice I complete: 8,413 Release tests / 5 skips, 0 B/resolve across five profiles, zero retained parsed collision graphs, exact-binary lifecycle/reconnect and nine-stop routes pass, and user collision acceptance is recorded. |
| MP5 | Job-system parallelism | ⚪ stretch, evidence-gated |
---