docs(phys L.2a): handoff + next-session prompt + CLAUDE.md / plan-of-record updates

Documents the L.2a-slice-1/2/3 ship for the next session and updates
the project's source-of-truth docs to reflect current state.

New files:
- docs/research/2026-05-12-l2a-shipped-l2d-handoff.md — full cold-start
  handoff: what shipped, three findings (L.2e cell-id format gap, L.2c
  wall-slide working, L.2d sub-direction = CBuildingObj port), branch
  state, diagnostic surface inventory, files changed, open concerns,
  cold-start checklist, reproduction recipe.
- docs/research/2026-05-12-l2d-next-session-prompt.md — terse copy-paste
  prompt for the next Claude Code session.

Modified:
- docs/plans/2026-04-29-movement-collision-conformance.md — added "Current
  sub-direction" note under L.2d capturing the evidence-driven call:
  building-mesh fidelity issue, not door-state-toggle.
- CLAUDE.md — updated "Currently between phases" → "Currently in Phase
  L.2"; added L.2a shipped paragraph; added ACDREAM_PROBE_RESOLVE /
  ACDREAM_PROBE_CELL to Diagnostic env vars; prepended L.2d brainstorm
  to next-phase candidates list.

No code changes in this commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-05-12 18:15:16 +02:00
parent a068292f2a
commit eb401e8cac
4 changed files with 288 additions and 2 deletions

View file

@ -169,6 +169,23 @@ fallback.
- Audit `Setup.Radius` and cylinder fallback behavior against retail before
relying on them for conformance.
Current sub-direction (2026-05-12, evidence-driven by L.2a slice 2 + 3):
The "I can't walk through doorways" symptom at Holtburg is **NOT a door-
state-toggle issue**. The `[resolve]` probe captured 140 hit=yes lines
at the doorway with `obj=0xA9B47900` (126 hits) — a landblock-baked
static in the `0xLLLLxxxx` range, i.e. the **building itself**, not a
door entity (no `0xCC0Cxxxx`-range hits). The building's baked collision
mesh is treated as one solid block; the doorway gap that's visible in
the rendered mesh isn't represented in the collision data we consume.
L.2d slice 1's scope is therefore the `CBuildingObj` + per-cell
walkability port (interpretation 2 of the handoff). The named retail
anchors `CCellStruct::point_in_cell`, `CCellStruct::sphere_intersects_cell`,
`CCellStruct::box_intersects_cell`, `CBuildingObj::find_building_collisions`
are the entry points. Spec to be written at
`docs/superpowers/specs/2026-05-13-l2d-cbuildingobj-collision-design.md`.
Handoff: [docs/research/2026-05-12-l2a-shipped-l2d-handoff.md](../research/2026-05-12-l2a-shipped-l2d-handoff.md).
### L.2e - Cell Ownership: Outdoor Seams, CELLARRAY, cell_bsp
Goal: the resolver knows which cell owns the movement and which adjacent cells