Editor has no 'reverse path direction' or 'close path' operations — common path ops in any vector editor are missing #209
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#209
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 -n 'reversePath\|REVERSE_PATH\|closePath\|CLOSE_PATH\|isClosed' src/returns 0 hits. The Editor has:But no:
Both are standard operations in any vector editor. The StitchPath type has no
isClosedfield; either the first node is implicitly the close point, or the path is always open.src/components/editor/types.ts:StitchPathhasnodes: PathNode[],stitchType,density,hex,visibleclosedfieldWhere
src/components/editor/types.tssrc/components/editor/EditorRightPanel.tsx(no reverse/close buttons)grep -n 'REVERSE_PATH\|CLOSE_PATH' src/components/editor/returns 0Suggested fix shape
Reverse path:
onReverseSelectedPathreverses thenodesarray in the selected path. The control points (controlIn/controlOut) need to be swapped too: a node's incoming handle becomes its outgoing handle and vice versa. Pushing history for undo.Close path:
Add a
closed: booleanfield toStitchPathand a toggle in the right panel:The canvas renderer uses the
closedflag to draw the closing segment (no node is added; the renderer just draws a line from last → first). Fill rendering respects the flag.Severity
Medium. These are table-stakes operations for any vector editor; power users notice their absence immediately.
Discovered by
Gap analysis (2026-10-02) of editor path operations.
Related
Shipped in commit
45ba490on origin/main.closed?: booleanon StitchPath (falsy for older persisted designs).12 new vitest cases (renderer closing-segment variants + right-panel click / disable / back-compat). Full suite 1001/1001, tsc + eslint clean.
gradient: { startColor, endColor }field to StitchPath type (#350 type layer) #393