Editor has no path split/merge operations — scissors tool cuts a path at one segment but you can't split into two separate paths or merge two selected paths into one #204
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#204
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding
src/components/editor/EditorCanvas.tsx's Scissors mode (mode === 'scissors') cuts a path at the segment the user clicks. The handler callsonAddNodeAt(line 252), which inserts a new node at the click point.grep -n 'splitPath\|SPLIT_PATH\|mergePath\|MERGE_PATH\|joinPath' src/returns 0 hits. The Editor has no:A user with two closed sub-paths they want to combine into one continuous path has to:
…or redraw from scratch. There's no "merge" affordance.
Similarly, a user with a long path that should be two separate paths (e.g., a flower stem + leaves) can't split it without manual node manipulation.
Where
src/components/editor/EditorCanvas.tsx:252(onAddNodeAt)grep -n 'SPLIT_PATH' src/returns 0grep -n 'MERGE_PATH\|joinPath' src/returns 0src/components/editor/EditorRightPanel.tsx:142-180(no split/merge buttons)Suggested fix shape
Split: in the right panel's "Path Properties" section, add a "Split Path" button next to "Add Node" / "Delete":
onSplitPathAtSelectionfinds the selected path, takes the nodes after the selected node as a new path (with new id, same color, same stitch type), and pushes both to the array. Pushes history for undo.Merge: requires multi-path selection (per #188). When 2+ paths are selected, the right panel shows a "Merge Paths" button that:
For a stitch-design app, "merge into one path" means combining all the segments into a single continuous polyline. The runtime treats merged paths as a single embroidery run; this changes the thread stops.
Severity
Medium-High. Power users with multi-path designs feel this immediately.
Discovered by
Gap analysis (2026-10-02) of editor path operations.
Related
Shipped in commits
1902ca5+7749f49on origin/main.pathsorder, inherits the primary path's color/stitchType/density/underlay/sequence, and bumps sequence slots so playback order stays gap-free.The split surface is intentionally distinct from the Scissors tool (#6) — Scissors inserts a node on the canvas at a clicked segment; Split is a path-level operation that requires an explicit node anchor from the right panel. Merge depends on multi-path selection added in #188.
Try: select 2+ paths in the Path List, click 'Merge N Paths' — the right panel confirms a single new path with concatenated nodes in design order. Or: select one path + one node, click 'Split Path' — the path cuts at that node into head + tail with both inheriting the source's color/density/stitchType.