# plank

A 3D building modeller whose source of truth is a directory of text files.

Built for coding agents rather than for a mouse. A building is a tree of YAML files, so "which walls are load-bearing" is a grep, "what changed" is a git diff, and "who added this window" is a git blame.

project.yaml                       units, north, shared parameters
levels/00-ground/_level.yaml       elevation and storey height
levels/00-ground/walls/north.yaml  one wall, with its openings inside it
components/door-900x2100/def.yaml  a definition; instances point at it
blueprints/                        drawings being traced

Models you can walk around

Townhouse
A two-storey terrace built from parameters, with reusable door and window components.
2 levelscomponentsparametric
Hillside House
Traced from three estate-agent floor plans that carry no dimensions. Scale was derived from room proportions and held constant across all three sheets.
3 levelsblueprint-tracedoutbuilding

What you are looking at

Each link opens a read-only viewer: orbit, switch between shaded and wireframe, isolate a level, and click any part to get the file path that produced it. That path is the handle a human and an agent share, and it is the whole point of the viewer.

These pages are baked by plank site and served as static files. The live workbench (plank view) rebuilds on save and runs an agent alongside the model, so it stays on localhost inside your own repo. It is not, and should not be, a public URL.