FreehandCanvas.

in review v 0.1.0 Heavy effort

Pressure-sensitive freehand drawing surface. Pointer samples become tapered SVG outlines via perfect-freehand. Layered drawings, per-stroke undo, faithful exports.

tanstack-routertanstack-querytailwindcssmswvitestplaywrightperfect-freehand@use-gesture/reactdnd-kit

plans/freehand-canvas.md

Overview

Pressure-sensitive freehand drawing surface. Pointer samples become tapered SVG outlines via perfect-freehand. Layered drawings, per-stroke undo, faithful exports.

What you're reading is the same plans/freehand-canvas.md spec used to build FreehandCanvas. It lists what's in the source, what isn't, the audit results, and the architecture. Read it before you subscribe — there are no surprises on the other side of payment.

Full spec is being authored — the rich detail page (features, audit numbers, changelog, recipes, architecture) lands when this starter ships.

Stack

The shared baseline across every starter in the catalog.

  • typescript — strict mode, no any, no ! non-null in shipping code
  • @tanstack/react-router + @tanstack/react-query for routing and server state
  • tailwindcss with Radix primitives for unstyled, accessibility-first components
  • msw for the mock API layer — designed to be replaced with your real backend
  • vitest for unit/component, @playwright/test for E2E

Per-starter additions for FreehandCanvas:

  • perfect-freehand
  • @use-gesture/react
  • dnd-kit