Decompose: Implement real auto-digitize engine — Phase 5: Thread Palette Mapping & Engine Integration #10
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#10
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?
⚠️ Re-scoped — blocked on #11
~/Projects/easystitch/src/embroidery_converter/thread_manager.py(ΔE-2000 thread matching, Brother PR-10 catalog)
New scope (post #11)
Thread palette mapping and the integration glue are the only
TypeScript-side concerns. The actual catalog + ΔE distance math
lives in the service.
paletteIndexreturned by/v1/digitize(one per stitchobject) to drive the Workspace's thread color picker. The picker
should display the Brother catalog entry's name + swatch, not the
raw RGB.
GET /v1/threads/catalogcall (or served as a static JSON bundlealongside the frontend build — coordinate with #11).
picker), call
POST /v1/threads/resolveto find the nearestcatalog entry on the fly. Debounce to avoid spamming the service.
/v1/digitize(per #6) andshow progress in
RightPanel.tsxduring the round-trip.Brother catalog as TS data.
Acceptance: the Workspace's color picker shows Brother catalog
names (e.g. "Polyneon Pale Plum 907") instead of raw hex, and
the auto-digitize button produces a full stitch-object set in
the right panel within 2 seconds.
Blocked on #11 (Stand up EasyStitch as an HTTP service for ThreadCraft).
This work has been re-scoped — see the updated body. The reframe replaces
"implement from scratch" with "call the EasyStitch service and render the
result." #11 must complete first; once the service exposes
/v1/digitizeand/v1/export, this work becomes a thin client + canvas rendering job.cc: #11
Blocked-on update
This issue is blocked on easystitch-service#1 ("FastAPI wrapper exposing easystitch pipeline as HTTP service").
Why: the paletteIndex comes from /v1/digitize (and /v1/threads/resolve for live preview).
The parent ticket [Kimi_Agent_Brother_10_Digitizing_App#11] is the integration contract. The actual implementation lives in Mark/easystitch-service. When easystitch-service#1 closes, this issue can move forward.
There is also a frontend-side wiring issue: [Mark/easystitch-service#3] ("TypeScript client wrapper + vite dev proxy") — that one will be mirrored into the ThreadCraft repo as a frontend sub-issue when it's ready to dispatch.