Repository navigation
The canvas previews the drop before it happens - #45
Merged
Merged
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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