docs(pipeline): MP0 baseline captured - gate PASSED, alloc-triage amendment

Full-route capture (Holtburg -> dungeon 0x0007 -> town 0xCE94 -> dungeon
-> Holtburg, 4 teleports) plus the supplemental town run. Verdict: the
render-side-CPU split is confirmed (GPU <= ~2.7ms, upd/upl/imgui ~= 0),
steady medians beat the spec assumption (worst town p50 3.6ms), and the
smoothness gap is GC: 1.5-3 MB allocated per frame drives gen2
collections 1-2/s and every town p99/max violation, while dungeon
windows (zero gen1/gen2) are spike-free at ~2000 fps. Teleport hitch
quantified at 211ms worst frame / 75.7MB single-frame allocation.

Gate decision: PROCEED to MP1 unchanged, with one recorded amendment -
a bounded post-MP1 allocation-triage session for churn sites outside
the MP3 rewrite surface. Fort Tethana axiom view still to be
re-measured at the MP2/MP3 gates.

MP0 complete: profiler shipped (7d74c68c..4b44a152) + baseline + gate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-07-05 19:42:36 +02:00
parent f4e4418273
commit 86d7094451
3 changed files with 107 additions and 2 deletions

View file

@ -1192,8 +1192,8 @@ 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 |
| MP0 | Honest frame profiler (`[frame-prof]`) + baseline capture | ✅ SHIPPED 2026-07-05 — gate PASSED (`docs/research/2026-07-05-mp0-baseline.md`); headline: town spikes = GC churn (1.53 MB/frame), teleport hitch 211 ms |
| MP1 | Baked asset pak (`acdream-bake` CLI + mmap zero-copy `PakReader`) | ⚪ NEXT — then the baseline's allocation-triage amendment |
| 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 |