Repository navigation
Artboard tool: Alt-drag duplicates the artboard (and its art) - #348
Merged
bflatastic merged 2 commits intoOct 7, 2026
Merged
Conversation
Alt-dragging an artboard moved it like a plain drag. artboard.move now takes copy: it leaves the artboard (and the art it carries) where it is and moves a copy, named "<name> copy", with copies of that art. The Artboard tool previews it while Alt is held, as "Duplicate Artboard" (Alt pressed or released mid-drag switches between copy and move), and makes the copy the active artboard, as in the reference app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t the copies (review of storytold#348) artboard.move with copy and artboard.duplicate now make the copy with one helper: a new id that can't overflow and a name of its own (`<name> copy`, then `<name> copy 2`…, so two copies of one artboard no longer share a name). `moved` lists the copies a copy moved rather than the originals it left. Test it with and without moveArt, and note Alt-drag in the ROADMAP. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bflatastic
force-pushed
the
fix/artboard-alt-drag-duplicates
branch
from
October 7, 2026 20:52
33f9a93 to
17e654a
Compare
Member
|
Thanks @theironchef, merged! Alt-drag with the Artboard tool now duplicates the artboard, with its art when Move/Copy Artwork with Artboard is on, and Alt pressed or released mid-drag switches between copy and move. I rebased it on main and added one commit on top:
Live check: an Alt-drag made "Artboard 1 copy" with its 6 objects copied, and one undo removed both. Releasing Alt mid-drag gave a plain move. Over MCP, |
h-a-n-a-s-h-i
pushed a commit
that referenced
this pull request
Oct 7, 2026
Add Snapping to the Artboard Tool Merged with the Artboard tool's Alt-drag duplicate (#348): a copy snaps too, and to the artboard and art it leaves behind (a move skips them). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Fixes #346.
Problem: with the Artboard tool, Alt-dragging an artboard moved it like a plain drag. In Illustrator it duplicates the artboard: the copy follows the pointer and, with Move/Copy Artwork on, carries copies of its artwork (Duplicate artboards).
artboard.duplicateexists but always puts the copy right of the last artboard, without art.Change
artboard.move(engine,cmd/xform.rs) takescopy?: bool.dx/dy, along with copies of that art.Document::reid) and inserted just above its original.indexis the copy's.copy, nothing changes.tools/src/xform/artboard.rs) sendscopywhile Alt is held during a move drag. The step begins as "Duplicate Artboard" or "Move Artboard".Tests
artboard_alt_drag_duplicates_it_with_its_art, an Alt-drag throughSession::pointerwith the Artboard tool:alt_drag_moves_a_copy_of_the_artboard: the preview'scopyflag and the Cancel/Begin switch when Alt changes mid-drag.move_resize_create_deletenow expects"copy": falsein the move preview.cargo test -p vectorcraft-tools(189) and-p vectorcraft-engine(1254 and the integration tests, command sweep included): all passed.cargo clippy -p vectorcraft-tools -p vectorcraft-engine --all-targets -- -D warnings(Rust 1.99): clean.cargo fmt --all -- --check: clean.I didn't run the full
cargo xtask ci(wasm step) here.🤖 Generated with Claude Code