acdream/tools/cdb
Erik 9017107960 fix(p1): membership already matches retail — the 0/11 was a cdb capture artifact
The P1 "doorway membership lags retail" premise is FALSIFIED. acdream's swept
ResolveWithTransition already matches retail's true per-frame curr_cell: the
production gate ProductionPath_IndoorCrossings reads 9/9 on the indoor 0170<->0171
crossings with NO code change, once fed an aligned retail golden.

Root cause of the false 0/11: CPhysicsObj::SetPositionInternal calls change_cell
(acclient_2013_pseudo_c.txt:283456) BEFORE set_frame writes m_position (:283458),
so the original golden (find-cell-list-capture.cdb, read at the change_cell BP)
paired each frame's NEW cell with the PREVIOUS frame's position — a one-frame skew.
Verified 3 ways: the decomp ordering; golden_picked[i] == geom(golden_position[i+1])
for all 22 rows; acdream's static pick == golden_picked[i-1] for all rows. Both
retail and acdream pick with center-only point_in_cell on global_sphere[0] (no XY
lead; cache_global_sphere @ pc:274196). curr_cell commits via validate_transition
(@ pc:272608, curr_cell = check_cell) = the find_cell_list pick, structurally
identical to acdream's RunCheckOtherCellsAndAdvance -> FindCellSet -> SetCheckPos.
There was nothing to port; a swept advance would make membership LEAD by a frame.

- tools/cdb/find-cell-list-capture-aligned.cdb: re-capture reads the committed
  position from the set_frame that follows change_cell (cell+position same instant).
- Fixtures/find-cell-list-threshold.log: replaced with the aligned capture.
- ThresholdPortalCrossingReplayTests / FindCellListConformanceTests: rewritten from
  documents-the-bug to assert retail truth (per-segment / per-indoor-pick equality).
- handoff + notes + README + memory: banners correcting the disproven premise.

Still open (NOT indoor membership, which is DONE): outdoor->indoor 0031<->0170 entry
conformance (needs landcell + building stab in the gate cache); master-plan cleanups
(delete CheckBuildingTransit, unify find_env_collisions, demote ResolveCellId) refactor
working retail-faithful code -> need explicit user approval.

Conformance 60 pass / 1 skip / 0 fail; full Core 1309 pass / 5 fail (pre-existing
2 BSPStepUp + 3 door-collision = P2) / 1 skip.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 18:54:27 +02:00
..
a6-probe-runner.ps1 fix(cdb): A6.P1 — v1 dry-run lessons + v2 prep tooling 2026-05-21 19:38:31 +02:00
a6-probe.cdb fix(cdb): A6.P1 — a6-probe.cdb v4 hex-bits floats 2026-05-21 19:55:48 +02:00
a6-types-dump-runner.ps1 fix(cdb): A6.P1 — v1 dry-run lessons + v2 prep tooling 2026-05-21 19:38:31 +02:00
a6-types-dump.cdb fix(cdb): A6.P1 — v1 dry-run lessons + v2 prep tooling 2026-05-21 19:38:31 +02:00
a6-types-dump.txt fix(cdb): A6.P1 — a6-probe.cdb v2 with PDB-verified offsets 2026-05-21 19:43:50 +02:00
decode_fcl_capture.py test(p0): retail-trace golden captured — membership criterion divergence pinned (P0 GATE MET) 2026-06-03 15:04:51 +02:00
decode_retail_hex.py feat(cdb): A6.P1 — decode_retail_hex.py hex→float decoder 2026-05-21 20:03:03 +02:00
discover-types.cdb test(p0): retail-trace golden captured — membership criterion divergence pinned (P0 GATE MET) 2026-06-03 15:04:51 +02:00
door-inside-out-v2.cdb feat(phys): A6.P4 door — cdb-driven NegPolyHit dispatch (incomplete; needs BSP near-miss recording) 2026-05-25 10:36:22 +02:00
door-inside-out-v3.cdb feat(phys): A6.P4 door — cdb-driven NegPolyHit dispatch (incomplete; needs BSP near-miss recording) 2026-05-25 10:36:22 +02:00
door-inside-out.cdb feat(phys): A6.P4 door — cdb-driven NegPolyHit dispatch (incomplete; needs BSP near-miss recording) 2026-05-25 10:36:22 +02:00
find-cell-list-capture-aligned.cdb fix(p1): membership already matches retail — the 0/11 was a cdb capture artifact 2026-06-03 18:54:27 +02:00
find-cell-list-capture.cdb test(p0): retail-trace golden captured — membership criterion divergence pinned (P0 GATE MET) 2026-06-03 15:04:51 +02:00
issue98-cellar-up-find-walkable.cdb tools(cdb): A6.P3 #98 Step 4 — retail find_walkable capture script 2026-05-23 15:29:02 +02:00
issue98-runner.ps1 tools(cdb): A6.P3 #98 Step 4 — retail find_walkable capture script 2026-05-23 15:29:02 +02:00
README-a6-probe.md docs(cdb): A6.P1 — README for the cdb probe + runner 2026-05-21 18:44:42 +02:00
README-find-cell-list-capture.md test(p0): retail find_cell_list trace parser + cdb value-capture tooling 2026-06-03 14:26:24 +02:00
symbol-probe.cdb feat(phys): A6.P4 door — cdb-driven NegPolyHit dispatch (incomplete; needs BSP near-miss recording) 2026-05-25 10:36:22 +02:00