diff --git a/CLAUDE.md b/CLAUDE.md index 6f88378b..6c5b5e4b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -116,7 +116,8 @@ note in the milestones doc): **D.2b retail UI** (next: container-switching — `claude-memory/project_d2b_retail_ui.md`). The **R5 movement-manager arc is DONE** (2026-07-05, V5 facade shipped; close-out banner in `docs/research/2026-07-03-r5-managers/r5-wiring-handoff.md`; carried: #167, R6/TS-42). -M2 (CombatMath) deferred. Keep this paragraph ≤6 lines + pointers — detail in the docs +**Track MP** (modern-pipeline perf side track, dedicated sessions only — roadmap +"Track MP") is at MP0. M2 (CombatMath) deferred. Keep this paragraph ≤6 lines + pointers — detail in the docs below, NOT here. For canonical state, read in this order: diff --git a/docs/plans/2026-04-11-roadmap.md b/docs/plans/2026-04-11-roadmap.md index fcc681de..fda684be 100644 --- a/docs/plans/2026-04-11-roadmap.md +++ b/docs/plans/2026-04-11-roadmap.md @@ -1180,6 +1180,27 @@ port in any phase — no separate listing here. --- +### Track MP — Modern Pipeline (performance side track; user-commissioned 2026-07-05) + +**Spec:** `docs/superpowers/specs/2026-07-05-modern-pipeline-design.md` (the +umbrella design — read it first). **Goal:** smoothness first (no frame over +~16 ms during any traversal), then 300+ FPS sustained in dense towns. +Perf-only per `feedback_render_perf_not_faithfulness_gated` — pixels and +game-feel stay identical; the simulation's retail-mirroring OO structure is +untouched. NOT part of M1.5 — runs in dedicated side-track sessions; M1.5 +critical path wins every conflict. + +| Phase | What | Status | +|---|---|---| +| MP0 | Honest frame profiler (`[frame-prof]`) + baseline capture | 🔵 IN PROGRESS — code shipped 2026-07-05 (plan `docs/superpowers/plans/2026-07-05-mp0-frame-profiler.md`); baseline capture pending | +| MP1 | Baked asset pak (`acdream-bake` CLI + mmap zero-copy `PakReader`) | ⚪ next after the MP0 gate | +| MP2 | Retail distance-degrade port, hide-only cut (retires a divergence row) | ⚪ | +| MP3 | Arch ECS render world + delta submission (the 300-FPS lever) | ⚪ | +| MP4 | Zero-alloc frame loop + flat physics data | ⚪ hard-queued behind M1.5 #137 | +| MP5 | Job-system parallelism | ⚪ stretch, evidence-gated | + +--- + ## Cross-cutting work tracked in parallel - **Test coverage.** Each phase lands with unit + integration tests in `tests/`. Current count: 98 Core + 96 Core.Net = 194. Keep the ratio as new phases land. diff --git a/docs/plans/2026-05-12-milestones.md b/docs/plans/2026-05-12-milestones.md index c1d68ffc..7d3286f6 100644 --- a/docs/plans/2026-05-12-milestones.md +++ b/docs/plans/2026-05-12-milestones.md @@ -245,6 +245,20 @@ which the operating rules have always allowed; declaring them milestones would manufacture scope where a tactical ledger (ISSUES + handoffs) already carries them. +**Modern Pipeline side track (Track MP — user-commissioned 2026-07-05; NOT +a milestone, NOT part of M1.5).** A performance modernization arc (baked +asset pipeline → retail distance-degrade → ECS render world with delta +submission → zero-alloc frame loop) targeting smoothness first, then 300+ +FPS in dense towns. Spec: +`docs/superpowers/specs/2026-07-05-modern-pipeline-design.md`; phase table +in the roadmap ("Track MP"). **Freeze exception (explicit, user-authorized +2026-07-05):** this track may reopen the otherwise-frozen streaming and +WB-rendering subsystems — but only under its own gated phases (pixel- and +feel-identical conformance gates, legacy path deleted at each gate), never +as ad-hoc rework. Rule 2's freeze still binds all NON-MP work. MP runs in +dedicated side-track sessions; the M1.5 critical path wins every conflict, +and MP4 is hard-queued behind #137. + **Still OPEN in M1.5 — dungeon support (Phase G.3, issue #133).** Dungeons don't work: the streaming/load/render/physics pipeline was built entirely around outdoor landblocks (terrain + scattered buildings) and has no path