From ab35a78c1dff9c4a1efd89122777ccfa7e8c6eb2 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 3 Jul 2026 15:14:57 +0200 Subject: [PATCH] docs: file #160-#163 (remote run-pace, landing pose retest, glide adjudication, temp-diag strip) + handoff postscript 2 --- docs/ISSUES.md | 53 +++++++++++++++++++ .../2026-07-03-phase-r-session-handoff.md | 16 ++++++ 2 files changed, 69 insertions(+) diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 42d7a233..f29c6dd6 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -46,6 +46,59 @@ Copy this block when adding a new issue: --- +## #160 — Remote moveto: run animation pace vs actual movement speed mismatch + +**Status:** OPEN (2026-07-03, R4-V5 live verify) +**Symptom:** observing a retail player's server MoveToChain from acdream: +close-range movetos WALK correctly; at run distance the RUN cycle plays but +the body moves visibly slower than the legs (treadmilling). The legs' pace +comes from the manager's dispatch (`_DoMotion` → `apply_run_to_command` × +`MyRunRate` = the wire's mt-6 `MoveToRunRate`, observed 4.50 for a +high-skill char); the body's position is queue-chased from ACE's actual +UpdatePosition stream — evidently slower than that rate. Speed-source +disagreement: either ACE's chain moves slower than the advertised runRate, +or our dispatched cycle speed over-scales (compare: local player run pace +was correct). **Evidence to gather:** UP cadence Δpos/Δt for the mover vs +`RunAnimSpeed × dispatched speed`; check what speed ACE's MoveToChain +actually steps at (Player_Move.cs / Creature GetRunRate usage). +**Where:** GameWindow `TickRemoteMoveTo` + the L.3 M2 queue chase vs +`MotionTableDispatchSink` dispatch speed. Related: TS-33 cadence rows. + +## #161 — Remote jump landing holds the falling pose (no landing anim) + +**Status:** OPEN (2026-07-03, R4-V5 live verify) +**Symptom:** observing a retail player jump from acdream: the arc plays, +but on touchdown the character stays in the falling pose instead of the +landing/idle transition. Landing path: the remote resolver landing block +(GameWindow `rm.Motion.HitGround()` + K-fix17 SetCycle) — instrument +whether HitGround's re-apply dispatches, whether the landing SetCycle +fires, and whether the InWorld link fix (350fb5e3) changed it (links were +being stripped on every remote dispatch until then — retest FIRST, this +may already be fixed by TS-40's landing-transition links surviving). + +## #162 — Observer-side moveto cancelled by ACE's autonomous MTS reflections (the "glide" class) + +**Status:** OPEN — adjudication PENDING USER (2026-07-03) +**Finding (ACE-source-verified):** ACE re-broadcasts every inbound +MoveToState to all observers as an autonomous mt-0 UM (MovementData.cs:162 +hardcoded IsAutonomous=true — ACE's own comment: "this is a hack ... +investigate this"; GameActionMoveToState.cs:36 unconditional), and sends a +chain exactly ONE mt-6 (no re-emit; no arrival broadcast). Retail's +unpack head-interrupt (verbatim in acdream) cancels the observer-side +moveto on each reflection → glide when the mover's client emits MTS +mid-chain. A retail observer on ACE should glide identically (parity). +**Pending:** the user's retail-observing-retail A/B; if parity confirmed, +EITHER accept, OR ship a narrow registered ACE-compat adaptation (e.g. +command-less autonomous reflection doesn't cancel an armed remote moveto) +— requires explicit user approval per the no-workarounds rule. + +## #163 — Strip the R4-V5 stall-investigation diagnostics + +**Status:** OPEN (2026-07-03) — remove `[autowalk-gate]` ( +PlayerMovementController, + `_lastAutowalkGateLogTime`) and +`[autowalk-feed]` (GameWindow player tracker feed) once #160-#162 close; +they're TEMPORARY-tagged in-code. + ## #159 — CombatAnimationPlanner uses 2013-decomp command numbering, not ACE/DRW **Status:** OPEN diff --git a/docs/research/2026-07-03-phase-r-session-handoff.md b/docs/research/2026-07-03-phase-r-session-handoff.md index bd551100..d9a32e04 100644 --- a/docs/research/2026-07-03-phase-r-session-handoff.md +++ b/docs/research/2026-07-03-phase-r-session-handoff.md @@ -12,6 +12,22 @@ > stop transitions, zero exceptions/stalls). Suite: 3,956 green. > REMAINING: the ONE combined R2+R3+R4 user visual pass, then R5. > The sections below are the historical entry state, kept verbatim. +> +> **POSTSCRIPT 2 (2026-07-03, the live verify session):** four live bugs +> found+fixed during the user's pass, each root-caused (trail: +> `c2dc1a88` StopCompletely's missing StopCompletely_Internal animation +> dispatch orphaned pending_motions → wait-for-anims wedge; `24569fd2` +> login SetPosition ran before the sink bind → one immortal orphan node; +> `006cf659` remote-player movetos never ticked (glide) + door UMs +> dropped (no RemoteMotion for UP-less entities); `350fb5e3` the +> detached-object guard's ObjCellId proxy stripped ALL remote transition +> links → door-swing snap, register TS-40). CONFIRMED WORKING by user: +> local use-walk + door open + door swing + remote close-range walk. +> STILL OPEN: ISSUES **#160** (remote run-anim pace vs ACE movement +> speed), **#161** (remote landing pose — retest first, TS-40 may have +> fixed it), **#162** (glide-class ACE autonomous-reflection cancels — +> adjudication pending the user's retail-vs-retail A/B; adaptation needs +> explicit approval), **#163** (strip the temp diagnostics). **Read this first, then the plan of record** (`docs/plans/2026-07-02-retail-motion-animation-rewrite.md`). This session