Photograph a design. Scale the stitches. Work it.
A counted-chart studio for needle on cloth (cross-stitch, embroidery) and looped yarn (knitting, crochet, lace and doilies). The engine treats those as two constructions, not one grid with different icons.
This is product 5 of Atelier. It is a separate repo — not a module of Draft, not a fork of Table. Charts live here until a shared IR is worth extracting.
| Product | Repo | Role |
|---|---|---|
| Table | atelier-table | Paper ↔ cloth, in millimetres |
| Studio | atelier-studio | Offline drape and render |
| Looking Glass | atelier-looking-glass | Photo / short-clip try-on |
| Draft | atelier-draft | Live CAD + libraries + community |
| Stitchloom | this repo | Photo → counted chart, cloth and yarn |
A stitcher who wants a working chart from a photo, a motif, or a vintage doily. A knitter who needs Fair Isle / colourwork from a picture, not a cross-stitch grid with V’s drawn on it. Someone who knows that a hole in lace is a knot left open, not skipped fabric.
- Photo → chart — camera or upload. Scale the grid. Quantise to a palette (DMC floss on cloth; working yarn on looped crafts).
- Two constructions — see docs/CONSTRUCTION.md. Cloth crafts may skip the ground colour. Yarn crafts fill every loop; the photo’s background becomes working yarn (MC), not unstitched linen.
- Craft glyphs — crosses and satin on cloth; knit V / purl, filet mesh windows, lace chain spaces and picots on yarn.
- Studio + library + gallery — paint, eyedropper, save a version on the device, publish a chart to the commons.
- Public feedback — a board for issues and improvements across the whole product. Anyone can read and vote; signed-in makers can log a note. Code issues also live on GitHub.
- Author a garment block or live formulas (Draft).
- Digitise a cutting mat or drive a projector (Table).
- Drape cloth or bake a GLB (Studio).
- Try a garment on a photo (Looking Glass).
- Treat knitting, crochet, or lace as “cross-stitch with a different stitch symbol.” Holes in yarn are construction, not skipped cells on aida.
Working web app. Construction model (cloth | yarn) is in
src/lib/patterns/crafts.ts. Conversion, painting, and materials all key off
that spec.
npm install
npm run dev # Vite + TanStack Start
npm test
npm run typecheck
Apache-2.0.