Decompose: Implement real auto-digitize engine — Phase 4: Tatami Fill Stitch Generation #9
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#9
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/fill_stitch_generator.pyNew scope (post #11)
Tatami fill generation runs in the Python service. The TypeScript
side only renders the result.
stitchObjects[].type == 'fill'from the/v1/digitizeresponse (introduced in #6).
stitches[]array is already in the rendered order (zigzagalternation handled by the service).
src/lib/canvas/fillRenderer.tsthat iterates the pointsand draws segments between consecutive points.
Acceptance: a tatami fill region in a test image renders as
alternating-direction rows that visually cover the source polygon,
with row spacing consistent with the configured
fillDensityMmsetting.
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: tatami fill generation runs in the service; rendering the response is the TS-side work.
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.