From d9c8b5762b64edf8bf493934e0884aa176dfe831 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 18 May 2026 15:16:50 +0200 Subject: [PATCH] docs(issues): close #61 in ISSUES.md (closed by 9f069e1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mark #61 DONE inline with the resolution writeup, including the widened scope note that the same link→cycle boundary bug also caused the local-player run-stop twitch the user observed during the M2 anim-pass session. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/ISSUES.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 1dc8147..bce9fec 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -665,9 +665,19 @@ int animFrame0Parts = ae.Animation?.PartFrames.Count > 0 --- -## #61 — AnimationSequencer link→cycle boundary flash on one-shot motion (door swing) +## #61 — [DONE 2026-05-18 · `9f069e1`] AnimationSequencer link→cycle boundary flash on one-shot motion (door swing) + +**Status:** DONE — fixed by `9f069e1` (also widened scope: same bug +manifested as the local-player run-stop twitch — user-observed during +the M2 anim-pass session). Root cause was `BuildBlendedFrame` wrapping +`nextIdx` to `rangeLo` unconditionally at the high-frame boundary — +correct for looping cycles (idle/run/walk loops), wrong for one-shot +links. During the ~30 ms fractional tail of any link, the renderer +blended `frame[end]` with `frame[0]`, producing the flash through the +anim's starting pose. Fix: gate the wrap on `curr.IsLooping`. Pinned by +the new `Advance_LinkTailDoesNotBlendIntoLinkFrame0` regression test. +Visual-verified by the user end-to-end on 2026-05-18. -**Status:** OPEN **Severity:** LOW (visual polish — animation works, brief one-frame flash through prior pose at end of swing) **Filed:** 2026-05-13 (visual test of B.4c) **Component:** animation / `AcDream.Core.Physics.AnimationSequencer` link+cycle transition