diff --git a/CLAUDE.md b/CLAUDE.md index 8cca4160..9bebbad8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -958,6 +958,12 @@ via `PlayerMovementController.ApplyServerRunRate`) or from - `ACDREAM_PROBE_FLAP=1` — capture probe for indoor visibility decisions at frame boundaries. Used to converge the U.4c flap fix (root indoor visibility at player's cell, not eye). +- `ACDREAM_PROBE_STICKY=1` — per-guid sticky-melee timeline: `[sticky]` + lifecycle lines (STICK/UNSTICK/LEASE-EXPIRE/TARGET-status teardown), + per-armed-tick steer lines (signed gap dist, applied delta, heading + delta), `[sticky-snap-skip]` at the suppressed NPC UP-snap site. + Heavy while a pack is stuck (~60 Hz × stuck count). Converged the + #171 residuals (the deep-overlap sign pin AP-82). - `ACDREAM_CAPTURE_RESOLVE=` — live capture of every player-side `PhysicsEngine.ResolveWithTransition` call. Each call appends one JSON Lines record with full inputs, PhysicsBody snapshot before AND diff --git a/docs/ISSUES.md b/docs/ISSUES.md index ea971260..eab206b1 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -48,7 +48,14 @@ Copy this block when adding a new issue: ## #171 — Group melee: monsters interpenetrate + facing drifts (sticky melee unbound, arrival radii = 0) -**Status:** FIX LANDED (2026-07-04, R5-V3) — awaiting user visual gate. StickyManager/ +**Status:** DONE (2026-07-04) — **user visual gate PASSED** ("Looks good, ship it") +after three slices: `5bd2b8bc` (R5-V3 sticky binding + real radii) + `7a823176` +(NPC UP-snap suppression while stuck — TS-44) + `69966950` (sticky deep-overlap +back-off sign pin — AP-82; ACE's literal decode steered INTO the target when the +overlap exceeded one tick's step; 1661-tick probe capture refuted it against the +retail oracle). `ACDREAM_PROBE_STICKY=1` stays as permanent gated diagnostics +(PhysicsDiagnostics family). (Move to Recently closed on next ISSUES tidy.) +History below. Original landing note: StickyManager/ PositionManager (ported R5-V1) now BOUND: `StickTo`/`Unstick`/`UnstickFromObject` seams → the host's `PositionManager` (remote + player), `AdjustOffset` composed at the retail `UpdatePositionInternal` slot before the collision sweep, diff --git a/docs/research/2026-07-03-r5-managers/r5-wiring-handoff.md b/docs/research/2026-07-03-r5-managers/r5-wiring-handoff.md index 12941c9e..915d2782 100644 --- a/docs/research/2026-07-03-r5-managers/r5-wiring-handoff.md +++ b/docs/research/2026-07-03-r5-managers/r5-wiring-handoff.md @@ -85,7 +85,9 @@ but note it. ### V3 — wire PositionManager (sticky), retire TS-39, apply mt-0 flags -> **STATUS 2026-07-04: SHIPPED (as the #171 fix), awaiting the visual gate** +> **STATUS 2026-07-04: SHIPPED + visual gate PASSED** ("Looks good, ship it"; +> three slices: `5bd2b8bc` binding+radii, `7a823176` UP-snap suppression while +> stuck TS-44, `69966950` deep-overlap sign pin AP-82) > — sticky seams bound (StickTo/Unstick/UnstickFromObject, remote + player), > AdjustOffset at the UpdatePositionInternal slot (combiner chained as the > interp stage in the remote-player branch; pre-sweep compose in the NPC