Editor's Path Properties has 'Stitch type' but the 'satin' path's satin width is not visible as a number — user wanting to see the current width in mm has to navigate to a hidden setting #371

Closed
opened 2026-10-04 03:58:58 +00:00 by Mark · 1 comment
Owner

Finding

The Path Properties section has a 'Stitch type' dropdown. For satin paths, the satin width is a separate concept (per #314). The right panel may or may not show the width.

grep -rn 'satinWidth' src/components/editor/EditorRightPanel.tsx returns 0. The satin width is not exposed in the UI.

A user with a satin path:

  • Wants to see "this satin is 2.5mm wide"
  • Has to read the export file (or the path data in dev tools)
  • No UI to view/set

The fix is a satin width display (and per #314, a slider).

Where

  • Path Properties: src/components/editor/EditorRightPanel.tsx
  • No satin width display: grep -rn 'satinWidth' src/components/editor/ returns 0
  • The export: src/lib/easystitch-client.ts:exportPES (uses satinWidth internally)

Suggested fix shape

  1. UI: when the stitch type is 'satin', show the satin width:
{p.stitchType === 'satin' && (
  <SliderField
    label="Satin width"
    value={p.satinWidth ?? 2.0}
    onChange={(v) => onUpdateSatinWidth(p.id, v)}
    min={0.5}
    max={10}
    step={0.1}
    unit="mm"
  />
)}
  1. Display only: for paths that have a satin width set, show it (even if the slider is hidden when not satin).

  2. Help text: a small "2.5 mm satin column width" tooltip.

  3. Use cases:

  • The user wants to verify the satin width
  • The user wants to adjust it for different fabric types

Severity**

Low. The user can read the path data. Power users with embroidery experience notice.

Discovered by

Gap analysis (2026-10-02) of editor path properties.

  • #314 (open) — Satin width slider. The slider; this is the display.
  • #317 (open) — Density in mm. Same family.
  • Wilcom/Hatch have satin width. The editor's gap is the parallel.
## Finding The Path Properties section has a 'Stitch type' dropdown. For satin paths, the satin width is a separate concept (per #314). The right panel may or may not show the width. `grep -rn 'satinWidth' src/components/editor/EditorRightPanel.tsx` returns 0. The satin width is not exposed in the UI. A user with a satin path: - Wants to see "this satin is 2.5mm wide" - Has to read the export file (or the path data in dev tools) - No UI to view/set The fix is a satin width display (and per #314, a slider). ## Where - Path Properties: `src/components/editor/EditorRightPanel.tsx` - No satin width display: `grep -rn 'satinWidth' src/components/editor/` returns 0 - The export: `src/lib/easystitch-client.ts:exportPES` (uses satinWidth internally) ## Suggested fix shape 1. **UI**: when the stitch type is 'satin', show the satin width: ```tsx {p.stitchType === 'satin' && ( <SliderField label="Satin width" value={p.satinWidth ?? 2.0} onChange={(v) => onUpdateSatinWidth(p.id, v)} min={0.5} max={10} step={0.1} unit="mm" /> )} ``` 2. **Display only**: for paths that have a satin width set, show it (even if the slider is hidden when not satin). 3. **Help text**: a small "2.5 mm satin column width" tooltip. 4. **Use cases**: - The user wants to verify the satin width - The user wants to adjust it for different fabric types ## Severity** Low. The user can read the path data. Power users with embroidery experience notice. ## Discovered by Gap analysis (2026-10-02) of editor path properties. ## Related - #314 (open) — Satin width slider. The slider; this is the display. - #317 (open) — Density in mm. Same family. - Wilcom/Hatch have satin width. The editor's gap is the parallel.
Author
Owner

Shipped in commit 423e777 (feat(#371)). Added a read-only Satin-width row in Path Info (right after the Stitches row) so the user can see the current satin column width in mm regardless of stitch type — the editable #314 slider is hidden for non-satin, so a fill path with a residual satinWidth had no UI to read it before this. Falls back to 2.0 mm for legacy paths created before #314, and shows "Mixed (primary X.X)" when the selection disagrees — same mixed-state semantics as the editable slider. 5 tests in issue-371.test.tsx pin: explicit value, legacy fallback, residual on non-satin path (the headline gap), mixed-state, and the no-selection gate.

Shipped in commit 423e777 (feat(#371)). Added a read-only Satin-width row in Path Info (right after the Stitches row) so the user can see the current satin column width in mm regardless of stitch type — the editable #314 slider is hidden for non-satin, so a fill path with a residual satinWidth had no UI to read it before this. Falls back to 2.0 mm for legacy paths created before #314, and shows "Mixed (primary X.X)" when the selection disagrees — same mixed-state semantics as the editable slider. 5 tests in issue-371.test.tsx pin: explicit value, legacy fallback, residual on non-satin path (the headline gap), mixed-state, and the no-selection gate.
Mark closed this issue 2026-10-05 15:29:47 +00:00
Sign in to join this conversation.
No description provided.