Drop firmly in place — tail-only throw + jump() to clear velocity

Fixkamo-internal
Ya
30 Aprili 2026, 03:00 UTC
Mwandishi
kamo
Ahadi ya
14bc9d8

The previous fix still let heads drift on release because: 1. Throw detection averaged velocity across the full 110ms window. A user who flicked then decelerated to a slow crawl before release still averaged > 650 px/s over that window and got a false-positive throw. Now we look only at the last RELEASE_TAIL_MS (60ms) of pointer samples, so a decelerating release with slow tail velocity is correctly read as a deliberate drop. Pause guard widened to 60ms to match. 2. animate(mx, fx, { velocity: 0 }) doesn't actually clear MotionValue's internally-tracked velocity from the rapid mx.set() chain — it just starts a new spring with 0 initial velocity. Switched to mx.jump(fx), which is purpose-built for this: it stops active animations, zeros tracked velocity, and sets the value in one call. 3. For the mega-cluster path, rewireCluster now runs BEFORE the anchor jump so follower change subscriptions are reattached cleanly before the jump fires its anchor-change event — the new subs see velocity-0 targets unchanged from where they just sprung to.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei