The design format
A DomeSketch design is one small JSON object — every input the studio needs to rebuild the dome. It travels as a .domesketch.json file or as a URL, and anyone can read it without DomeSketch code. Version 1. Unknown keys are ignored; out-of-range values are adjusted and reported, so a hand-edited or older file still opens.
Example
{
"format": "domesketch",
"version": 1,
"kind": "geodesic",
"style": "glamping",
"frequency": 3,
"fraction": 0.625,
"diameterFt": 20,
"strut": "emt-1",
"cover": "canvas",
"hub": "star-plate",
"shell": {
"profile": "catenary",
"diameterFt": 20,
"heightFt": 14
}
}
The same design as a link: https://domesketch.ai/?v=3&p=0.625&d=20&s=emt-1&c=canvas&h=star-plate&st=glamping&sp=catenary&sd=20&sh=14
Fields
| Field | URL key | Meaning |
|---|---|---|
format | — | Always "domesketch". |
version | — | Integer; this is version 1. |
kind | — | "geodesic". Other kinds are reserved. |
style | st | Optional preset the design started from (informational). |
frequency | v | Class I icosahedral subdivision frequency, 1–6. |
fraction | p | Portion of the sphere kept, by height: 0.5, 0.625 or 0.375. Snapped to what the frequency supports. |
diameterFt | d | Sphere diameter in feet, 6–60. |
strut | s | One of 2x42x6emt-3/4emt-1pvc-1alu-1.5 |
hub | h | One of wood-flatpipe-flattenstar-plateball-hub |
cover | c | One of nonepoly-filmpolycarbonatecanvasplywood-shingle |
shell | sp, sd, sh | Optional monolithic shell for cement-print and AirCrete planning: profile (hemisphere, catenary, pointed), diameterFt, heightFt. |
door | da, dw, dh | Optional dormer doorway: azimuthDeg (direction it faces, 0 = +x, counter-clockwise from above), widthFt (2–8), heightFt (5–10). Absent = no door. |
Units and geometry
Feet throughout. The geometry is a Class I (alternate) icosahedral breakdown with a vertex at the pole; the cut snaps to the nearest vertex ring, so the achieved fraction can differ slightly from the requested one on odd frequencies. Strut counts and chord factors reproduce the published 2V/3V/4V tables.
The reference implementation is utils/dome/design.ts in the DomeSketch source. The format is free to implement.