Implement real PES file export #2
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#2
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/output_generators/pes_generator.py~/Projects/easystitch/src/post_processing/pull_compensation.pyNew scope (post #11)
Replace the in-app PES export with a thin client of the EasyStitch
service. Specifically:
src/lib/easystitch-client.tstyped wrapper (or use the oneintroduced in #11) with a
exportPES(stitchObjects, opts) => Blobfunction that calls
POST /v1/exportand returns the binary.src/components/workspace/ExportDialog.tsxto call thisclient when the user picks PES, and trigger a file download with
the returned bytes.
X-Stitch-CountandX-Color-Countheadersin the export confirmation toast.
the failure and offer a "retry". Do not crash the React tree.
Acceptance: a real PES file downloads from the Workspace export
flow and opens in an embroidery viewer (e.g. Ink/Stitch or
embroiderviewer.com) with the design rendered correctly.
Auto-triage: needs decompose
Marked
triage-approved+needs-decompose. decompose-executor will pick this up and break it into implementable sub-issues.Mark referenced this issue2026-06-22 15:28:18 +00:00
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#2 ("Dockerfile + node_hub deployment configuration").
Why: needs the FastAPI wrapper (#1) deployed before /v1/export can be called from the browser.
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#2 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.
Auto-triage: needs decompose
Marked
triage-approved+needs-decompose. decompose-executor will pick this up and break it into implementable sub-issues.