Editor's Path Properties has a 'Stitch type' but no 'fabric type' selector per path — user wanting a satin column to be tighter (because it's on stretch fabric) has no per-path fabric setting #366

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

Finding

grep -rn 'pathFabric\|fabricType.*path' src/components/editor/ returns 0. The editor has no per-path fabric type.

The workspace's Design Settings has a global fabric type (per the snippet). The editor's path properties has stitch type, density, but no fabric.

A user with a mixed-fabric design (e.g., a logo on a quilt with both cotton and denim):

  • Wants the cotton areas to use one set of stitch settings
  • The denim areas to use another
  • Currently: uses the global fabric; no per-path override

The fix is a per-path fabric override.

Where

  • Path Properties: src/components/editor/EditorRightPanel.tsx
  • No per-path fabric: grep -rn 'pathFabric' src/components/editor/ returns 0

Suggested fix shape

  1. Type: add fabricType?: 'light' | 'medium' | 'heavy' | 'stretchy' | 'towel' to the StitchPath type (optional, falls back to design's fabric).

  2. UI: a small dropdown next to the stitch type:

<SelectField
  label="Fabric (override)"
  value={p.fabricType ?? designFabricType}
  options={fabricOptions}
  onChange={(v) => onUpdatePathFabricType(p.id, v)}
/>
  1. Use cases:
  • A logo that spans multiple fabric types
  • A test design where the user wants to compare the same path on different fabrics
  1. History: single undoable action.

Severity**

Low. The user can use the global. Power users with mixed-fabric designs notice.

Discovered by

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

  • The design's fabric type is in the workspace's Design Settings (per the snippet).
  • #238 (open) — Hoop size. The hoop is similar; the fabric is the parallel.
  • The Path Defaults section (per #198) is the design-wide default; the per-path is the override.
## Finding `grep -rn 'pathFabric\|fabricType.*path' src/components/editor/` returns 0. The editor has no per-path fabric type. The workspace's Design Settings has a global fabric type (per the snippet). The editor's path properties has stitch type, density, but no fabric. A user with a mixed-fabric design (e.g., a logo on a quilt with both cotton and denim): - Wants the cotton areas to use one set of stitch settings - The denim areas to use another - Currently: uses the global fabric; no per-path override The fix is a per-path fabric override. ## Where - Path Properties: `src/components/editor/EditorRightPanel.tsx` - No per-path fabric: `grep -rn 'pathFabric' src/components/editor/` returns 0 ## Suggested fix shape 1. **Type**: add `fabricType?: 'light' | 'medium' | 'heavy' | 'stretchy' | 'towel'` to the StitchPath type (optional, falls back to design's fabric). 2. **UI**: a small dropdown next to the stitch type: ```tsx <SelectField label="Fabric (override)" value={p.fabricType ?? designFabricType} options={fabricOptions} onChange={(v) => onUpdatePathFabricType(p.id, v)} /> ``` 3. **Use cases**: - A logo that spans multiple fabric types - A test design where the user wants to compare the same path on different fabrics 4. **History**: single undoable action. ## Severity** Low. The user can use the global. Power users with mixed-fabric designs notice. ## Discovered by Gap analysis (2026-10-02) of editor path properties. ## Related - The design's fabric type is in the workspace's Design Settings (per the snippet). - #238 (open) — Hoop size. The hoop is similar; the fabric is the parallel. - The Path Defaults section (per #198) is the design-wide default; the per-path is the override.
Author
Owner

Shipped in commit 31268cd on origin/main. The Editor Path Properties section now has a Fabric dropdown between Stitch Type and Density: 5 FabricType options matching the workspace Design Settings labels (Light/Medium/Heavy/Stretchy/Towel), an Inherit-from-design option that clears the per-path override, label reads "inherits (designFabric)" when no override is set, label reads " (overrides design)" when one is, multi-select shows disabled Mixed placeholder, Apply-to-all mirrors #212/#318, single undoable step per change (one setPaths + one pushHistory). 9 new tests at src/components/editor/issue-366.test.tsx cover the wiring. Closing this as implemented.

Shipped in commit 31268cd on origin/main. The Editor Path Properties section now has a Fabric dropdown between Stitch Type and Density: 5 FabricType options matching the workspace Design Settings labels (Light/Medium/Heavy/Stretchy/Towel), an Inherit-from-design option that clears the per-path override, label reads "inherits (designFabric)" when no override is set, label reads "<fabric> (overrides design)" when one is, multi-select shows disabled Mixed placeholder, Apply-to-all mirrors #212/#318, single undoable step per change (one setPaths + one pushHistory). 9 new tests at src/components/editor/issue-366.test.tsx cover the wiring. Closing this as implemented.
Mark closed this issue 2026-10-05 14:32:45 +00:00
Sign in to join this conversation.
No description provided.