acdream/docs/research/2026-05-12-l2d-next-session-prompt.md
Erik eb401e8cac 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>
2026-05-12 18:15:16 +02:00

3.5 KiB

Copy-paste prompt — next session for L.2d brainstorm

This file is meant to be pasted verbatim into a new Claude Code session. It assumes the next session starts on a freshly-merged main with the L.2a-slice-1/2/3 work already landed.


Prompt to paste

You are picking up Phase L.2d (Movement & Collision Conformance — Shape Fidelity: Sphere / CylSphere / Building Objects) for the acdream project.

The previous session shipped L.2a-slice-1/2/3 (resolver + cell-transit probes + entity attribution plumbing) and used the probes to settle the L.2d sub-direction call: the wall blocking us at building doorways is a landblock-baked static (0xA9B47900 for the Holtburg test building), NOT a door entity. The fix is to port CBuildingObj + per-cell walkability so the building's baked collision mesh has walkable openings where doorways are. Door-state-toggle is NOT the issue.

Before writing any code:

  1. Read the handoff: docs/research/2026-05-12-l2a-shipped-l2d-handoff.md — full context, evidence, file pointers.
  2. Read the plan-of-record: docs/plans/2026-04-29-movement-collision-conformance.md — focus on L.2d, and notice that L.2c already shipped most of its work + L.2a is now ~75% covered.
  3. Read the named-retail anchors (grep docs/research/named-retail/acclient_2013_pseudo_c.txt by class::method):
    • CCellStruct::point_in_cell
    • CCellStruct::sphere_intersects_cell
    • CCellStruct::box_intersects_cell
    • CBuildingObj::find_building_collisions
    • CObjCell::find_cell_list
  4. Read current code:
    • src/AcDream.Core/Physics/TransitionTypes.cs:1386FindObjCollisions (where building objects currently flow through generic BSP path).
    • src/AcDream.Core/Physics/PhysicsDataCache.cs — what building-specific data we already load vs ignore.
  5. Cross-reference WorldBuilder at references/WorldBuilder/ for any building-cell handling we can crib.

Your deliverable for this session:

  1. A brainstorm using superpowers:brainstorming if scope is unclear, then
  2. A design spec at docs/superpowers/specs/2026-05-13-l2d-cbuildingobj-collision-design.md covering:
    • Named-retail anchors with line numbers from the PDB pseudo-C
    • Component breakdown (CObjCell port, CBuildingObj port, integration with FindObjCollisions)
    • Conformance test plan (synthetic + real-DAT fixtures at known Holtburg buildings)
    • Slice plan (3-5 commits, each conformance-cited)
    • Acceptance criteria
  3. After spec approval, implement slice 1.

Before implementation, verify the L.2a probes still work — relaunch with ACDREAM_PROBE_RESOLVE=1 ACDREAM_PROBE_CELL=1 ACDREAM_DEVTOOLS=1, walk up to the Holtburg test doorway, confirm [resolve] lines still show obj=0xA9B4xxxx for the wall hits. (Reproduction recipe in the handoff doc's last section.)

Side note: 8 pre-existing test failures exist on main (verified by stash+rerun in the prior session, none from L.2a slice work). Most touch movement/physics code we're about to evolve. Triage them before sinking deep L.2d effort — a recent baseline regression in this area could waste hours of L.2d work.


Reading order if you only have 10 minutes

  1. docs/research/2026-05-12-l2a-shipped-l2d-handoff.md — TL;DR + Three findings sections (5 min).
  2. docs/plans/2026-04-29-movement-collision-conformance.md §L.2d (2 min).
  3. src/AcDream.Core/Physics/TransitionTypes.cs:1386-1543 — current FindObjCollisions body (3 min).

From there, decide whether to brainstorm or jump straight to the spec.