Editor has no multi-path selection — selectedPathId is string | null not Set<string>, so the user can only ever edit one path at a time even with 5+ paths in a design #188
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#188
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/EditorRightPanel.tsx:14declaresselectedPathId: string | null(single id, nullable). Every consumer in the right panel operates on a single selected path (e.g., the "Path Properties" section at line 277 renders one path's data; the "Path List" at line 142 highlights one selected path).A user with a design containing 5 paths can't:
Each operation requires selecting one path, doing the change, selecting the next path, doing the change, etc. The Editor's "multi-select" affordance doesn't exist at the path level.
The Workspace's
stitchObjects: StitchObject[]has multi-select (the context menu's Bring to Front / Send to Back operates on a multi-selection, and the right panel's Object List renders one card per object). The Editor'spaths: StitchPath[]does not have a parallel affordance.Where
src/components/editor/EditorRightPanel.tsx:14(selectedPathId: string | null)src/components/editor/types.ts(verifyselectedPathIdis single-string)src/components/workspace/types.ts:25hasselectedIds: string[](multi)grep -n 'SELECT_PATHS\|TOGGLE_PATH_SELECTION' src/components/editor/returns 0 hitsSuggested fix shape
Type change: rename
selectedPathId: string | nulltoselectedPathIds: string[](array), or add a parallelselectedPathIdsfor multi-select while keepingselectedPathIdfor the "primary" path whose properties are shown.Reducer: add
TOGGLE_PATH_SELECTION(adds/removes an id from the array) andCLEAR_PATH_SELECTIONactions.UI affordances:
Backwards compatibility: the "primary path" stays
selectedPathId(the first in the array, or the one that was last clicked without modifier). The right panel renders the primary path's properties.Severity
Medium. Power users with multi-path designs feel the friction immediately. New users don't notice.
Discovered by
Gap analysis (2026-10-02) of editor selection model.
Related
selectedIds: string[]is the model to mirror.