acdream/docs/research
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
..
2026-05-01-retail-motion-trace fix(motion): jump direction, AutoPos cadence, backward/strafe wire & anim 2026-05-02 16:11:15 +02:00
2026-05-02-remote-entity-motion docs(spec): Phase L.3 — Remote Entity Motion Conformance design 2026-05-02 18:12:18 +02:00
2026-05-03-remote-anim-cycle docs(research): investigation prompt for remote-anim-cycle bug 2026-05-03 19:59:22 +02:00
2026-05-04-l3-port feat(motion): L.3 M1 — fresh InterpolationManager port + retail spec 2026-05-05 14:56:42 +02:00
2026-05-06-locomotion-cycle-transitions docs(motion): #39 — candidate fix ineffective; refute Shift-toggle wire hypothesis 2026-05-06 07:21:42 +02:00
2026-05-21-a6-captures capture(research): retail cellar-up trace for issue #98 — SHARP diagnosis 2026-05-22 13:25:57 +02:00
data docs(research): commit named retail decomp + spells.csv (foundation) 2026-04-25 17:27:19 +02:00
decompiled research: full acclient.exe decompilation — 22,225 functions, 688K lines 2026-04-12 23:25:51 +02:00
deepdives fix(lighting): match retail indoor ambient (0.20 neutral, not 0.10/0.09/0.08 warm) 2026-05-19 10:14:25 +02:00
named-retail docs(research): canonical retail keymap + dump-keymap tool 2026-04-25 23:01:58 +02:00
retail-ui feat(ui): Phase D.2a — VitalsPanel wired into GameWindow + backend pivot 2026-04-25 00:43:46 +02:00
2026-04-12-movement-deep-dive.md docs: movement deep dive — AC2D + holtburger cross-reference 2026-04-12 21:52:12 +02:00
2026-04-21-animation-audit.md docs(research): animation-pipeline decompile audit — no real gaps 2026-04-21 21:18:45 +02:00
2026-04-21-sky-deep-audit.md fix(sky): scale keyframe Luminosity/Transparent/MaxBright from percent → fraction 2026-04-22 17:38:44 +02:00
2026-04-22-sky-lighting-decompile.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-23-daygroup-selection.md sky(phase-3c): port retail FUN_00501990 DayGroup picker (uniform LCG) 2026-04-24 08:45:34 +02:00
2026-04-23-lightning-crossfade.md sky(phase-5a): remove DayGroup-name rain hack, ship retail-only Overcast mapping 2026-04-24 11:04:36 +02:00
2026-04-23-lightning-real.md sky(phase-8): retail-faithful night sky + README refresh 2026-04-24 20:34:36 +02:00
2026-04-23-physicsscript.md sky(phase-5a): remove DayGroup-name rain hack, ship retail-only Overcast mapping 2026-04-24 11:04:36 +02:00
2026-04-23-retail-memory-probe.md sky(phase-3g): fix LCG multiplier — 360 (DaysPerYear), not 7620 2026-04-24 10:17:38 +02:00
2026-04-23-sky-dat-schema.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-23-sky-decompile-hunt-A.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-23-sky-decompile-hunt-B.md sky(phase-8): retail-faithful night sky + README refresh 2026-04-24 20:34:36 +02:00
2026-04-23-sky-decompile-hunt-C.md sky(phase-8): retail-faithful night sky + README refresh 2026-04-24 20:34:36 +02:00
2026-04-23-sky-fog.md sky(phase-5a): remove DayGroup-name rain hack, ship retail-only Overcast mapping 2026-04-24 11:04:36 +02:00
2026-04-23-sky-material-state.md docs(sky): port plan for PhysicsScript/fog/lightning/crossfade 2026-04-24 10:53:46 +02:00
2026-04-23-sky-pes-wiring.md sky(phase-5a): remove DayGroup-name rain hack, ship retail-only Overcast mapping 2026-04-24 11:04:36 +02:00
2026-04-23-sky-references-crossref.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-23-sky-retail-verbatim.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-24-lambert-brightness-split.md sky(phase-8): retail-faithful night sky + README refresh 2026-04-24 20:34:36 +02:00
2026-04-26-chorizite-pr-draft.md docs(research): sky/weather investigation handoff + diagnostic tools 2026-04-26 21:40:34 +02:00
2026-04-26-datreaderwriter-reference.md docs(research): sky/weather investigation handoff + diagnostic tools 2026-04-26 21:40:34 +02:00
2026-04-26-sky-investigation-handoff.md docs(research): sky/weather investigation handoff + diagnostic tools 2026-04-26 21:40:34 +02:00
2026-04-28-combat-animation-planner.md feat(anim): Phase L.1c select combat maneuvers 2026-04-28 11:44:17 +02:00
2026-04-28-pes-pseudocode.md feat(vfx): Phase C.1 — PES particle renderer + post-review fixes 2026-04-28 22:47:11 +02:00
2026-04-28-remote-moveto-pseudocode.md feat(anim): Phase L.1c port MoveTo path data + per-tick steer 2026-04-28 21:49:22 +02:00
2026-04-28-sky-cloud-material-trace.md feat(vfx): Phase C.1 — PES particle renderer + post-review fixes 2026-04-28 22:47:11 +02:00
2026-04-30-precipice-slide-pseudocode.md fix(physics): #32 L.2c precipice edge-slide context 2026-04-30 08:04:37 +02:00
2026-05-05-issue-42-handoff.md docs(research): expand #42 handoff prompt for fresh-session pickup 2026-05-05 18:02:58 +02:00
2026-05-06-issue-38-handoff.md docs(research): #38 handoff prompt for next-session agent 2026-05-06 17:03:43 +02:00
2026-05-06-issue-38-render-interp-pseudocode.md fix(camera): #38 render-interpolate player motion 2026-05-06 17:53:34 +02:00
2026-05-06-issue-47-close-degrade-pseudocode.md fix(rendering): #47 — walk DIDDegrade for retail close-detail meshes 2026-05-06 16:46:23 +02:00
2026-05-06-issue-47-handoff.md docs(research): #47 handoff prompt for next-session agent 2026-05-06 11:34:25 +02:00
2026-05-06-issue-48-fix-pseudocode.md fix(scenery): #48 unify scenery Z with physics-path triangle picker 2026-05-07 14:30:25 +02:00
2026-05-06-issue-48-handoff.md docs(issues): file #48 — subset of tree species hover above terrain 2026-05-06 17:18:26 +02:00
2026-05-06-issue-49-handoff.md docs(research): #49 handoff — scenery (X, Y) drift investigation 2026-05-07 14:34:55 +02:00
2026-05-08-phase-n3-handoff.md docs: roadmap N.0 shipped + realistic N.2-N.9 estimates + N.3 handoff 2026-05-08 10:49:16 +02:00
2026-05-08-phase-n4-week4-handoff.md docs(N.4): Week 4 handoff for the next agent 2026-05-08 14:54:12 +02:00
2026-05-08-phase-n5-handoff.md docs(N.5): cold-start handoff for next session 2026-05-08 18:05:36 +02:00
2026-05-09-phase-n5b-handoff.md docs(N.5b): cold-start handoff for next session 2026-05-09 07:16:10 +02:00
2026-05-10-holtburger-network-stack-study.md docs(post-A.5): capture holtburger network-stack study + Phase M.0 quick-wins 2026-05-10 17:52:26 +02:00
2026-05-10-phase-a5-handoff.md docs(A.5): cold-start handoff for the next session 2026-05-09 21:11:46 +02:00
2026-05-10-phase-m-opcode-matrix.md docs(phase-m): sharpen Phase M into design spec + opcode coverage matrix 2026-05-10 19:22:49 +02:00
2026-05-10-post-a5-polish-handoff.md docs(post-A.5): cold-start handoff for the next session 2026-05-10 10:16:10 +02:00
2026-05-10-tier1-mutation-audit.md docs(post-A.5 #53): Tier 1 retry — mutation audit + cache design spec 2026-05-10 16:50:26 +02:00
2026-05-10-tier1-retry-handoff.md docs(post-A.5): cold-start handoff for the Tier 1 retry session (#53) 2026-05-10 16:14:24 +02:00
2026-05-12-l2a-shipped-l2d-handoff.md docs(phys L.2a): handoff + next-session prompt + CLAUDE.md / plan-of-record updates 2026-05-12 18:15:16 +02:00
2026-05-12-l2d-next-session-prompt.md docs(phys L.2a): handoff + next-session prompt + CLAUDE.md / plan-of-record updates 2026-05-12 18:15:16 +02:00
2026-05-12-l2g-slice1-shipped-handoff.md docs(phys L.2g): slice 1 shipped handoff + B.4 gap discovery + plan-of-record 2026-05-12 23:17:05 +02:00
2026-05-13-b4b-shipped-handoff.md docs(B.4b): final-review polish — file #59 #60 follow-ups + handoff correction 2026-05-13 19:43:38 +02:00
2026-05-13-b4c-shipped-handoff.md docs(B.4c): correct handoff fabrications surfaced by final review 2026-05-14 08:03:45 +02:00
2026-05-13-b5-pickup-handoff.md docs(B.5): fresh-session handoff for BuildPickUp + ground-item interaction 2026-05-14 14:35:52 +02:00
2026-05-13-l2d-slice1-shipped-handoff.md docs(phys L.2d): slice 1 + 1.5 shipped handoff + 3rd plan-of-record reframe 2026-05-12 19:46:45 +02:00
2026-05-14-b5-shipped-handoff.md docs(B.5): ship handoff + roadmap/CLAUDE update + file #63 #64 2026-05-14 16:23:20 +02:00
2026-05-15-b6-b7-shipped-handoff.md docs(B.6+B.7): ship handoff — 36 commits, faithfulness audit, workaround retirement plan 2026-05-15 18:29:53 +02:00
2026-05-16-issue77-autowalk-handoff.md docs(research): handoff for issue #77 — close-range auto-walk + pickup overshoot 2026-05-18 08:38:31 +02:00
2026-05-16-session-handoff.md docs: rewrite handoff — M2 redirected from "kill a drudge" to indoor walkability 2026-05-16 21:01:30 +02:00
2026-05-19-cluster-a-shipped-handoff.md docs(phase): Cluster A — partial ship + handoff 2026-05-19 16:12:24 +02:00
2026-05-19-contactplane-retention-pickup-prompt.md docs(handoff): ContactPlane retention investigation pickup prompt 2026-05-20 07:06:11 +02:00
2026-05-19-indoor-cell-rendering-cause.md feat(wb): ConsoleErrorLogger + cause report — H1 swallowed-exception confirmed 2026-05-19 13:00:18 +02:00
2026-05-19-indoor-cell-rendering-probe-capture.md docs(research): Phase 1 indoor probe capture — H1 confirmed 2026-05-19 12:03:25 +02:00
2026-05-19-indoor-cell-rendering-verification.md docs(research): Phase 2 verification — floor renders, fix landed 2026-05-19 13:12:53 +02:00
2026-05-19-indoor-followup-handoff.md docs: file #87 — retire WB fork band-aid via geom-only API 2026-05-19 14:31:14 +02:00
2026-05-19-indoor-followup-prompt.md docs(handoff): indoor follow-up brief + fresh-session kickoff prompt 2026-05-19 13:36:18 +02:00
2026-05-19-indoor-walkable-plane-bsp-port-shipped-handoff.md docs: indoor walkable-plane BSP port partial-ship handoff 2026-05-20 07:03:14 +02:00
2026-05-19-indoor-walking-phase2-pickup-prompt.md docs(handoff): retarget pickup prompt — indoor/collision/physics/dungeons only 2026-05-19 19:52:17 +02:00
2026-05-19-indoor-walking-phase2-shipped-handoff.md docs(phase): Indoor walking Phase 2 — Portal-based cell tracking shipped 2026-05-19 19:31:22 +02:00
2026-05-20-indoor-walking-bug-a-handoff.md docs(handoff): indoor walking Bug A wrong-scope handoff 2026-05-20 09:38:13 +02:00
2026-05-20-m15-kickoff-handoff.md docs(handoff): M1.5 kickoff — pickup prompt + workaround inventory 2026-05-21 11:12:46 +02:00
2026-05-20-phase-a4-shipped-cell-pingpong-finding.md docs(roadmap): A4 shipped + #90 cell-tracking ping-pong filed 2026-05-20 20:10:29 +02:00
2026-05-21-a6-cdb-capture-findings.md ship(phys): A6.P3 slice 1 — Indoor ContactPlane retention COMPLETE 2026-05-22 10:11:44 +02:00
2026-05-21-a6-p1-partial-ship-handoff.md docs(handoff): A6.P1 partial-ship — infra DONE, captures 1/9 2026-05-21 20:05:17 +02:00
2026-05-21-a6-p3-slice1-retail-mech-b-research.md fix(research): A6.P3 slice 1 T1 — citation corrections + LKCP re-latch note 2026-05-22 08:20:24 +02:00
2026-05-21-collision-fixes-shipped-handoff.md docs(handoff): update pickup prompt to point at main + fresh worktree 2026-05-20 15:05:07 +02:00
2026-05-21-indoor-walking-doorway-investigation-prompt.md docs(handoff): pickup prompt for indoor walking doorway investigation 2026-05-20 09:55:47 +02:00
2026-05-21-open-items-pickup-prompt.md docs(milestones): promote indoor work to M1.5 — primary focus 2026-05-21 10:32:24 +02:00
2026-05-21-phase-o-t1-prompt.md docs(O-T1): session handoff prompt for Phase O Task 1 (WB usage audit) 2026-05-21 14:01:06 +02:00
2026-05-21-phase-o-t1-wb-audit.md docs(O): O-T1 audit shipped + Phase O spec amended 2026-05-21 14:35:38 +02:00
2026-05-21-walk-miss-capture-findings.md docs(physics): spec + plan + findings for ISSUES #83 walk-miss probe spike 2026-05-20 11:00:11 +02:00
acclient_animation_map.md fix(anim): implement adjust_motion — TurnLeft/SideStepLeft play backward 2026-04-13 12:17:26 +02:00
acclient_animation_pseudocode.md research: full animation pseudocode from decompiled acclient.exe 2026-04-13 12:43:44 +02:00
acclient_architecture_map.md docs: comprehensive architecture plan for acdream 2026-04-13 14:23:50 +02:00
acclient_decompiled.c research: decompile acclient.exe terrain/physics via Ghidra headless 2026-04-12 23:18:27 +02:00
acclient_function_map.md docs(research): #9 sweep acclient_function_map.md against PDB symbols 2026-04-25 17:44:07 +02:00
acclient_indoor_transitions_pseudocode.md research: indoor transition pseudocode from ACE + decompiled analysis 2026-04-13 13:56:16 +02:00
transition_pseudocode.md docs(research): collision transition system pseudocode from decompiled + ACE 2026-04-13 23:41:13 +02:00