Drop in place after a paused drag instead of drifting

Fixkamo-internal
Name
lúc 02:01 30 tháng 4, 2026 UTC
Tác giả
kamo
Cam kết
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.

Mọi thay đổi

Như những gì anh thấy vận chuyển?

Mỗi một bản cập nhật này đều được tự động cập nhật trong không gian làm việc của bạn. Bắt đầu tự do và xem nó lớn lên tuần này qua tuần khác.

Bắt đầu tự do mãi mãiXem truy cập