Editor's Path Properties has 'Path Properties' but no 'Path quality score' / 'export-readiness check' — user wanting a quick 'is this design ready to export?' check has to run export and see if it succeeds #375

Closed
opened 2026-10-04 03:59:34 +00:00 by Mark · 0 comments
Owner

Finding

grep -rn 'exportReadiness\|qualityScore' src/components/editor/ returns 0. The editor has no export-readiness check.

A user wanting to export a design:

  • Has 20 paths, complex design
  • Doesn't know if it'll export cleanly
  • Has to click Export, see the result
  • If it fails, fix, try again

The fix is a "Check readiness" button that runs all validations (#345) and shows a score.

Where

  • Path Properties: src/components/editor/EditorRightPanel.tsx
  • No readiness: grep -rn 'exportReadiness' src/components/editor/ returns 0
  • The validations: per #260, #335, #336, #337, #343, #344

Suggested fix shape

  1. UI: a "Check readiness" button in the right panel's header:
<button onClick={onCheckReadiness} data-testid="check-readiness">
  <CheckCircle size={12} /> Check readiness
</button>
  1. Modal: a modal showing the score and the issues:
{showReadiness && (
  <Modal>
    <h2>Design readiness</h2>
    <p>Score: 87/100</p>
    <ul>
      <li>⚠ 2 paths exceed the hoop</li>
      <li>⚠ 1 self-intersection</li>
      <li>✓ No sharp corners</li>
      <li>✓ All paths above minimum length</li>
    </ul>
    <button>Auto-fix all (where possible)</button>
  </Modal>
)}
  1. Score: a 0-100 score based on:
  • All paths inside the hoop
  • No self-intersections
  • No sharp corners
  • No overlaps
  • All paths above minimum length
  • All paths above minimum radius
  1. Use cases:
  • Before export (catch issues)
  • After import (clean up)
  • During long sessions (status check)

Severity

Medium. The user can run the validations separately, but the score is the polish.

Discovered by

Gap analysis (2026-10-02) of editor validation.

  • #345 (open) — Auto-fix validations. The auto-fix is the response to issues.
  • #260, #335, #336, #337, #343, #344 — The individual validations.
  • Wilcom/Hatch have "Object > Validate" with a score. The editor's gap is the parallel.
## Finding `grep -rn 'exportReadiness\|qualityScore' src/components/editor/` returns 0. The editor has no export-readiness check. A user wanting to export a design: - Has 20 paths, complex design - Doesn't know if it'll export cleanly - Has to click Export, see the result - If it fails, fix, try again The fix is a "Check readiness" button that runs all validations (#345) and shows a score. ## Where - Path Properties: `src/components/editor/EditorRightPanel.tsx` - No readiness: `grep -rn 'exportReadiness' src/components/editor/` returns 0 - The validations: per #260, #335, #336, #337, #343, #344 ## Suggested fix shape 1. **UI**: a "Check readiness" button in the right panel's header: ```tsx <button onClick={onCheckReadiness} data-testid="check-readiness"> <CheckCircle size={12} /> Check readiness </button> ``` 2. **Modal**: a modal showing the score and the issues: ```tsx {showReadiness && ( <Modal> <h2>Design readiness</h2> <p>Score: 87/100</p> <ul> <li>⚠ 2 paths exceed the hoop</li> <li>⚠ 1 self-intersection</li> <li>✓ No sharp corners</li> <li>✓ All paths above minimum length</li> </ul> <button>Auto-fix all (where possible)</button> </Modal> )} ``` 3. **Score**: a 0-100 score based on: - All paths inside the hoop - No self-intersections - No sharp corners - No overlaps - All paths above minimum length - All paths above minimum radius 4. **Use cases**: - Before export (catch issues) - After import (clean up) - During long sessions (status check) ## Severity Medium. The user can run the validations separately, but the score is the polish. ## Discovered by Gap analysis (2026-10-02) of editor validation. ## Related** - #345 (open) — Auto-fix validations. The auto-fix is the response to issues. - #260, #335, #336, #337, #343, #344 — The individual validations. - Wilcom/Hatch have "Object > Validate" with a score. The editor's gap is the parallel.
Mark closed this issue 2026-10-05 17:01:29 +00:00
Sign in to join this conversation.
No description provided.