Drop in place after a paused drag instead of drifting

Fixkamo-internal
已装运
2026年4月30日 02:01 UTC
作者
kamo
提交
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.

所有更改

就像你看到的运输?

每一个都自动更新您工作空间的地盘。 开始自由,看它成长 一周又一周.

永远开始自由查看定价