Drop in place after a paused drag instead of drifting

Fixkamo-internal
Shipped
30 de abril de 2026 às 02:01 UTC
Author
kamo
Commit
d047023

Two cooperating bugs caused dropped heads (single or post-gather) to fly off to seemingly random positions when the user dragged fast, slowed to a stop, then released: 1. Throw misfire from stale velocity samples. velSamples were only pruned inside pointermove, so a pause before release left the window full of old fast-drag samples. The throw detector saw high average velocity over that window and launched the head. Fix: at onUp, require the last pointermove to be within 50ms (RELEASE_PAUSE_MS) and re-trim the window against upT instead of the last sample's timestamp. 2. Follower spring overshoot from inherited velocity. The wireFollower change subscription chains animate() calls every anchor MV change, each inheriting the previous animation's velocity. When the anchor abruptly stopped, in-flight follower animations kept their momentum and oscillated past their seats. Fix: explicitly animate the dragged anchor's MV to its final position with velocity:0, and call rewireCluster(SPRING_SETTLE) on the mega-cluster path so followers re-spring from a clean velocity state.

All changes

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços