Welcome

pattapatta

Sponsor on GitHub Buy Me a Coffee

pattapatta is a TypeScript geometry library for pen plotters: hatching, image halftone (lines or circles), circle packing, triangulation and meshing, boolean path ops, Voronoi, tilings, and SVG I/O — for Node and the browser.

Inspired by Processing Geometry Suite (PGS), implemented clean-room under MIT (not a line port).

Status: This project was built entirely with AI and is not meant for public or production use yet. Expect rough edges. Issues and feedback are welcome on GitHub — open an issue if something breaks or you have ideas.

Hero: hatch + inscribed packing

What you get

  • Stroke-first geometry (fill="none" SVG by default)
  • ESM + TypeScript types
  • Feature imports (pattapatta/hatch, pattapatta/halftone, pattapatta/circlePacking, …)
  • CLI for SVG round-trips

Jump in

PagePurpose
QuickstartInstall and draw something in 2 minutes
Getting startedMental model, imports, a full mini pipeline
llms.txtAI-oriented docs index (/llms.txt, /llms-full.txt)
ExamplesChained recipes: union → hatch, frame → pack, …
Live demosInteractive packing, triangulation, meshing, hatch, and pipelines
OperationsTransforms and region ops (e.g. rotate, boolean)
FillsStroke marks (hatch, packing, tiling, …)

Source & feedback

Design notes

Internal research and ADRs live in the repo under docs/ (separate from this docs app).