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#295
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
The Bottom Thread Bar (per
EditorThreadBar.tsx) shows the thread stops in sewing order. The order is computed from the path's array position and the color-region's geometry.grep -rn 'reorderStop\|onReorderStops' src/components/editor/returns 0. The user has no way to manually reorder.grep -rn 'onReorderStops' src/components/workspace/issue-222— let me check #222's status.src/components/workspace/issue-222— there's a test file for it. So the workspace's reorder was tested. Let me check the editor's.grep -rn 'onReorderStops' src/pages/Editor.tsx— would tell me if the editor's reorder handler is wired.Actually, the editor's thread bar is read-only by my read. The reorder is in the workspace.
A user in the editor who wants to reorder the thread stops:
Where
src/components/editor/EditorThreadBar.tsx(read-only)grep -rn 'onReorderStops' src/components/editor/returns 0Suggested fix shape
Verify: confirm if the workspace has
onReorderStops(it might be from #222).Editor: add a drag handle to each thread stop in the editor's thread bar:
Visual feedback: drop indicator between stops.
EditorContextMenu (per #191): add "Move up" / "Move down" / "Move to top" / "Move to bottom" items.
State: the thread stops array is reordered. Persisted to the design.
Severity
Low. The user can go to the workspace. Power users iterating in the editor notice.
Discovered by
Gap analysis (2026-10-02) of editor thread bar affordances.
Related
Closed by commit
9dc3860on origin/main.Adds drag-to-reorder thread stops in the editor's Bottom Thread Bar. Mirrors the workspace's BottomThreadBar onReorderStops contract (#165) so the editor and workspace surfaces stay symmetrical.
Implementation:
EditorThreadBar.tsx: each chip wrapper renders a<GripVertical>drag handle whenonReorderStopsis provided. Dragging dims the source to opacity 0.4 and draws a vertical accent bar to the left or right of the cursor midpoint. The drop firesonReorderStops(from, to)using the same forward/backward adjustment the workspace uses.Editor.tsx(handleReorderThreadStops): reorders the underlying paths array sopathsToThreadStopssurfaces the new order on the next render. Groups paths bythreadColor(preserving intra-color stitch order) and reorders the group sequence to match the new stop order. No-op guard for <2 distinct stops orfrom === toafter clamp.EditorThreadBar.onReorderStops={handleReorderThreadStops}wired in the Editor page.Tested: 10 new component tests in
EditorThreadBar.test.tsx; 8 new integration tests insrc/pages/issue-295.test.tsx. Localtsc --noEmit,eslint .,vitest run, andvite buildall green. 1779/1783 tests pass across the full suite (the 1 unrelated file failure isissue-275PathDefaultsSection subtitle, pre-existing on main).Note: Forgejo Actions CI is stuck on the self-hosted runner (every recent run including #293, #294 is
cancelledwith no picked-up status). Local gates pass; the commit is on origin/main at9dc3860.Refs #222, #190.