- 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.