Help page "Stitch sequences are optimized for 10-needle machines" claim unfulfilled — there's no machine-specific stitch sequence optimization in the codebase #175
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#175
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
src/pages/Help.tsx(the Home page feature card and the Help page compatibility table) advertises stitch sequence optimizations for 10-needle machines:Verified:
grep -rn 'optimize.*sequence\|minimize.*color.*change\|10.needle.*optim\|threadSystem' src/returns 1 hit insrc/lib/easystitch-client.ts:35-78(thethreadSystem: "pr10" | "single"field on the machine profile) and nothing else. ThethreadSystemfield is never read outside of its definition.There is no client-side logic that reorders thread stops to minimize color changes based on the machine profile's needle count. The digitize service receives the design as-is and returns a stitch sequence; the service is documented as accepting the settings and producing a sequence, but the client doesn't ask for any optimization.
The Help page claim says the optimization happens; the codebase has no implementation.
Where
src/pages/Help.tsx:102src/lib/easystitch-client.ts:35-78src/Suggested fix shape
Three options:
Implement the optimization. Add a
optimizeForMachine(stitchObjects, machineProfile)function that reorders the stitch sequence to group adjacent same-color stitches. The optimization is a graph-coloring problem: find a Hamiltonian path through the stitches that minimizes color changes. Real implementations use TSP heuristics; a simpler version groups by color and stitches color-by-color.Send the machine profile to the service for service-side optimization. Add a
optimization: 'speed' | 'balanced' | 'detail'field to theAutoDigitizeSettingsand theExportRequest. The service does the work. The client just selects an option.Update the Help page text. Drop the "optimized for 10-needle machines" claim; replace with something the implementation actually delivers.
Option 2 is the right product move: the optimization is a service concern, the client just asks for it. The codebase already has
stitchPreference: 'balanced' | 'quality' | 'speed'for the digitize side; a similar axis for export makes sense.Severity
Medium. The user reads the Help page and expects optimization. They get the engine's default sequence.
Discovered by
Gap analysis (2026-10-02) of export optimization claims.
Related
threadSystemfield is the data; the consumer is the missing piece.Closed via commit c178a3d1 (HEAD on main is
c1789d1; rebased onto origin/main after #172 landed). Help page now describes what the export path actually does today (format/hoop/thread-cartridge selection follows the chosen Machine Profile; the user can reorder thread stops manually in the Bottom Thread Bar before exporting) — the false "stitch sequences minimize color changes by grouping adjacent same-color regions" claim is gone. Regression test asserts both halves (false claim absent, accurate card present). tsc/eslint clean, Help.test.tsx 14/14, full suite 759/762 with the 3 EditorCanvas failures being pre-existing on main (unrelated to #175).