acdream/docs/research
Erik bf6d97625c docs: A6.P3 #98 — new root-cause hypothesis (stale ramp contact plane)
Today's evening session ran from "harness still doesn't reproduce the
cap" → "harness reproduces it" → "wait, the cap is only a symptom, the
real cause is upstream Z drift from the contact plane never refreshing."

The breakthrough question, from the user: "we know how retail OPENs it
from above, how hard can it be to know how to open it from below?" —
which reframed the investigation away from cap-event mechanics (where
six prior attempts looked) and toward "what about our STATE is wrong
when the player is in the cellar but not on the ramp?"

The math: player at cap is 10 m away from the cellar ramp in cell-local
X, but body.ContactPlane is still the ramp's slope plane. AdjustOffset
projects forward motion along that stale slope every tick, lifting Z
by +0.201 m per tick. After enough ticks of horizontal walking, the
head sphere reaches Z=94 and bumps the cottage floor. If the contact
plane refreshed to the flat cellar floor when the player walked off
the ramp, the drift would be zero, the cap would never be reachable.

Next session's task (per the pickup prompt at the bottom of the
findings doc): (1) verify the hypothesis chronologically against the
live capture, (2) find the walkable-refresh gap in
Transition.FindEnvCollisions / SpherePath.SetWalkable, (3) cross-ref
retail's CObjCell::find_env_collisions for the per-tick contact-plane
refresh logic.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 06:03:52 +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 feat(phys): A6.P3 slice 5 — [place-fail] probe + sharpened #98 diagnosis 2026-05-22 20:02:15 +02:00
2026-05-23-a6-captures research(phys): A6.P3 #98 — [step-walk-adjust] capture + findings 2026-05-23 16:25:04 +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
2026-05-22-a6-p3-handoff.md docs(handoff): A6.P3 2026-05-22 EOS handoff + pickup prompt for #98 fix 2026-05-22 13:32:02 +02:00
2026-05-22-a6-p3-slice5-handoff.md feat(phys): A6.P3 slice 5 — [place-fail] probe + sharpened #98 diagnosis 2026-05-22 20:02:15 +02:00
2026-05-23-a6-p3-issue98-comparison-harness-findings.md docs: A6.P3 #98 — new root-cause hypothesis (stale ramp contact plane) 2026-05-24 06:03:52 +02:00
2026-05-23-a6-p3-issue98-handoff.md docs(handoff): A6.P3 issue #98 — slice 6 failed; pivot to terrain-mesh 2026-05-23 08:56:43 +02:00
2026-05-23-a6-p3-issue98-harness-handoff.md docs(handoff): A6.P3 #98 — full-session handoff doc + CLAUDE.md/ISSUES.md updates 2026-05-23 19:09:00 +02:00
2026-05-23-a6-p3-issue98-replay-comparison.md docs(phys): A6.P3 #98 Step 5 — replay vs retail divergence comparison 2026-05-23 15:57:12 +02:00
2026-05-23-a6-stepwalkadjust-findings.md research(phys): A6.P3 #98 — [step-walk-adjust] capture + findings 2026-05-23 16:25:04 +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