← DomeSketch studio

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

FieldURL keyMeaning
formatAlways "domesketch".
versionInteger; this is version 1.
kind"geodesic". Other kinds are reserved.
stylestOptional preset the design started from (informational).
frequencyvClass I icosahedral subdivision frequency, 16.
fractionpPortion of the sphere kept, by height: 0.5, 0.625 or 0.375. Snapped to what the frequency supports.
diameterFtdSphere diameter in feet, 660.
strutsOne of 2x42x6emt-3/4emt-1pvc-1alu-1.5
hubhOne of wood-flatpipe-flattenstar-plateball-hub
covercOne of nonepoly-filmpolycarbonatecanvasplywood-shingle
shellsp, sd, shOptional monolithic shell for cement-print and AirCrete planning: profile (hemisphere, catenary, pointed), diameterFt, heightFt.
doorda, dw, dhOptional 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.