Skip to content

The canvas previews the drop before it happens - #45

Merged
AllTerrainDeveloper merged 2 commits into
mainfrom
feature/drag-gap-animation
Aug 23, 2026
Merged

AllTerrainDeveloper merged 2 commits into
mainfrom
feature/drag-gap-animation

Conversation

@AllTerrainDeveloper

Copy link
Copy Markdown
Owner

While a field payload is over the canvas — or a repeater's zone — a slot the size of the dragged card follows the pointer: the card leaves the flow, its neighbours slide out of the way with first/last-position transforms, and the list previews, in real time, exactly the layout the drop will produce. The drop then reads the gap's own index instead of re-measuring the pointer, because with a card-sized hole open, a re-measured index lands the field a slot away from where the gap said it would.

The fallback drag manager learns to emit the same os.drag.* lifecycle events the shell's manager broadcasts, so the gap draws from one event stream under either manager.

Recovered from the long-lived working-tree WIP, rebased over the alltfo_ rename and synced with the delete-form merge. Typecheck + 372 vitest tests green; QA'd on 8889 — reorders land exactly on the previewed slot.

🤖 Generated with Claude Code

https://claude.ai/code/session_0119U4sRRWGcTQdwYreTwpAp

AllTerrainDeveloper and others added 2 commits August 23, 2026 19:11
While a field is dragged over the canvas — or a repeater's zone — a
slot the size of the dragged card now follows the pointer: the card
leaves the flow, its neighbours slide out of the way with first/last
position transforms, and the list shows, in real time, exactly the
layout releasing would produce. The drop then reads the gap's own
index instead of re-measuring the pointer, because with a card-sized
hole open the cards are nowhere near where a measurement of the
restored layout would put them.

The fallback drag manager learns to emit the same `os.drag.*`
lifecycle events the shell's manager broadcasts, so the gap draws
from one event stream under either manager instead of silently never
appearing without the shell.

(Recovered from the long-lived working-tree WIP and rebased over the
alltfo_ rename; typecheck and the full vitest suite pass.)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0119U4sRRWGcTQdwYreTwpAp
@AllTerrainDeveloper
AllTerrainDeveloper merged commit 05ba722 into main Aug 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant