Rewrite drag/cluster system with magnetic snap and gather gesture

Refactorkamo-internal
Shipped
29 Aprili 2026, 21:55 UTC
Author
kamo
Commit
50eec27

Replace the monolithic HexHeadGroup (847 lines) with a modular cluster engine under app/components/chat/hexheads/. Single source of truth: every head lives in a cluster (size 1+), with seats filled innermost-first. Drag detaches a head into its own cluster; on release within MAGNETIC_RADIUS of another cluster's bounding circle, it merges into the closest free seat. Wiggle/shake, circular motion, or hold-while-moving during a drag triggers a gather that pulls every other head into the dragged cluster as a single mega-cluster. Tool windows now only soft-push clusters that actually overlap them, eliminating the cascading reflow that caused heads to fly around on every window event. The home cluster re-pins to the bottom-right after any structural change. Adds a magnetic preview ghost to telegraph snap targets during drags.

All changes

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