acdream/docs/research/2026-05-21-a6-captures
Erik d868946537 ship(phys): A6.P3 slice 2 — L622 seed investigation + #98 filed
Slice 2 v1 (`892019b`) attempted to close issue #96 by removing the
PhysicsEngine.cs L622 per-tick CP seed. v1 build/test green, CP-write
count dropped 91% in scen3 re-capture, BUT user happy-test surfaced
a regression: BSP step_up at the last step of stairs failed because
sub-step 1's AdjustOffset had no ContactPlane to compute the lift
direction.

Slice 2 v2 (`f8d669b`) reverted the seed removal + added a no-op-if-
unchanged guard inside CollisionInfo.SetContactPlane. The guard
early-returns when called with values matching current ci state.

Outcome:
- #96 PARTIALLY ADDRESSED, scope updated in ISSUES.md to "accepted as
  documented retail divergence." The seed is load-bearing for step_up;
  closing #96 fully would require deeper refactor (AdjustOffset
  fallback to body.ContactPlane). Guard is benign improvement.
- Slice 2 v2 verification capture (scen3_inn_2nd_floor_slice2v2/
  acdream.log) committed as evidence — 226,464 cp-writes from L624
  seed confirms guard doesn't trigger for fresh-ci-per-tick pattern.
- Slice 2 v1 verification capture (scen3_inn_2nd_floor_slice2/
  acdream.log) also committed — confirms v1 actually reduced cp-writes
  (2,690 total) but the step_up regression made it unshippable.

NEW M1.5 BLOCKER FILED — issue #98: cellar ascent stuck at last step.
Evidence in slice2v2 capture's cell-transit chain:
  0xA9B4014B → 0xA9B4014A → 0xA9B4013F → 0xA9B4014A → 0xA9B4014B → ...
  (Z stable ~96.4; CellId ping-pongs every tick)
This is Finding 3 family (cell-resolver hysteresis missing) — same
root cause as #90 workaround + scen4 sling-out. Retail oracle:
CObjCell::find_cell_list Position-variant at
acclient_2013_pseudo_c.txt:308742-308783.

NEXT — A6.P3 slice 3:
- Port retail's cell-array hysteresis into ResolveCellId +
  CheckBuildingTransit.
- Closes #98 (cellar-up), possibly #97 (phantom collisions same
  instability family), enables #90 workaround removal.

Documents updated:
- ISSUES.md — #96 scope updated, #98 filed
- docs/plans/2026-04-11-roadmap.md — A6.P3 slice 2 marked SHIPPED,
  slice 3 scope added
- CLAUDE.md — Currently-working-toward block updated to slice 3

Test suite: 1148 pass + 8 pre-existing fail (baseline maintained).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 11:58:05 +02:00
..
scen1_inn_doorway feat(cdb): A6.P1 — decode_retail_hex.py hex→float decoder 2026-05-21 20:03:03 +02:00
scen2_inn_stairs capture(research): A6.P1 scen2 — replace acdream pair with stair-attempt 2026-05-21 20:26:20 +02:00
scen2_inn_stairs_postfix capture(research): A6.P3 slice 1 — scen2 postfix proves stairs now work 2026-05-22 10:07:35 +02:00
scen3_inn_2nd_floor docs(roadmap+milestones): mark A6.P1/A6.P2 shipped; update M1.5 demo 2026-05-21 21:17:21 +02:00
scen3_inn_2nd_floor_postfix ship(phys): A6.P3 slice 1 — Indoor ContactPlane retention COMPLETE 2026-05-22 10:11:44 +02:00
scen3_inn_2nd_floor_slice2 ship(phys): A6.P3 slice 2 — L622 seed investigation + #98 filed 2026-05-22 11:58:05 +02:00
scen3_inn_2nd_floor_slice2v2 ship(phys): A6.P3 slice 2 — L622 seed investigation + #98 filed 2026-05-22 11:58:05 +02:00
scen4_cottage_cellar docs(roadmap+milestones): mark A6.P1/A6.P2 shipped; update M1.5 demo 2026-05-21 21:17:21 +02:00
scen5_sewer_entry capture(research): A6.P1 scen5 — town network portal entry paired traces 2026-05-21 20:59:00 +02:00
scen6_sewer_first_stair docs(research): A6.P1 — capture directory structure + findings stub 2026-05-21 18:46:56 +02:00
scen7_sewer_inter_room docs(research): A6.P1 — capture directory structure + findings stub 2026-05-21 18:46:56 +02:00
scen8_sewer_chamber docs(research): A6.P1 — capture directory structure + findings stub 2026-05-21 18:46:56 +02:00
scen9_sewer_corridor docs(research): A6.P1 — capture directory structure + findings stub 2026-05-21 18:46:56 +02:00
pdb-match-verification.txt docs(research): A6.P1 — refresh PDB verification to MATCH 2026-05-21 18:51:34 +02:00