Editor's thread color picker shows every catalog color in a uniform grid — no visual differentiation by thread line / brand / type, the user can't tell at a glance which colors are 'standard Robison-Anton' vs 'Brother PR-10' vs 'custom' #257
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#257
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's Thread Color picker renders each color as a swatch in a 5-column grid. The swatch is just a colored circle/rectangle. There's no visual differentiation by:grep -n 'line\|brand\|inUse' src/components/editor/EditorRightPanel.tsxreturns 0 hits for visual differentiation.A user with:
Sees 65 identical swatches. They can't tell which is which at a glance. They have to hover each one to read the name in the tooltip.
Where
src/components/editor/EditorRightPanel.tsx(the 5-column grid)ThreadColortype — let me check if it has these fieldsSuggested fix shape
Add subtle visual differentiation:
Custom colors (per #233): show a small star or "C" badge on the swatch's corner. A custom color stands out from the catalog.
In-use vs not-in-use: highlight the colors currently used by at least one path. A small "•" dot on the swatch's bottom-right, or a thicker border.
Group by line/brand: instead of a single 5-column grid, render separate sections: "Robison-Anton Rayon" header, "Brother Polyester" header, "Custom" header. Each section is its own grid.
Hover for details: on hover, show the line/brand in the tooltip (already in the catalog data).
The
ThreadColortype may need aline?: stringfield (e.g., "Robison-Anton Rayon", "Brother Polyester"). The current type may already have it; let me check.If the type doesn't have it, add it:
Severity
Low. The user can hover each color. Power users with large catalogs notice.
Discovered by
Gap analysis (2026-10-02) of thread color picker affordances.
Related
useThreadLibrary) has the same colors; the editor's picker is the same UI surface.Fixed in
499db84— two small affordances added to the Editor's thread color picker:Custom colors get a "C" badge top-right. Reads the existing
LibraryEntry.sourcefield ('user'for entries created via the Add Thread Color modal,'service'for catalog entries from the Brother PR10 service). PlainThreadColor[]callers (tests, anything not yet on the three-tier library) show no badge.Colors currently used by a path get a small white dot bottom-right. Computed from
paths[i].threadColor. The currently-selected swatch hides the dot — the amber current-border is the only badge on it.The title and aria-label pick up the same context (
· custom,· in use) so hover-tooltip and screen reader text carry the differentiation.I scoped the fix to the Editor picker (the surface flagged in #257). The Workspace's
RightPanel.tsxhas the same uniform-grid shape at line 723 — happy to mirror the badges there as a follow-up if you want consistency across both pickers.Tests: 3 new cases pin the
data-sourceattribute, the in-use dot, and the custom badge. 153/153EditorRightPaneltests pass.Fixed in commit. Closing.