{
  "version": "0.1",
  "nodes": {
    "1": { "id": 1, "name": "BaseCube", "op": { "type": "Cube", "size": { "x": 40, "y": 40, "z": 40 } } },
    "2": { "id": 2, "name": "BaseCube_Pos", "op": { "type": "Translate", "child": 1, "offset": { "x": -20, "y": -20, "z": 0 } } },
    "3": { "id": 3, "name": "Sphere_r15", "op": { "type": "Sphere", "radius": 15, "segments": 32 } },
    "4": { "id": 4, "name": "Sphere_At_Z40", "op": { "type": "Translate", "child": 3, "offset": { "x": 0, "y": 0, "z": 40 } } },
    "5": { "id": 5, "name": "HalfspaceCube", "op": { "type": "Cube", "size": { "x": 200, "y": 200, "z": 200 } } },
    "6": { "id": 6, "name": "Halfspace_Z>=40", "op": { "type": "Translate", "child": 5, "offset": { "x": -100, "y": -100, "z": 40 } } },
    "7": { "id": 7, "name": "Hemisphere_Top", "op": { "type": "Intersection", "left": 4, "right": 6 } },
    "8": { "id": 8, "name": "CubePlusDome", "op": { "type": "Union", "left": 2, "right": 7 } }
  },
  "materials": {},
  "part_materials": {},
  "roots": [
    { "root": 8, "material": "default" }
  ]
}