Skip to main content
← All work

sealrender

A layered vector editor for intarsia — wood inlay — that turns a picture of a panel into a numbered pattern, a cut list, and a file a CNC will actually cut.

Status

Working, built for one specific panel and generalised from there.

Language
TypeScript
Output
Numbered pattern, cut list, DXF
Lines
6,247
Commits
22

Why the model is not the source of truth

A chat model cannot hold an image still. Every request regenerates it, so the shapes drift, and nothing ever converges on the panel you actually have. It also cannot vector-trace, so any geometry it hands over is guessed coordinates — useless for a machine, where paths must be closed, non-self-intersecting and correctly scaled.

So the artwork is a locked reference layer and the pieces are real vector geometry. The model gets one narrow job: redraw the outline of a single region you clicked, with its neighbours and their shared boundary points supplied as hard constraints. That is a task with a checkable answer, and the answer is validated before it is allowed onto the canvas.

The parts that are deliberately deterministic

Numbering never involves a model, because exactly one label per region with no duplicates and no omissions is a property, not a preference. Labels are placed at each piece's pole of inaccessibility rather than its centroid — a centroid falls outside a concave shape, and in this artwork almost every piece is concave.

The thin-piece audit reports each piece's narrowest point, because wood under about half an inch snaps when it is cut or sanded and the artwork encodes nothing about that. That single check is usually the difference between a pattern and a picture.