Editor has no 'snap to path' or 'snap to other path's nodes' — user trying to align a new path to an existing path's node has to estimate, no automatic snap-to-other-path #303
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#303
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
grep -rn 'snapToOtherPath\|snapToPath' src/components/editor/returns 0. The editor has snap to grid, snap to nodes (within the same path), but no snap to other paths' nodes.A user drawing a new path:
The fix is snap-to-other-path-nodes.
Where
src/components/editor/types.ts(existing fields: snapToNodes, snapToGrid, snapToHoop)grep -rn 'snapToOtherPath' src/components/editor/returns 0src/components/editor/geometry.ts(where the algorithm lives)Suggested fix shape
UI: when the new path's node is within 2mm of an existing path's node, snap to it and show a visual indicator (a small circle around the snap target).
Toggle: a "Snap to other paths" toggle in the snap settings (default: on).
Modifier: hold Alt to disable snap (like most editors' "no snap" modifier).
Severity
Low. The user can use the grid. Power users with precise alignment needs notice.
Discovered by
Gap analysis (2026-10-02) of editor snap affordances.
Related
SnapSettings. AddingsnapToOtherPaths: booleanis the type change.Shipped at
dafcd8bon origin/main.SnapSettingsgainssnapToOtherPaths: boolean(default true) with a right-panel toggle;applySnapnow takes anotherPathNodes: PathNode[]parameter that joins the snap-to-nodes search only when the toggle is on, AFTER own-path candidates so a sibling still wins at equal distance;SnapResultcarries atargetdiscriminator so the canvas paints a dashed ring when the snap grabbed a node on a different path than the one being edited. 9/9 new tests pass (issue-303.test.tsx), 666/666 editor tests pass.