Skip to the content.

Worked example — a Victorian back bedroom

projects/study-terrace/ is the only project committed to this repository. It is kept as a reference for how a real job is shaped: what a brief looks like, how a direction set argues that its directions are genuinely different, and what a finished direction spec contains.

Everything else is client work and stays local. .gitignore enforces that — projects/* is ignored with a single exception for this one.

The job

The small back bedroom of a Victorian terrace in Sheffield, converted into a full-time home office for one person who takes video calls most of the day. 3.4 × 3.8 m, 12.4 m², 2.65 m high.

What makes it a useful example is that every constraint is awkward and none of them can be designed away:

Constraint Why it bites
An inherited oak partners’ desk, 1.6 × 0.9 m 12 % of the floor, and it stays in every direction
A chimney breast 1,400 wide, 350 proud Leaves two alcoves that are 350 mm deep — shelf-shaped and nothing else
One window, on one wall, radiator fixed beneath it The desk can never back onto it
Video calls six hours a day The wall behind the sitter is the room’s real façade
One double socket Every direction has to solve power without chasing walls

What it contains

   
Room model 8 walls — the chimney breast is modelled as geometry, not decoration
Openings 2, both dimensioned
Directions planned 6, each differing on ≥6 of 7 axes
Directions authored in full 2 — 01-make-good, 02-two-alcoves
Justified changes 35, each with specification, design reason and validation
Gates signed brief · room-model · direction-set · pilot · report

It is deliberately left part-authored. Four of the six directions exist only as a thesis in brief/direction-set.md, which is exactly what the state looks like mid-job, and it is more useful to read than a finished set.

Reading it as a template

Rebuilding it

Sources are committed; drawings, renders and the report are not.

./bin/design drawings --shell --project study-terrace
for d in projects/study-terrace/directions/[0-9][0-9]-*.json; do
  ./bin/design drawings "$(basename "$d" .json)" --project study-terrace
done
./bin/design render --project study-terrace --wait
./bin/design report --project study-terrace

Drawings regenerate exactly — they are deterministic. Renders will not be pixel-identical, because image generation is not.


What a full job cost to get right

The lessons below came from a complete 20-direction job — a 3.12 × 6.25 m family hall, 291 justified changes, 168 drawings, 120 renders, a 165-page report. That project was client work and is no longer kept in the repository, but the mistakes are recorded here because the same ones are waiting in every job, and because most of this tool’s structure exists to prevent them.