Service returns 5 stitch types (satin, fill, running, tatami_fill, jump) — editor exposes 3 and silently maps jump→running, which is wrong (jump stitches are connector lines, not real stitches) #130
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#130
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
The service's
Region.stitchTypeis"satin" | "fill" | "running" | "tatami_fill" | "jump". The editor's stitch-type dropdown offers only 3 options: Satin, Fill, Running.The client silently maps
tatami_fill → fillandjump → runningviamapServiceStitchTypeToWorkspace(src/lib/digitize-adapters.ts:160-175). The user has no way to know which a region originally was.For
tatami_fill, the mapping is probably fine — tatami is a fill variant. The user wouldn't notice.For
jump, the mapping is wrong. Jump stitches are not real stitches; they're connection lines the machine makes between non-adjacent regions without laying thread. Treating them asrunningand exporting them as actual stitches would produce a non-stitchable file: the user would have visible lines of running thread connecting their design elements, which the design never called for.Where
src/lib/easystitch-client.ts:38(Region) and:48(StitchObject)src/lib/digitize-adapters.ts:160-175(mapServiceStitchTypeToWorkspace)src/components/editor/EditorRightPanel.tsx:294-296(the 3-option select)src/pages/Help.tsx:78-95documents 9 stitch types (Satin, Fill, Running, Cross-Stitch, Motif, Zigzag, Bean, Applique, Stem) — only 3 are exposed in the editorSuggested fix shape
Two parts:
Don't map
jumptorunningon the client side. Either:jumptype in the workspace model and add it as a non-stitchable "connector line" that the renderer draws as a thin dashed line, never exported as a stitch.Preserve
tatami_fillas its own type or fold it tofillcorrectly. If folding, the editor should at least remember the original was tatami (stamped in the path's metadata) so the export can decide whether to emit tatami or regular fill stitch geometry.The simplest fix that prevents user harm: filter
jumpregions from the response. Jump stitches are an export concern, not a workspace concern. The Workspace doesn't need to show them. The export can either add them back as no-thread connector lines in the PES, or rely on the machine's auto-jump behavior (most modern machines handle this).Discovered by
Gap analysis (2026-10-02) of unreached service response data.
Related
originalServiceStitchTypebut it's never set anywhere #157