docs(#170): session handoff + pickup prompt for the "sustain the run" residual

Detailed handoff (docs/research/2026-07-04-170-creature-run-handoff.md) + paste
prompt (2026-07-04-170-pickup-prompt.md) for continuing #170 in a fresh session.
Records the full root-cause chain (retail cdb + acdream probes), the landed partial
fix (427332ac: per-frame apply_current_movement flood deleted → pending_motions
1.3M→~1, run installs, stuck-attack gone), the one residual (Ready-stop drain lag →
run not fully sustained), the exact next steps (cdb the retail Ready-stop drain), the
apparatus (env-gated probes + cdb scripts), the file:line map, and the DO-NOT-RETRY
list (superseded MovementManager-coexistence hypothesis; keep the velocity fix; don't
patch the retail-faithful motions_pending guard). ISSUES #170 updated to PARTIAL.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-07-04 20:31:40 +02:00
parent 427332acaa
commit e744192361
3 changed files with 246 additions and 1 deletions

View file

@ -48,7 +48,25 @@ Copy this block when adding a new issue:
## #170 — Remote creature chase+attack renders wrong vs retail (glide, over-frequency, uniform attack anims)
**Status:** OPEN
**Status:** OPEN — **PARTIAL FIX landed `427332ac` (2026-07-04); residual = "sustain the run".**
Root-caused end-to-end with live retail cdb tracing + acdream probes. The chase run
cycle is manufactured client-side from mt-6 (`HandleUpdateTarget → MoveToObject_Internal
→ TurnToHeading node completes via UseTime → BeginMoveForward → RunForward substate`);
`BeginTurnToHeading` bails while `CMotionInterp.motions_pending` is non-empty
(retail-faithful). acdream's `pending_motions` EXPLODED to ~1.3M entries because the
NPC per-tick called `apply_current_movement` EVERY FRAME (re-dispatching stance+attack+
stops), so `MotionsPending()` stayed permanently true → the chase turn never started →
no RunForward → slide. FIX = delete the per-frame `apply_current_movement` (GameWindow
~9992; retail dispatches per UM, `add_to_queue==MotionDone`). VERIFIED: flood 1.3M→~1,
"stuck attack" GONE (user-confirmed), run installs (BeginMoveForward 1→10). **RESIDUAL
(next session):** still blocked motionsPending=True 94% by a `Ready` (0x41000003)
stop-node backlog that drains a beat slower than retail (~10 run-starts vs retail 21 →
twitches+glides). Fix the R2/R3 `Ready`-stop DRAIN so acdream fully empties like retail
(retail is the oracle — cdb the drain). **SSOT + pickup:**
`docs/research/2026-07-04-170-creature-run-handoff.md` +
`docs/research/2026-07-04-170-pickup-prompt.md`. SUPERSEDES the earlier
MovementManager-coexistence hypothesis (`eb423fb7`, wrong) and the velocity fix
(`d2ccc80e`, correct but position-only). #159 was a red herring here.
**Severity:** MEDIUM (visual — remote combat / aggro)
**Filed:** 2026-07-03 (user retail side-by-side during the R5-V2 visual gate)
**Component:** animation, remote entity, combat