acdream/docs/research/2026-05-21-a6-captures
Erik 134c9b87f3 capture(research): retail cellar-up trace for issue #98 — SHARP diagnosis
User walked retail UP the same Holtburg cottage cellar that acdream
gets stuck on. cdb captured retail's BSP behavior for paired
comparison against the acdream polydump trace (0b44996).

Retail (successful walk):
  BP1 transitional_insert: 2,651
  BP2 step_up:                29  (incl. 1 hit on the ramp slope, n.z=0.6950)
  BP4 find_collisions:     4,032
  BP5 adjust_sphere:          30  (ALL on FLAT planes; ZERO on the ramp)
  BP6 check_walkable:         25
  BP7 set_contact_plane:      18  (ALL set the SAME flat plane:
                                   (0,0,1) d=-93.9998 = world Z=94 =
                                   cottage main floor)

Acdream (stuck — from scen4_cottage_cellar_polydump):
  cp-write:                  229,300
  push-back:                  ~1000 (270 on the RAMP slope poly 0x0008)
  step_up_slide:                159

THE DIVERGENCE — pinpointed:

Retail's BSP path-selection for the cellar ramp picks Path 6 (find_walkable
land) — the ramp is treated as a walkable floor to LAND ON. Result:
BP7 sets the contact plane to the cottage main floor (Z=94). No push-back
needed on the ramp.

Our BSP picks Path 5 (Contact → step_up → adjust_sphere push-back) for the
SAME ramp polygon. Result: 270 push-backs against the ramp slope; step_up
keeps failing → step_up_slide loop → player stuck.

NEXT STEP (new session): trace why our BSP picks Path 5 instead of Path 6
for the ramp. Likely in BSPQuery.FindCollisions dispatcher's
path-selection logic. The ramp is walkable (N.Z=0.695 > FloorZ=0.6642) so
Path 6 should fire. Maybe a wrong ObjectInfo state flag, or a sub-step
order issue, or the ramp polygon's BSP-side classification is wrong.

This capture + the polydump capture give a complete picture for the next
investigation session. No more guess-fixes today — the data is now sharp.

Test suite: 1148 + 8 (unchanged this commit).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 13:25:57 +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
scen4_cottage_cellar_retail_for_issue98 capture(research): retail cellar-up trace for issue #98 — SHARP diagnosis 2026-05-22 13:25:57 +02:00
scen4_cottage_cellar_slice3 ship(phys): A6.P3 slice 3 — cell-resolver ping-pong CLOSED + #98 re-diagnosed 2026-05-22 12:11:56 +02:00
scen4_cottage_cellar_slice3v2 ship(phys): A6.P3 slice 3 — cell-resolver ping-pong CLOSED + #98 re-diagnosed 2026-05-22 12:11:56 +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