Builder
Open the designer

For the person who reads the manual

Docs.The whole control surface.

Everything the designer does is either a document, a key or a URL. Here are all three — plus the QA gates it ships behind, so you know what "it works" means in numbers.

The document — *.webhome.json

levelsone entry per storey; walls, openings and objects reference their level
wallsreference nodes; two walls are adjacent exactly when they share a node
openingsreference their wall by id — window, door, garage, passage; rectangle, circle or triangle
roofkind: gable, hip, flat or shed; gable/hip fit the minimum-area oriented rectangle of the perimeter
objectslibrary placements — position, rotation; legality re-checked on load
terrain · garden · roadsheights, splat paints, plants, road points
doc.lookgrade, LUT look, fog and sun position — the film look travels with the file
doc.sunthe sun the renderer reads — whether it came from the ephemeris or your hand
doc.winddirection and strength — one front across the whole site

Autosave lands in localStorage; Ctrl+S writes a *.webhome.json. Designs saved to your account are stored server-side as the same opaque JSON.

Keyboard

1–9 · 0tools · the Sun tool
Barm or disarm editing (the Design door does the same)
click · Shift · dbl-clickwalls: set corner · lock 15° · end the run
Q E Rrotate a placed object (or the gizmo)
WASD · Shiftwalk · run
Vthird person (from walk mode)
Eopen the door in front of you
Escleave walk mode
Fframe the design
Ctrl+Z/Yundo · redo (scoped)
Ctrl+Ssave a *.webhome.json
Deleteremove the selection, whatever tool is live
Spaceplay the day (Sun tool)

URL parameters

?design=<url>open a shared design; sign-in happens silently if you have a castomo session
?fresh=1ignore the autosave, start clean
?empty=1an empty site — no starter house
?quality=low|medium|highpin the render tier (ultra exists in the View menu)
?reveal=0|1force the build-reveal on or off (off by default for automation)

No query string? The designer opens on a different house from the 140-design catalogue each visit — and on your own last work if you have autosaved one.

QA gates — what "works" means

60 FPSgated on a stress design: 1 foundation, 2 levels, 15 walls, 8 openings incl. triangles, 50 objects
< 300 draw callsone merged mesh per material per level per category; furniture instanced
< 250 MB JS heapgated on the same stress design and on a 4,386-plant garden
solar physicssolstice noon vs the earth's tilt, equinox sunrise due east, equation-of-time extremes, polar day/night, lunation length, Warsaw midsummer 04:14–21:01
texture seamsevery procedural finish scored across its wrap; the gate is 1.3
placement rulesno standing inside walls, no overlaps (shared area, 0.1 m² floor), ceiling and floor limits; rugs and tucked chairs exempt
the roomtwo real browsers against a live co-editing session — roles, areas, presence, voice

The designer itself lives at builder.castomo.com/editor — WebGL2 required, everything else optional.

Illustrations by GetIllustrations.com (Angle pack).