A step began playing when the swipe was already half done -- Math.round of the scroll position -- and only then started loading. So it slid into view as a still picture and came to life some time after it arrived, which is most of the waiting in a reel. The step coming into view now starts as soon as any of it is showing, and silently, so it doesn't talk over the one still being watched; its own sound setting is restored when it becomes the step being watched. A swipe carried through therefore lands on a video that is already running. A swipe that is abandoned leaves nothing behind: the step peeked at is stopped and put back where the peek found it -- the start for a step never watched, where it was left for one scrolled past -- so the next swipe to it begins at the top rather than partway through something nobody saw. "The scroll has stopped" has to mean stopped *on* a step. Scroll events also stop while a finger holds the list between two of them, and the first cut rewound the incoming video under the held finger -- which is exactly the stall this removes. A settle that finds the scroller mid-step now waits for the snap to land. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MPZFnNdHbPGDTqQUNiE4ZN
5.7 KiB
5.7 KiB