Welcome
pattapatta
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.
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
| Page | Purpose |
|---|---|
| Quickstart | Install and draw something in 2 minutes |
| Getting started | Mental model, imports, a full mini pipeline |
| llms.txt | AI-oriented docs index (/llms.txt, /llms-full.txt) |
| Examples | Chained recipes: union → hatch, frame → pack, … |
| Live demos | Interactive packing, triangulation, meshing, hatch, and pipelines |
| Operations | Transforms and region ops (e.g. rotate, boolean) |
| Fills | Stroke marks (hatch, packing, tiling, …) |
Source & feedback
- Repository: github.com/MadOrkestra/pattapatta
- Issues: github.com/MadOrkestra/pattapatta/issues
- Sponsor on GitHub
- Buy Me a Coffee
Design notes
Internal research and ADRs live in the repo under docs/ (separate from this docs app).