π§± A local, browser-only app for planning how rectangular materials are laid out across measured 2D surfaces.
Draw real-world geometry, assign materials, preview placement patterns, and export cut lists and PDF documentation β all from your browser, with no server, no account, no cloud.
- ποΈ Accurate 2D drawing with real dimensions, grid, and snapping
- π§© Named surfaces, openings, and multi-surface connections
- π¨ Material library with size, thickness, joints, and styles
- π Placement patterns (stacked, running bond, custom offsets, β¦)
- πͺ Auto-generated cut lists, cutting diagrams, and waste reports
βοΈ Physical edge overlap with semi-transparent visualization- πΌοΈ Background image import with two-point calibration
- πΎ Local project storage + JSON import/export
- π One-click PDF export with technical drawings and instructions
βοΈ React Β· π¦ TypeScript Β· β‘ Vite Β· π» Zustand Β· π Konva Β· π pdf-lib Β· π§ͺ Vitest
Requires Node >= 20.10 and npm.
npm install # π¦ install dependencies
npm run dev # π start dev server
npm test # π§ͺ run tests
npm run build # ποΈ build for production
npm run preview # π preview the production buildDetailed documentation for every feature, tool, data model, and workflow lives on the GitHub Wiki.
Quick links:
- ποΈ 2D Drawing Tools
- π§© Surfaces, Openings & Connections
- π¨ Material Library
- π Placement Patterns
- πͺ Cut Lists & Layouts
βοΈ Edge Overlap Visualization- πΌοΈ Background Image Calibration
- πΎ Local Storage & JSON Import/Export
- π PDF Export
When you change a feature in this codebase, you must also update the matching wiki page. See AGENTS.md for the agent-level rules.