Editor shows a tiny 'No paths loaded' text in the right panel when paths.length === 0 — the user has no actionable affordance (no 'Draw your first path' prompt, no link to a tutorial, no upload shortcut) #225

Open
opened 2026-10-04 02:11:02 +00:00 by Mark · 1 comment
Owner

Finding

src/components/editor/EditorRightPanel.tsx:137 (per the snippet I saw earlier) renders a <div>No paths loaded</div> when paths.length === 0. That's the only empty-state affordance in the editor for the path list.

A user who opens the editor with an empty design (e.g., from the URL /editor without a loadedDesignId):

  • Sees an empty canvas
  • Sees "No paths loaded" in the right panel
  • Has no idea what to do next

The canvas itself is empty (no drawing guides, no "click to start" prompt). The toolbar has the path-draw tool active, but a new user wouldn't know that clicking on the canvas draws a path.

grep -rn 'firstPath\|emptyState.*editor' src/components/editor/ returns 0 hits.

Where

  • Right panel: src/components/editor/EditorRightPanel.tsx:137 (the "No paths loaded" div)
  • No first-path prompt: grep -rn 'Draw your first path' src/components/editor/ returns 0
  • Canvas empty state: src/components/editor/EditorCanvas.tsx (no empty state rendering)

Suggested fix shape

Two changes:

  1. Right panel: replace "No paths loaded" with a richer prompt:
{paths.length === 0 ? (
  <div className="p-4 text-center">
    <PlusCircle size={24} className="mx-auto mb-2" style={{ color: '#A8A29E' }} />
    <p className="text-sm font-medium" style={{ color: '#1A1A1A' }}>No paths yet</p>
    <p className="text-[11px] mt-1" style={{ color: '#6B6560' }}>
      Select the Path tool from the left toolbar, then click on the canvas to draw your first path.
    </p>
  </div>
) : ...}
  1. Canvas: overlay a small "Click to start drawing" hint when the user has been idle for 5+ seconds in path-draw mode (mirrors the Workspace's "Drop an image to get started" hint).

  2. First-run tooltip: when the editor first mounts with no paths and no loadedDesignId, show a one-time tooltip near the path-draw tool explaining the workflow.

Severity

Low. The user can figure out the workflow from the toolbar icons. The empty state is a polish improvement.

Discovered by

Gap analysis (2026-10-02) of editor first-run experience.

  • The Gallery's EmptyState component is a reference implementation (per #224).
  • The Workspace has a similar gap (the "Drop an image here" empty state).
## Finding `src/components/editor/EditorRightPanel.tsx:137` (per the snippet I saw earlier) renders a `<div>No paths loaded</div>` when `paths.length === 0`. That's the only empty-state affordance in the editor for the path list. A user who opens the editor with an empty design (e.g., from the URL `/editor` without a `loadedDesignId`): - Sees an empty canvas - Sees "No paths loaded" in the right panel - Has no idea what to do next The canvas itself is empty (no drawing guides, no "click to start" prompt). The toolbar has the path-draw tool active, but a new user wouldn't know that clicking on the canvas draws a path. `grep -rn 'firstPath\|emptyState.*editor' src/components/editor/` returns 0 hits. ## Where - Right panel: `src/components/editor/EditorRightPanel.tsx:137` (the "No paths loaded" div) - No first-path prompt: `grep -rn 'Draw your first path' src/components/editor/` returns 0 - Canvas empty state: `src/components/editor/EditorCanvas.tsx` (no empty state rendering) ## Suggested fix shape Two changes: 1. **Right panel**: replace "No paths loaded" with a richer prompt: ```tsx {paths.length === 0 ? ( <div className="p-4 text-center"> <PlusCircle size={24} className="mx-auto mb-2" style={{ color: '#A8A29E' }} /> <p className="text-sm font-medium" style={{ color: '#1A1A1A' }}>No paths yet</p> <p className="text-[11px] mt-1" style={{ color: '#6B6560' }}> Select the Path tool from the left toolbar, then click on the canvas to draw your first path. </p> </div> ) : ...} ``` 2. **Canvas**: overlay a small "Click to start drawing" hint when the user has been idle for 5+ seconds in path-draw mode (mirrors the Workspace's "Drop an image to get started" hint). 3. **First-run tooltip**: when the editor first mounts with no paths and no `loadedDesignId`, show a one-time tooltip near the path-draw tool explaining the workflow. ## Severity Low. The user can figure out the workflow from the toolbar icons. The empty state is a polish improvement. ## Discovered by Gap analysis (2026-10-02) of editor first-run experience. ## Related - The Gallery's `EmptyState` component is a reference implementation (per #224). - The Workspace has a similar gap (the "Drop an image here" empty state).
Author
Owner

Shipped in commit bcaeec2 (origin/main).

Replaced the bare "No paths loaded" string with an icon + headline + body empty-state prompt that names the toolbar location and the next action ("Select the Path tool from the left toolbar, then click on the canvas to draw your first path"). Mirrors the gallery EmptyState shape at a tighter size for the 280px right-panel column.

Files: src/components/editor/EditorRightPanel.tsx, src/components/editor/EditorRightPanel.test.tsx.

Typecheck, lint, 122/122 vitest, and npm run build all green locally.

Shipped in commit `bcaeec2` (origin/main). Replaced the bare "No paths loaded" string with an icon + headline + body empty-state prompt that names the toolbar location and the next action ("Select the Path tool from the left toolbar, then click on the canvas to draw your first path"). Mirrors the gallery EmptyState shape at a tighter size for the 280px right-panel column. Files: `src/components/editor/EditorRightPanel.tsx`, `src/components/editor/EditorRightPanel.test.tsx`. Typecheck, lint, 122/122 vitest, and `npm run build` all green locally.
Sign in to join this conversation.
No description provided.