Digitized stitch geometry discarded — workspace/editor model and export use region outlines (~5 pts), not real stitches #96
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#96
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?
Summary
The workspace model is built from region polygon outlines; the service's real stitch geometry (
response.stitchObjects, thousands of stitches) is used only to compute thread stops and then discarded. Export therefore sends region outlines (~5 points each) instead of the digitized stitches.Verified live 2026-09-15 against the running stack (vite :3000 -> easystitch-service :8080 -> engine):
stats.totalStitches), returns fullstitchObjects.fromServiceRegionhardcodesstitchCount: 0atsrc/lib/digitize-adapters.ts:100).sessionStorage(tc_workspace_snapshot), so the Editor works on outlines too.Where
src/components/workspace/useWorkspace.ts:580-589— mapsresponse.stitchObjectsonly intocomputeThreadStops, then callscommitDigitizedResult(colorRegions).src/components/workspace/useWorkspace.ts:489-514— builds workspaceStitchObjects fromcolorRegions(outlinepoints).src/lib/digitize-adapters.ts:88-105—fromServiceRegionsetsstitchCount: 0,points = region.polygon.ExportDialog->toServiceStitchObjects(state.stitchObjects)->POST /v1/export(outlines).Expected
The committed workspace/editor model carries the real
response.stitchObjectsgeometry (converted viafromServiceStitchObject), with regions kept as metadata/selection boundaries. Exported PES contains the actual digitized stitches; Object List / totals reflect real stitch counts.Actual
Exported PES = region outline polygons. Everything downstream (Editor, export, per-object stitch counts) operates on outlines.
Severity
P1 — the core promise (image -> stitches -> PES) produces outline-only output for auto-digitized designs.
stitch_objects:[]and swallows API 422 — export is a no-op from the UI #103() => {}or missing (DesignCard.tsx:226, :363) #111