feat(ui): swap panels within the same canvas - #95
Merged
Conversation
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
Dragging a single Panel onto another visible, unlocked Panel on the same canvas exchanges their occupied slots on release. Both slots are highlighted during the drag. Panel identities, contents and metadata stay together, and contents scale when slot sizes differ. The exchange is one undoable action; plot rendering refreshes on apply, undo and redo.
The gesture also works when the first movement past the drag threshold and release occur in the same frame. Multi-Panel moves and cross-canvas tiling retain their existing behavior. The English and Simplified Chinese layout guides describe the gesture.
Validation
cargo pr-checkpassed at9ccecb6, including formatting, source size, dependency policy, both default frontends, Clippy and the reference-backend test suite.npm run buildindocs/passed (77 pages).cargo pr-checkand documentation build passed at23065db.UI display logic
This is a Panel-local direct manipulation gesture. It adds no Ribbon, menu, shortcut, or background-triggered layout action, so no command-catalog registration is needed. The English and Simplified Chinese manuals are updated.