Script: Camera animation

Camera animation picture
Type
Rete logo indicatorrete
Date Created
Aug 29, 2024, 1:01:52 PM
Last Edit Date
Jan 8, 2026, 6:28:21 PM

Project Information

Experience the future of Gaussian Splatting 3D Scans used in configurators. This time we showcase the demo of bike stand, that adapts to the number of bikes required.

View Full Project

Script Code

{
  "id": "rete-v2-json",
  "nodes": {
    "ee7bc399cb937654": {
      "id": "ee7bc399cb937654",
      "name": "bitbybit.runner.getRunnerInputValue",
      "customName": "get runner input value",
      "data": {
        "property": "Number Bikes"
      },
      "inputs": {},
      "position": [
        -1469.485555183772,
        657.1564448336952
      ]
    },
    "863a8895107d6521": {
      "id": "863a8895107d6521",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 3,
          "max": 20,
          "step": 1,
          "width": 350
        },
        "number": 9
      },
      "inputs": {},
      "position": [
        -1539.4297446070464,
        827.1275201715622
      ]
    },
    "947600bfc40256ec": {
      "id": "947600bfc40256ec",
      "name": "bitbybit.runner.getRunnerInputValue",
      "customName": "get runner input value",
      "data": {
        "property": "Type Of Bike"
      },
      "inputs": {},
      "position": [
        -1539.2264359303256,
        1107.7020792183994
      ]
    },
    "bc85eebe95b23547": {
      "id": "bc85eebe95b23547",
      "name": "bitbybit.logic.boolean",
      "customName": "boolean",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "boolean": false
      },
      "inputs": {
        "boolean": {
          "connections": [
            {
              "node": "982915f87eca0854",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        108.42888604361997,
        1586.376979254187
      ]
    },
    "928cebb481329fd3": {
      "id": "928cebb481329fd3",
      "name": "bitbybit.logic.firstDefinedValueGate",
      "customName": "first defined value gate",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "value1": {
          "connections": [
            {
              "node": "ee7bc399cb937654",
              "output": "result",
              "data": {}
            }
          ]
        },
        "value2": {
          "connections": [
            {
              "node": "863a8895107d6521",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -391.73251711833075,
        651.4533207271945
      ]
    },
    "2167c3a715a447ed": {
      "id": "2167c3a715a447ed",
      "name": "bitbybit.logic.firstDefinedValueGate",
      "customName": "first defined value gate",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "value1": {
          "connections": [
            {
              "node": "947600bfc40256ec",
              "output": "result",
              "data": {}
            }
          ]
        },
        "value2": {
          "connections": [
            {
              "node": "42ae0661fdd7a399",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -669.866989420615,
        1136.6089643277485
      ]
    },
    "16826205992152b8": {
      "id": "16826205992152b8",
      "name": "bitbybit.babylon.gaussianSplatting.create",
      "customName": "gaussian splatting",
      "async": true,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "url": "https://firebasestorage.googleapis.com/v0/b/bit-by-bit-prod.appspot.com/o/users%2FyVqNAFXmieX0iAkdP6wAz5BJ4X82%2Fprojects%2Fnz5ZsciSPyQhrKvJN7pa%2Fassets%2Fkids-bike.splat?alt=media&token=1ff2723c-bdea-4b00-9649-f1d70f523948"
      },
      "inputs": {},
      "position": [
        919.7386948056709,
        1671.3210605042107
      ]
    },
    "919666f728de56c6": {
      "id": "919666f728de56c6",
      "name": "bitbybit.occt.shapes.wire.createNGonWire",
      "customName": "ngon wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ],
        "nrCorners": 6,
        "radius": 1
      },
      "inputs": {
        "nrCorners": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        },
        "radius": {
          "connections": [
            {
              "node": "4b8e12c7de23c104",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        487.05547147534514,
        732.9850646844129
      ]
    },
    "b19cdaab254485af": {
      "id": "b19cdaab254485af",
      "name": "bitbybit.lists.repeat",
      "customName": "repeat",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "times": 10
      },
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "d3b2d9296d44f270",
              "output": "result",
              "data": {}
            }
          ]
        },
        "times": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1842.5966084189577,
        601.1079388292029
      ]
    },
    "06d01a73549bb356": {
      "id": "06d01a73549bb356",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "b19cdaab254485af",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2031.4886915908944,
        426.93181476340965
      ]
    },
    "95ad962ba30f682c": {
      "id": "95ad962ba30f682c",
      "name": "bitbybit.babylon.mesh.setPosition",
      "customName": "set position",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "97926d22ecefccde",
              "output": "result",
              "data": {}
            }
          ]
        },
        "position": {
          "connections": [
            {
              "node": "b4f41ff3075a193c",
              "output": "item",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3785.8044643519142,
        -45.473512774319516
      ]
    },
    "ce72150662f1d5fb": {
      "id": "ce72150662f1d5fb",
      "name": "bitbybit.babylon.scene.enableSkybox",
      "customName": "enable skybox",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "skybox": "clearSky",
        "size": 1000,
        "blur": 0.1,
        "environmentIntensity": 0.7,
        "hideSkybox": false
      },
      "inputs": {},
      "position": [
        -380.0286846984048,
        2164.9061366036785
      ]
    },
    "e38e81bde0022da5": {
      "id": "e38e81bde0022da5",
      "name": "bitbybit.babylon.mesh.setRotation",
      "customName": "set rotation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "rotation": {
          "connections": [
            {
              "node": "11e31198aea4a57a",
              "output": "result",
              "data": {}
            }
          ]
        },
        "babylonMesh": {
          "connections": [
            {
              "node": "97926d22ecefccde",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3760.4215078619236,
        -422.0040487228646
      ]
    },
    "8205b3dfc54ff36e": {
      "id": "8205b3dfc54ff36e",
      "name": "bitbybit.vector.span",
      "customName": "span",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "step": 0.1,
        "min": 0,
        "max": 360.01
      },
      "inputs": {
        "step": {
          "connections": [
            {
              "node": "b67286f5bf5c5221",
              "output": "result",
              "data": {}
            }
          ]
        },
        "min": {
          "connections": [
            {
              "node": "52eeaa2e5bf2c144",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1503.4333956295986,
        -714.4820915447867
      ]
    },
    "db5aa8d9f1fe40ad": {
      "id": "db5aa8d9f1fe40ad",
      "name": "bitbybit.math.number",
      "customName": "number",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 360
      },
      "inputs": {},
      "position": [
        236.1799268982992,
        -852.3725315485322
      ]
    },
    "b67286f5bf5c5221": {
      "id": "b67286f5bf5c5221",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 1,
        "operation": "divide"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "db5aa8d9f1fe40ad",
              "output": "result",
              "data": {}
            }
          ]
        },
        "second": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        652.8832730687635,
        -842.1448566737618
      ]
    },
    "11e31198aea4a57a": {
      "id": "11e31198aea4a57a",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0,
        "z": 0
      },
      "inputs": {
        "y": {
          "connections": [
            {
              "node": "7a6df3641d8155e2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3145.987409702624,
        -720.7745494464041
      ]
    },
    "7a6df3641d8155e2": {
      "id": "7a6df3641d8155e2",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "6e045e9ea9def556",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2764.520522230574,
        -760.4576248567757
      ]
    },
    "6363734d7e43dc66": {
      "id": "6363734d7e43dc66",
      "name": "bitbybit.lists.reverse",
      "customName": "reverse",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "8205b3dfc54ff36e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1936.1940581913752,
        -756.9854784962253
      ]
    },
    "6e045e9ea9def556": {
      "id": "6e045e9ea9def556",
      "name": "bitbybit.lists.removeItemAtIndex",
      "customName": "remove item at index",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 3,
        "clone": true
      },
      "inputs": {
        "index": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        },
        "list": {
          "connections": [
            {
              "node": "6363734d7e43dc66",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2307.7910390596026,
        -778.9772738811239
      ]
    },
    "4b8e12c7de23c104": {
      "id": "4b8e12c7de23c104",
      "name": "bitbybit.math.remap",
      "customName": "remap",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 0.5,
        "fromLow": 0,
        "fromHigh": 20,
        "toLow": 1.6,
        "toHigh": 2
      },
      "inputs": {
        "number": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        75.38042390080507,
        947.2386203688575
      ]
    },
    "b0c3147b077e3c25": {
      "id": "b0c3147b077e3c25",
      "name": "bitbybit.babylon.gaussianSplatting.create",
      "customName": "gaussian splatting",
      "async": true,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "url": "https://firebasestorage.googleapis.com/v0/b/bit-by-bit-prod.appspot.com/o/users%2FyVqNAFXmieX0iAkdP6wAz5BJ4X82%2Fprojects%2Fnz5ZsciSPyQhrKvJN7pa%2Fassets%2Fadult-bike.splat?alt=media&token=5c70dc6e-ccca-445a-b61a-943131d43d3c"
      },
      "inputs": {},
      "position": [
        934.2169992050418,
        1957.5895797278372
      ]
    },
    "ff0048f8c0c7cb2c": {
      "id": "ff0048f8c0c7cb2c",
      "name": "bitbybit.logic.valueGate",
      "customName": "value gate",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "boolean": false
      },
      "inputs": {
        "value": {
          "connections": [
            {
              "node": "16826205992152b8",
              "output": "result",
              "data": {}
            }
          ]
        },
        "boolean": {
          "connections": [
            {
              "node": "bc85eebe95b23547",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1040.1715703257737,
        1065.5728458221508
      ]
    },
    "e278566832cf3b53": {
      "id": "e278566832cf3b53",
      "name": "bitbybit.logic.not",
      "customName": "not",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "boolean": false
      },
      "inputs": {
        "boolean": {
          "connections": [
            {
              "node": "bc85eebe95b23547",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        514.838123918616,
        1428.472260810016
      ]
    },
    "0c71ca286f9313b1": {
      "id": "0c71ca286f9313b1",
      "name": "bitbybit.logic.valueGate",
      "customName": "value gate",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "boolean": false
      },
      "inputs": {
        "boolean": {
          "connections": [
            {
              "node": "e278566832cf3b53",
              "output": "result",
              "data": {}
            }
          ]
        },
        "value": {
          "connections": [
            {
              "node": "b0c3147b077e3c25",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1062.7162240959376,
        1352.0535937006218
      ]
    },
    "d3b2d9296d44f270": {
      "id": "d3b2d9296d44f270",
      "name": "bitbybit.logic.firstDefinedValueGate",
      "customName": "first defined value gate",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "value1": {
          "connections": [
            {
              "node": "ff0048f8c0c7cb2c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "value2": {
          "connections": [
            {
              "node": "0c71ca286f9313b1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1456.17487759476,
        962.0346371762597
      ]
    },
    "650dd0d108a4c02e": {
      "id": "650dd0d108a4c02e",
      "name": "bitbybit.babylon.mesh.hide",
      "customName": "hide",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "16826205992152b8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1912.514104366553,
        1668.483006491355
      ]
    },
    "c91bec045c4b1715": {
      "id": "c91bec045c4b1715",
      "name": "bitbybit.babylon.mesh.hide",
      "customName": "hide",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "b0c3147b077e3c25",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1979.3697043960042,
        2424.069094871642
      ]
    },
    "97926d22ecefccde": {
      "id": "97926d22ecefccde",
      "name": "bitbybit.babylon.gaussianSplatting.clone",
      "customName": "clone gaussian splatting",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "06d01a73549bb356",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2425.057821148993,
        517.8465704806365
      ]
    },
    "97aaaf36b873facc": {
      "id": "97aaaf36b873facc",
      "name": "bitbybit.occt.shapes.face.createCircleFace",
      "customName": "circle face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 5,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {},
      "position": [
        -303.15658471338475,
        3050.9665388898125
      ]
    },
    "608fe4b27a899ec2": {
      "id": "608fe4b27a899ec2",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "options": {
          "connections": [
            {
              "node": "19b9707154ff4e90",
              "output": "result",
              "data": {}
            }
          ]
        },
        "entity": {
          "connections": [
            {
              "node": "97aaaf36b873facc",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        292.99153822415656,
        3279.9919153978694
      ]
    },
    "19b9707154ff4e90": {
      "id": "19b9707154ff4e90",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "options occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawFaces": true,
        "faceColour": "#a099ff",
        "drawEdges": false,
        "edgeColour": "#ffffff",
        "edgeWidth": 2,
        "drawTwoSided": true,
        "backFaceColour": "#0000ff",
        "backFaceOpacity": 1
      },
      "inputs": {},
      "position": [
        -409.4150214831941,
        3499.189741899104
      ]
    },
    "e7a5990c7f3f82b1": {
      "id": "e7a5990c7f3f82b1",
      "name": "bitbybit.occt.shapes.edge.pointOnEdgeAtParam",
      "customName": "point on edge at param",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "param": 0.5
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "b0989a9634a55a89",
              "output": "item",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1372.8871892192244,
        200.60040458075844
      ]
    },
    "fb634c309039415d": {
      "id": "fb634c309039415d",
      "name": "bitbybit.occt.shapes.edge.getEdges",
      "customName": "get edges",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 1,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "919666f728de56c6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        777.2995041418715,
        421.9909198830666
      ]
    },
    "b0989a9634a55a89": {
      "id": "b0989a9634a55a89",
      "name": "bitbybit.lists.passThrough",
      "customName": "pass through",
      "data": {},
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "fb634c309039415d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1075.29869435089,
        240.9720116708835
      ]
    },
    "b4f41ff3075a193c": {
      "id": "b4f41ff3075a193c",
      "name": "bitbybit.lists.passThrough",
      "customName": "pass through",
      "data": {},
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "e7a5990c7f3f82b1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1745.537988310704,
        175.9738392306033
      ]
    },
    "52eeaa2e5bf2c144": {
      "id": "52eeaa2e5bf2c144",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 2,
        "operation": "divide"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "b67286f5bf5c5221",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1034.9986195423166,
        -558.6970571209451
      ]
    },
    "3dfe6b68950b36a3": {
      "id": "3dfe6b68950b36a3",
      "name": "bitbybit.occt.shapes.edge.getEdgeLength",
      "customName": "get edge length",
      "async": true,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "b893d4e1a37588f2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3361.0949149285616,
        -2430.583190355408
      ]
    },
    "f24ea302a352ae13": {
      "id": "f24ea302a352ae13",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 2,
        "operation": "divide"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "3dfe6b68950b36a3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3764.092738264488,
        -2516.937746808406
      ]
    },
    "18fc7ae7bd8e34e6": {
      "id": "18fc7ae7bd8e34e6",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 0.02,
          "max": 0.3,
          "step": 0.01,
          "width": 350
        },
        "number": 0.06
      },
      "inputs": {},
      "position": [
        2608.7870991208183,
        -2180.598685846115
      ]
    },
    "2f737e33bbf6ed6e": {
      "id": "2f737e33bbf6ed6e",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 1,
        "operation": "subtract"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "f24ea302a352ae13",
              "output": "result",
              "data": {}
            }
          ]
        },
        "second": {
          "connections": [
            {
              "node": "18fc7ae7bd8e34e6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4389.219890442106,
        -2275.068934866393
      ]
    },
    "0406290e5d4f1394": {
      "id": "0406290e5d4f1394",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 1,
        "operation": "add"
      },
      "inputs": {
        "second": {
          "connections": [
            {
              "node": "18fc7ae7bd8e34e6",
              "output": "result",
              "data": {}
            }
          ]
        },
        "first": {
          "connections": [
            {
              "node": "f24ea302a352ae13",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4379.2953628628675,
        -1735.7158507411584
      ]
    },
    "df21c60371b12901": {
      "id": "df21c60371b12901",
      "name": "bitbybit.occt.shapes.edge.pointOnEdgeAtLength",
      "customName": "point on edge at length",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "length": 0.5
      },
      "inputs": {
        "length": {
          "connections": [
            {
              "node": "2f737e33bbf6ed6e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "b893d4e1a37588f2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4947.715075208829,
        -2218.1026906684842
      ]
    },
    "3e102aa6f5130833": {
      "id": "3e102aa6f5130833",
      "name": "bitbybit.occt.shapes.edge.pointOnEdgeAtLength",
      "customName": "point on edge at length",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "length": 0.5
      },
      "inputs": {
        "length": {
          "connections": [
            {
              "node": "0406290e5d4f1394",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "b893d4e1a37588f2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4970.618363663083,
        -1804.6120832820634
      ]
    },
    "6f2ca432b754d9ef": {
      "id": "6f2ca432b754d9ef",
      "name": "bitbybit.occt.shapes.edge.getEdge",
      "customName": "get edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "e18314ba64788d07",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2961.5553539990087,
        -1331.1484131022385
      ]
    },
    "ab5197a1bb3c0019": {
      "id": "ab5197a1bb3c0019",
      "name": "bitbybit.occt.shapes.edge.getEdgeLength",
      "customName": "get edge length",
      "async": true,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "6f2ca432b754d9ef",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3362.5989263418915,
        -1567.825378740921
      ]
    },
    "bddc9f41ea683cf4": {
      "id": "bddc9f41ea683cf4",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 2,
        "operation": "divide"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "ab5197a1bb3c0019",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3690.4629110388155,
        -1248.7371729194324
      ]
    },
    "64f24b982d223286": {
      "id": "64f24b982d223286",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 1,
        "operation": "subtract"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "bddc9f41ea683cf4",
              "output": "result",
              "data": {}
            }
          ]
        },
        "second": {
          "connections": [
            {
              "node": "689db304b5be3963",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4367.763191006967,
        -1346.7235634738086
      ]
    },
    "d7514d1a7811b87a": {
      "id": "d7514d1a7811b87a",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 1,
        "operation": "add"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "bddc9f41ea683cf4",
              "output": "result",
              "data": {}
            }
          ]
        },
        "second": {
          "connections": [
            {
              "node": "689db304b5be3963",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4396.076244814856,
        -1027.7252153390234
      ]
    },
    "9f9e43c0ed4c7839": {
      "id": "9f9e43c0ed4c7839",
      "name": "bitbybit.occt.shapes.edge.pointOnEdgeAtLength",
      "customName": "point on edge at length",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "length": 0.5
      },
      "inputs": {
        "length": {
          "connections": [
            {
              "node": "64f24b982d223286",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "6f2ca432b754d9ef",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5000.4625324092995,
        -1326.7664724788847
      ]
    },
    "b300b75b5ad3ddbc": {
      "id": "b300b75b5ad3ddbc",
      "name": "bitbybit.occt.shapes.edge.pointOnEdgeAtLength",
      "customName": "point on edge at length",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "length": 0.5
      },
      "inputs": {
        "length": {
          "connections": [
            {
              "node": "d7514d1a7811b87a",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "6f2ca432b754d9ef",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4992.870329773226,
        -1007.6924120443394
      ]
    },
    "a2310d4166505c10": {
      "id": "a2310d4166505c10",
      "name": "bitbybit.occt.shapes.edge.startPointOnEdge",
      "customName": "start point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "b893d4e1a37588f2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4940.385535539953,
        -3010.5286472532703
      ]
    },
    "02597dc8ebbeb529": {
      "id": "02597dc8ebbeb529",
      "name": "bitbybit.occt.shapes.edge.endPointOnEdge",
      "customName": "end point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "b893d4e1a37588f2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4937.3622046807,
        -2717.6818599900025
      ]
    },
    "f25386546773aca5": {
      "id": "f25386546773aca5",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "fc2c9a4cfcfdb985",
              "output": "result",
              "data": {}
            },
            {
              "node": "a2310d4166505c10",
              "output": "result",
              "data": {}
            },
            {
              "node": "df21c60371b12901",
              "output": "result",
              "data": {}
            },
            {
              "node": "9f9e43c0ed4c7839",
              "output": "result",
              "data": {}
            },
            {
              "node": "b300b75b5ad3ddbc",
              "output": "result",
              "data": {}
            },
            {
              "node": "3e102aa6f5130833",
              "output": "result",
              "data": {}
            },
            {
              "node": "02597dc8ebbeb529",
              "output": "result",
              "data": {}
            },
            {
              "node": "bf38aa5b019d0cf1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5403.077910250511,
        -2359.2189166716344
      ]
    },
    "3737a3bac834c975": {
      "id": "3737a3bac834c975",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 2,
        "operation": "divide"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "18fc7ae7bd8e34e6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5694.178097966923,
        -3113.3677199338854
      ]
    },
    "cb08a7c9b05f0876": {
      "id": "cb08a7c9b05f0876",
      "name": "bitbybit.occt.fillets.fillet2d",
      "customName": "fillet 2d",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.1
      },
      "inputs": {
        "radius": {
          "connections": [
            {
              "node": "3737a3bac834c975",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "9988f8dd548dc2ce",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6321.986174750364,
        -2510.174650435551
      ]
    },
    "b893d4e1a37588f2": {
      "id": "b893d4e1a37588f2",
      "name": "bitbybit.occt.shapes.edge.getEdge",
      "customName": "get edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "919666f728de56c6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2747.5598490732723,
        -1676.9985941314253
      ]
    },
    "417ec86ea3cf23b6": {
      "id": "417ec86ea3cf23b6",
      "name": "bitbybit.occt.transforms.translate",
      "customName": "translate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "translation": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "translation": {
          "connections": [
            {
              "node": "3553e1f64f84c65e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "e511e9ab17af8377",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7284.240880159971,
        -2361.147457498864
      ]
    },
    "3553e1f64f84c65e": {
      "id": "3553e1f64f84c65e",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0.12,
        "z": 0
      },
      "inputs": {},
      "position": [
        6899.153699912467,
        -2123.450768562538
      ]
    },
    "e511e9ab17af8377": {
      "id": "e511e9ab17af8377",
      "name": "bitbybit.occt.transforms.rotateAroundCenter",
      "customName": "rotate around center",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "angle": -30,
        "center": [
          0,
          0,
          0
        ],
        "axis": [
          0,
          0,
          1
        ]
      },
      "inputs": {
        "axis": {
          "connections": [
            {
              "node": "eb7e51740e00ae4c",
              "output": "item",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "cb08a7c9b05f0876",
              "output": "result",
              "data": {}
            }
          ]
        },
        "center": {
          "connections": [
            {
              "node": "8845fc12932e2edf",
              "output": "result",
              "data": {}
            }
          ]
        },
        "angle": {
          "connections": [
            {
              "node": "7685efce3dfd24c1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6881.106951176472,
        -1682.8807714612512
      ]
    },
    "8845fc12932e2edf": {
      "id": "8845fc12932e2edf",
      "name": "bitbybit.occt.shapes.edge.pointOnEdgeAtParam",
      "customName": "point on edge at param",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "param": 0.5
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "b893d4e1a37588f2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5505.478407110743,
        -1607.4931462331485
      ]
    },
    "954f8f378f273b2d": {
      "id": "954f8f378f273b2d",
      "name": "bitbybit.vector.normalized",
      "customName": "normalized",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "vector": {
          "connections": [
            {
              "node": "4c9b1f2f046e6a4f",
              "output": "item",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6231.179390876112,
        -1287.7703481195317
      ]
    },
    "4c9b1f2f046e6a4f": {
      "id": "4c9b1f2f046e6a4f",
      "name": "bitbybit.lists.passThrough",
      "customName": "pass through",
      "data": {},
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "5886006ab9537b70",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5942.099010831214,
        -1255.2812610015312
      ]
    },
    "eb7e51740e00ae4c": {
      "id": "eb7e51740e00ae4c",
      "name": "bitbybit.lists.passThrough",
      "customName": "pass through",
      "data": {},
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "954f8f378f273b2d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6590.554823552202,
        -1234.0651310450075
      ]
    },
    "5886006ab9537b70": {
      "id": "5886006ab9537b70",
      "name": "bitbybit.occt.shapes.edge.tangentOnEdgeAtParam",
      "customName": "tangent on edge at param",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "param": 0.5
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "b893d4e1a37588f2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5594.623323853212,
        -1897.8591334073822
      ]
    },
    "689db304b5be3963": {
      "id": "689db304b5be3963",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 0.02,
          "max": 0.3,
          "step": 0.01,
          "width": 350
        },
        "number": 0.03
      },
      "inputs": {},
      "position": [
        2887.6623199734595,
        -1907.2607387811063
      ]
    },
    "a969a1825c1ce040": {
      "id": "a969a1825c1ce040",
      "name": "bitbybit.occt.shapes.face.createFaceFromWire",
      "customName": "face from wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "417ec86ea3cf23b6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7794.03599445747,
        -2145.4706181888946
      ]
    },
    "3e6297442261fe9c": {
      "id": "3e6297442261fe9c",
      "name": "bitbybit.occt.shapes.face.createFaceFromWire",
      "customName": "face from wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "cb08a7c9b05f0876",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7801.232428452957,
        -2494.185190230733
      ]
    },
    "1a6d7c8f99e0f955": {
      "id": "1a6d7c8f99e0f955",
      "name": "bitbybit.occt.shapes.face.reversedFace",
      "customName": "reversed face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "a969a1825c1ce040",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8372.954840398907,
        -2084.8350684692787
      ]
    },
    "f4121893d738af52": {
      "id": "f4121893d738af52",
      "name": "bitbybit.occt.operations.loft",
      "customName": "loft",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "makeSolid": false
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "341b559cfb03e1c0",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8534.876028726505,
        -2750.027383988536
      ]
    },
    "341b559cfb03e1c0": {
      "id": "341b559cfb03e1c0",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "417ec86ea3cf23b6",
              "output": "result",
              "data": {}
            },
            {
              "node": "cb08a7c9b05f0876",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8199.211997225395,
        -2711.227993221219
      ]
    },
    "5e81ef4ca094a69d": {
      "id": "5e81ef4ca094a69d",
      "name": "bitbybit.occt.shapes.solid.fromClosedShell",
      "customName": "from closed shell",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "6b10656f3a8e45f5",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9790.918303134658,
        -2366.4773933131073
      ]
    },
    "6b10656f3a8e45f5": {
      "id": "6b10656f3a8e45f5",
      "name": "bitbybit.occt.shapes.shell.sewFaces",
      "customName": "sew faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "tolerance": 1e-7
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "9e9a63937f0d57ec",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9415.263625017731,
        -2396.186936618528
      ]
    },
    "9e9a63937f0d57ec": {
      "id": "9e9a63937f0d57ec",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "3e6297442261fe9c",
              "output": "result",
              "data": {}
            },
            {
              "node": "9bc4adc5a80d95c0",
              "output": "result",
              "data": {}
            },
            {
              "node": "1a6d7c8f99e0f955",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9086.834821190687,
        -2327.9818826502105
      ]
    },
    "9bc4adc5a80d95c0": {
      "id": "9bc4adc5a80d95c0",
      "name": "bitbybit.occt.shapes.face.getFaces",
      "customName": "get faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 1,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "f4121893d738af52",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8819.519782150071,
        -2672.534821474807
      ]
    },
    "94a6e4abdb23082e": {
      "id": "94a6e4abdb23082e",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "options": {
          "connections": [
            {
              "node": "5ffe7319aae1a59d",
              "output": "result",
              "data": {}
            }
          ]
        },
        "entity": {
          "connections": [
            {
              "node": "5e81ef4ca094a69d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10810.446047084004,
        -2300.0834563368935
      ]
    },
    "5ffe7319aae1a59d": {
      "id": "5ffe7319aae1a59d",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "options occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawFaces": true,
        "faceColour": "#363636",
        "drawEdges": true,
        "edgeColour": "#ffffff",
        "edgeWidth": 0.2,
        "drawTwoSided": true,
        "backFaceColour": "#0000ff",
        "backFaceOpacity": 1
      },
      "inputs": {},
      "position": [
        9744.811244737746,
        -1727.6548098774397
      ]
    },
    "e18314ba64788d07": {
      "id": "e18314ba64788d07",
      "name": "bitbybit.occt.operations.offset",
      "customName": "offset",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "distance": -0.51,
        "tolerance": 0.1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "919666f728de56c6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2263.2254135333037,
        -1301.2817056236652
      ]
    },
    "3eecc756c7cb6eb6": {
      "id": "3eecc756c7cb6eb6",
      "name": "bitbybit.occt.operations.offset",
      "customName": "offset",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "distance": -0.55,
        "tolerance": 0.1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "919666f728de56c6",
              "output": "result",
              "data": {}
            }
          ]
        },
        "distance": {
          "connections": [
            {
              "node": "abe5ab422da0f276",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2227.710297757039,
        -1683.2277812603372
      ]
    },
    "5618a8e3a7c0b79e": {
      "id": "5618a8e3a7c0b79e",
      "name": "bitbybit.occt.shapes.edge.getEdge",
      "customName": "get edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "3eecc756c7cb6eb6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4433.526173416015,
        -3576.9242918257864
      ]
    },
    "fc2c9a4cfcfdb985": {
      "id": "fc2c9a4cfcfdb985",
      "name": "bitbybit.occt.shapes.edge.startPointOnEdge",
      "customName": "start point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "5618a8e3a7c0b79e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4950.231456544158,
        -3748.396754273903
      ]
    },
    "bf38aa5b019d0cf1": {
      "id": "bf38aa5b019d0cf1",
      "name": "bitbybit.occt.shapes.edge.endPointOnEdge",
      "customName": "end point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "5618a8e3a7c0b79e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4936.730134280507,
        -3404.1493618648115
      ]
    },
    "9988f8dd548dc2ce": {
      "id": "9988f8dd548dc2ce",
      "name": "bitbybit.occt.shapes.wire.createPolygonWire",
      "customName": "polygon wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "f25386546773aca5",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5759.292978802696,
        -2695.765231433869
      ]
    },
    "54760d63d7a5588a": {
      "id": "54760d63d7a5588a",
      "name": "bitbybit.babylon.mesh.setRotation",
      "customName": "set rotation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "e49b85f4b6a137ce",
              "output": "result",
              "data": {}
            }
          ]
        },
        "rotation": {
          "connections": [
            {
              "node": "a158ca9301d198c3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12506.682389408725,
        -1837.0843815513203
      ]
    },
    "cef655dbfa38f90a": {
      "id": "cef655dbfa38f90a",
      "name": "bitbybit.lists.repeat",
      "customName": "repeat",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "times": 10
      },
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "94a6e4abdb23082e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "times": {
          "connections": [
            {
              "node": "3de31c3121fb14b4",
              "output": "item",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11347.603746410907,
        -2094.339253585811
      ]
    },
    "e49b85f4b6a137ce": {
      "id": "e49b85f4b6a137ce",
      "name": "bitbybit.babylon.mesh.clone",
      "customName": "clone",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "39717805fb60b3fc",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12095.451761593727,
        -1962.932182946764
      ]
    },
    "39717805fb60b3fc": {
      "id": "39717805fb60b3fc",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "cef655dbfa38f90a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11716.63620455692,
        -2010.8643831941504
      ]
    },
    "3d15d9d30c8eeebe": {
      "id": "3d15d9d30c8eeebe",
      "name": "bitbybit.vector.span",
      "customName": "span",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "step": 0.1,
        "min": 0,
        "max": 360.01
      },
      "inputs": {
        "step": {
          "connections": [
            {
              "node": "b67286f5bf5c5221",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1940.1972738194797,
        -397.40716685393943
      ]
    },
    "8240fe2107d9b2e0": {
      "id": "8240fe2107d9b2e0",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "890f9e8326154d32",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2752.517889444966,
        -336.9080980881521
      ]
    },
    "890f9e8326154d32": {
      "id": "890f9e8326154d32",
      "name": "bitbybit.lists.removeItemAtIndex",
      "customName": "remove item at index",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "3d15d9d30c8eeebe",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2296.805371462942,
        -412.57660717308664
      ]
    },
    "a158ca9301d198c3": {
      "id": "a158ca9301d198c3",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0,
        "z": 0
      },
      "inputs": {
        "y": {
          "connections": [
            {
              "node": "8240fe2107d9b2e0",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10278.537708927588,
        -943.9406665587921
      ]
    },
    "4bd52082e26d9f86": {
      "id": "4bd52082e26d9f86",
      "name": "bitbybit.lists.passThrough",
      "customName": "pass through",
      "data": {},
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "3eecc756c7cb6eb6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6554.052151705862,
        -302.9099004138949
      ]
    },
    "abe5ab422da0f276": {
      "id": "abe5ab422da0f276",
      "name": "bitbybit.math.number",
      "customName": "number",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": -0.55
      },
      "inputs": {},
      "position": [
        1759.7389240137159,
        -1603.8127130294572
      ]
    },
    "2b7535bbbd75e131": {
      "id": "2b7535bbbd75e131",
      "name": "bitbybit.occt.shapes.edge.getEdge",
      "customName": "get edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "4bd52082e26d9f86",
              "output": "item",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7283.228682973648,
        -355.2267704788029
      ]
    },
    "3521a7eb57996a66": {
      "id": "3521a7eb57996a66",
      "name": "bitbybit.occt.shapes.edge.startPointOnEdge",
      "customName": "start point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "2b7535bbbd75e131",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7781.660832754874,
        -653.6438091008042
      ]
    },
    "453d13a9c901c635": {
      "id": "453d13a9c901c635",
      "name": "bitbybit.occt.shapes.edge.endPointOnEdge",
      "customName": "end point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "2b7535bbbd75e131",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7795.652048607826,
        -407.3235002975898
      ]
    },
    "ffbb1fbc20394655": {
      "id": "ffbb1fbc20394655",
      "name": "bitbybit.point.pointXYZ",
      "customName": "point xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0,
        "z": 0
      },
      "inputs": {},
      "position": [
        7812.120120462379,
        -67.17263681905484
      ]
    },
    "2512ede6341e63d3": {
      "id": "2512ede6341e63d3",
      "name": "bitbybit.occt.shapes.wire.createPolygonWire",
      "customName": "polygon wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "5c110a3e9783a54b",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8725.16810926058,
        -363.26854316031296
      ]
    },
    "5c110a3e9783a54b": {
      "id": "5c110a3e9783a54b",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "3521a7eb57996a66",
              "output": "result",
              "data": {}
            },
            {
              "node": "453d13a9c901c635",
              "output": "result",
              "data": {}
            },
            {
              "node": "ffbb1fbc20394655",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8337.73312845111,
        -329.8160307840459
      ]
    },
    "a1be4cf8d43b29e7": {
      "id": "a1be4cf8d43b29e7",
      "name": "bitbybit.occt.operations.offset",
      "customName": "offset",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "distance": -0.03,
        "tolerance": 0.1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "2512ede6341e63d3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9117.26492092054,
        -340.9110239824266
      ]
    },
    "e3adb144bd268d3d": {
      "id": "e3adb144bd268d3d",
      "name": "bitbybit.occt.shapes.face.createFaceFromWires",
      "customName": "face from wires",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": true
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "7b19cec0740d1c1d",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10761.078355654836,
        28.73604493374691
      ]
    },
    "7b19cec0740d1c1d": {
      "id": "7b19cec0740d1c1d",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "4a4c86dfabc565ef",
              "output": "result",
              "data": {}
            },
            {
              "node": "65229f2ef80bd2b6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10354.127677496503,
        -59.069318330335605
      ]
    },
    "65229f2ef80bd2b6": {
      "id": "65229f2ef80bd2b6",
      "name": "bitbybit.occt.shapes.wire.reversedWire",
      "customName": "reversed wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "a8d4b12be3bcfd56",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9988.263375994135,
        -315.86656960200423
      ]
    },
    "bbb9893f8578067d": {
      "id": "bbb9893f8578067d",
      "name": "bitbybit.occt.operations.extrude",
      "customName": "extrude",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "e3adb144bd268d3d",
              "output": "result",
              "data": {}
            }
          ]
        },
        "direction": {
          "connections": [
            {
              "node": "382631b26b666e06",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11339.437387539103,
        -19.93911902298164
      ]
    },
    "a8d4b12be3bcfd56": {
      "id": "a8d4b12be3bcfd56",
      "name": "bitbybit.occt.fillets.fillet2d",
      "customName": "fillet 2d",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.01
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "a1be4cf8d43b29e7",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9520.274886763247,
        -529.649445823334
      ]
    },
    "4a4c86dfabc565ef": {
      "id": "4a4c86dfabc565ef",
      "name": "bitbybit.occt.fillets.fillet2d",
      "customName": "fillet 2d",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.01
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "2512ede6341e63d3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9740.85740337227,
        114.82960905725655
      ]
    },
    "382631b26b666e06": {
      "id": "382631b26b666e06",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0.5,
        "z": 0
      },
      "inputs": {},
      "position": [
        10495.737911767927,
        477.4732107504568
      ]
    },
    "047338e7d6fa39a9": {
      "id": "047338e7d6fa39a9",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "entity": {
          "connections": [
            {
              "node": "bbb9893f8578067d",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "e5e137c100a9a9df",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12970.042343701165,
        -1661.9022497036553
      ]
    },
    "2784a4a959a5de78": {
      "id": "2784a4a959a5de78",
      "name": "bitbybit.lists.repeat",
      "customName": "repeat",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "times": 10
      },
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "047338e7d6fa39a9",
              "output": "result",
              "data": {}
            }
          ]
        },
        "times": {
          "connections": [
            {
              "node": "3de31c3121fb14b4",
              "output": "item",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13345.208558829137,
        -1502.7657926156924
      ]
    },
    "8ba7735d729d3ccd": {
      "id": "8ba7735d729d3ccd",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "2784a4a959a5de78",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13736.921903050705,
        -1463.8416167318103
      ]
    },
    "f3251c61865b7902": {
      "id": "f3251c61865b7902",
      "name": "bitbybit.babylon.mesh.clone",
      "customName": "clone",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "8ba7735d729d3ccd",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14138.29721589892,
        -1472.8223484500293
      ]
    },
    "1a2851a1ed31bb4b": {
      "id": "1a2851a1ed31bb4b",
      "name": "bitbybit.babylon.mesh.setRotation",
      "customName": "set rotation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "f3251c61865b7902",
              "output": "result",
              "data": {}
            }
          ]
        },
        "rotation": {
          "connections": [
            {
              "node": "a158ca9301d198c3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14708.667160853543,
        -1346.1439039119377
      ]
    },
    "7685efce3dfd24c1": {
      "id": "7685efce3dfd24c1",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": -45,
          "max": -30,
          "step": 1,
          "width": 350
        },
        "number": -41
      },
      "inputs": {},
      "position": [
        -1033.0407778386912,
        200.90607225770717
      ]
    },
    "e5e137c100a9a9df": {
      "id": "e5e137c100a9a9df",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "options occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawFaces": true,
        "faceColour": "#53fd89",
        "drawEdges": false,
        "edgeColour": "#ffffff",
        "edgeWidth": 0.2,
        "drawTwoSided": true,
        "backFaceColour": "#0000ff",
        "backFaceOpacity": 1
      },
      "inputs": {},
      "position": [
        11984.4342026104,
        -642.0127501385507
      ]
    },
    "c530936f1efe132d": {
      "id": "c530936f1efe132d",
      "name": "bitbybit.babylon.scene.drawDirectionalLight",
      "customName": "draw directional light",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "direction": [
          -100,
          -100,
          -100
        ],
        "intensity": 0.5,
        "diffuse": "#ffffff",
        "specular": "#ffffff",
        "shadowGeneratorMapSize": 2056,
        "enableShadows": true,
        "shadowDarkness": 0,
        "shadowUsePercentageCloserFiltering": true,
        "transparencyShadow": true,
        "shadowContactHardeningLightSizeUVRatio": 0.2,
        "shadowBias": 0.0001,
        "shadowNormalBias": 0.002,
        "shadowMaxZ": 1000,
        "shadowMinZ": 0,
        "shadowRefreshRate": 1
      },
      "inputs": {},
      "position": [
        -416.29135039262354,
        2531.266182415095
      ]
    },
    "f75f83a19ad675d1": {
      "id": "f75f83a19ad675d1",
      "name": "bitbybit.occt.shapes.solid.createCylinder",
      "customName": "cylinder",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.05,
        "height": 3,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ],
        "angle": 360,
        "originOnCenter": false
      },
      "inputs": {
        "center": {
          "connections": [
            {
              "node": "382631b26b666e06",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11482.868885167238,
        645.8992981810027
      ]
    },
    "b7d0d93ad2f9b39c": {
      "id": "b7d0d93ad2f9b39c",
      "name": "bitbybit.occt.shapes.edge.getEdge",
      "customName": "get edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "a4e32f3f4c1ad667",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7829.4502729695905,
        378.4592994325802
      ]
    },
    "ee304e4a516e0fd2": {
      "id": "ee304e4a516e0fd2",
      "name": "bitbybit.occt.shapes.edge.startPointOnEdge",
      "customName": "start point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "95592be6adf35b07",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8804.735254746873,
        621.3816365842738
      ]
    },
    "fa9655dd243c8831": {
      "id": "fa9655dd243c8831",
      "name": "bitbybit.occt.shapes.edge.endPointOnEdge",
      "customName": "end point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "95592be6adf35b07",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8791.316058197646,
        943.9787923956147
      ]
    },
    "95592be6adf35b07": {
      "id": "95592be6adf35b07",
      "name": "bitbybit.occt.transforms.translate",
      "customName": "translate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "translation": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "b7d0d93ad2f9b39c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "translation": {
          "connections": [
            {
              "node": "d6b1a8ed89c215f5",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8303.870282958462,
        683.1729492013787
      ]
    },
    "d6b1a8ed89c215f5": {
      "id": "d6b1a8ed89c215f5",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 2.3,
        "z": 0
      },
      "inputs": {},
      "position": [
        7899.518996574604,
        862.5145842110475
      ]
    },
    "6171d8130cc8447c": {
      "id": "6171d8130cc8447c",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 1.5,
        "z": 0
      },
      "inputs": {},
      "position": [
        9182.287547491425,
        1171.0628538638414
      ]
    },
    "5db650c5763448fd": {
      "id": "5db650c5763448fd",
      "name": "bitbybit.occt.shapes.wire.createPolygonWire",
      "customName": "polygon wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "ff3e2aa907a5ebf0",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9717.698811436614,
        775.7663747294432
      ]
    },
    "ff3e2aa907a5ebf0": {
      "id": "ff3e2aa907a5ebf0",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "ee304e4a516e0fd2",
              "output": "result",
              "data": {}
            },
            {
              "node": "fa9655dd243c8831",
              "output": "result",
              "data": {}
            },
            {
              "node": "6171d8130cc8447c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9422.089707925323,
        814.6320390582359
      ]
    },
    "31d2bfbfceb88248": {
      "id": "31d2bfbfceb88248",
      "name": "bitbybit.occt.shapes.face.createFaceFromWire",
      "customName": "face from wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "5db650c5763448fd",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10083.007887563892,
        1044.2673814017498
      ]
    },
    "68a78105907b8c0f": {
      "id": "68a78105907b8c0f",
      "name": "bitbybit.occt.operations.offset",
      "customName": "offset",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "distance": -0.06,
        "tolerance": 0.001
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "5db650c5763448fd",
              "output": "result",
              "data": {}
            }
          ]
        },
        "face": {
          "connections": [
            {
              "node": "31d2bfbfceb88248",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10534.144669216555,
        1044.1813021571134
      ]
    },
    "cc4582ecbaafd864": {
      "id": "cc4582ecbaafd864",
      "name": "bitbybit.occt.shapes.face.createFaceFromWires",
      "customName": "face from wires",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": true
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "07b535a1e1eea817",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11695.652223275323,
        1087.5642195440757
      ]
    },
    "07b535a1e1eea817": {
      "id": "07b535a1e1eea817",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "5db650c5763448fd",
              "output": "result",
              "data": {}
            },
            {
              "node": "b1c1504094841bf3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11377.470327527839,
        1097.2045754611183
      ]
    },
    "b1c1504094841bf3": {
      "id": "b1c1504094841bf3",
      "name": "bitbybit.occt.shapes.wire.reversedWire",
      "customName": "reversed wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "79eebcf993ad481c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11204.238215806767,
        1370.4379200378144
      ]
    },
    "4a63e326d7d06497": {
      "id": "4a63e326d7d06497",
      "name": "bitbybit.occt.operations.extrude",
      "customName": "extrude",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "cc4582ecbaafd864",
              "output": "result",
              "data": {}
            }
          ]
        },
        "direction": {
          "connections": [
            {
              "node": "ef387d9a23202fd7",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12285.96525078363,
        1204.5941267298988
      ]
    },
    "ef387d9a23202fd7": {
      "id": "ef387d9a23202fd7",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0.03,
        "z": 0
      },
      "inputs": {},
      "position": [
        11758.459462981755,
        1452.4570516065958
      ]
    },
    "a4e32f3f4c1ad667": {
      "id": "a4e32f3f4c1ad667",
      "name": "bitbybit.occt.shapes.wire.createNGonWire",
      "customName": "ngon wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ],
        "nrCorners": 6,
        "radius": 3.4
      },
      "inputs": {
        "nrCorners": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6735.514164545547,
        373.78611084069297
      ]
    },
    "85dff793c40076ce": {
      "id": "85dff793c40076ce",
      "name": "bitbybit.occt.shapes.face.createFaceFromWire",
      "customName": "face from wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "79eebcf993ad481c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11301.149865278334,
        1761.2228862141694
      ]
    },
    "81341a6e8cae5254": {
      "id": "81341a6e8cae5254",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "entity": {
          "connections": [
            {
              "node": "85dff793c40076ce",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "7e7e08d9e3852b32",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13022.855108065836,
        1621.009090257601
      ]
    },
    "cb9a88d93c3363a0": {
      "id": "cb9a88d93c3363a0",
      "name": "bitbybit.babylon.material.pbrMetallicRoughness.create",
      "customName": "pbr metallic roughness",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "name": "Custom Material",
        "baseColor": "#0000ff",
        "emissiveColor": "#000000",
        "metallic": 0.9,
        "roughness": 0.1,
        "alpha": 0.3,
        "backFaceCulling": false,
        "zOffset": 0
      },
      "inputs": {},
      "position": [
        12159.824016371054,
        1963.0234883096905
      ]
    },
    "7e7e08d9e3852b32": {
      "id": "7e7e08d9e3852b32",
      "name": "bitbybit.draw.optionsOcctShapeMaterial",
      "customName": "options occt shape material",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawEdges": false,
        "edgeColour": "#ffffff",
        "edgeWidth": 2
      },
      "inputs": {
        "faceMaterial": {
          "connections": [
            {
              "node": "cb9a88d93c3363a0",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12515.175625347241,
        1845.795999884066
      ]
    },
    "c25a9f49fd419dc8": {
      "id": "c25a9f49fd419dc8",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "options": {
          "connections": [
            {
              "node": "e5e137c100a9a9df",
              "output": "result",
              "data": {}
            }
          ]
        },
        "entity": {
          "connections": [
            {
              "node": "4a63e326d7d06497",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12850.805285280383,
        230.2402380374175
      ]
    },
    "3de31c3121fb14b4": {
      "id": "3de31c3121fb14b4",
      "name": "bitbybit.lists.passThrough",
      "customName": "pass through",
      "data": {},
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10307.370352705246,
        -1132.5729977770388
      ]
    },
    "8d198a7dbe06fc49": {
      "id": "8d198a7dbe06fc49",
      "name": "bitbybit.lists.repeat",
      "customName": "repeat",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "times": 10
      },
      "inputs": {
        "times": {
          "connections": [
            {
              "node": "3de31c3121fb14b4",
              "output": "item",
              "data": {}
            }
          ]
        },
        "item": {
          "connections": [
            {
              "node": "c25a9f49fd419dc8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13576.726061694499,
        62.76041422675553
      ]
    },
    "ec9c2a2b376c3fd4": {
      "id": "ec9c2a2b376c3fd4",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "8d198a7dbe06fc49",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13921.825920529123,
        77.87783621056177
      ]
    },
    "1155ac337f1acf39": {
      "id": "1155ac337f1acf39",
      "name": "bitbybit.babylon.mesh.clone",
      "customName": "clone",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "ec9c2a2b376c3fd4",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14277.881846478896,
        132.02421538051635
      ]
    },
    "7844d70f4b50fdf6": {
      "id": "7844d70f4b50fdf6",
      "name": "bitbybit.babylon.mesh.setRotation",
      "customName": "set rotation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "1155ac337f1acf39",
              "output": "result",
              "data": {}
            }
          ]
        },
        "rotation": {
          "connections": [
            {
              "node": "a158ca9301d198c3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14769.803333431924,
        -195.41297348198913
      ]
    },
    "7486a51f099c5b2e": {
      "id": "7486a51f099c5b2e",
      "name": "bitbybit.lists.repeat",
      "customName": "repeat",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "times": 10
      },
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "81341a6e8cae5254",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13446.97246988806,
        1445.8274694418142
      ]
    },
    "761af5e04ad5e994": {
      "id": "761af5e04ad5e994",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "7486a51f099c5b2e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13850.84675054108,
        1477.7468314437904
      ]
    },
    "4fc0d06c80405389": {
      "id": "4fc0d06c80405389",
      "name": "bitbybit.babylon.mesh.clone",
      "customName": "clone",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "761af5e04ad5e994",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14241.910060605574,
        1474.447744530241
      ]
    },
    "dc02ec6e44c79584": {
      "id": "dc02ec6e44c79584",
      "name": "bitbybit.babylon.mesh.setRotation",
      "customName": "set rotation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "4fc0d06c80405389",
              "output": "result",
              "data": {}
            }
          ]
        },
        "rotation": {
          "connections": [
            {
              "node": "a158ca9301d198c3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14728.20889736881,
        1385.7817572245835
      ]
    },
    "0326b4fc11b36faa": {
      "id": "0326b4fc11b36faa",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "options": {
          "connections": [
            {
              "node": "e5e137c100a9a9df",
              "output": "result",
              "data": {}
            }
          ]
        },
        "entity": {
          "connections": [
            {
              "node": "f75f83a19ad675d1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12898.348787982273,
        795.0996836357157
      ]
    },
    "79eebcf993ad481c": {
      "id": "79eebcf993ad481c",
      "name": "bitbybit.occt.fillets.fillet2d",
      "customName": "fillet 2d",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "68a78105907b8c0f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10882.608452660503,
        1065.8643380816952
      ]
    },
    "f958cf58f60def6d": {
      "id": "f958cf58f60def6d",
      "name": "bitbybit.occt.transforms.translate",
      "customName": "translate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "translation": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "translation": {
          "connections": [
            {
              "node": "d6b1a8ed89c215f5",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "a4e32f3f4c1ad667",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8182.811654028482,
        1390.3647340972516
      ]
    },
    "4baed66199ec11dc": {
      "id": "4baed66199ec11dc",
      "name": "bitbybit.occt.shapes.edge.getCornerPointsOfEdgesForShape",
      "customName": "get corner points of edges for shape",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "f958cf58f60def6d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8595.59216422992,
        1513.6030370755798
      ]
    },
    "9722e3fa2de9eab2": {
      "id": "9722e3fa2de9eab2",
      "name": "bitbybit.point.pointXYZ",
      "customName": "point xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 3.4,
        "z": 0
      },
      "inputs": {},
      "position": [
        8601.960862449747,
        1828.9447431176566
      ]
    },
    "6a7cfbc0cba63a2d": {
      "id": "6a7cfbc0cba63a2d",
      "name": "bitbybit.occt.shapes.edge.line",
      "customName": "line",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "start": [
          0,
          0,
          0
        ],
        "end": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "start": {
          "connections": [
            {
              "node": "66c999904ef2a91c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "end": {
          "connections": [
            {
              "node": "9722e3fa2de9eab2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9310.00857732772,
        1736.6783700706435
      ]
    },
    "66c999904ef2a91c": {
      "id": "66c999904ef2a91c",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "4baed66199ec11dc",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8918.612765800017,
        1605.1573463681402
      ]
    },
    "a8d3864fe0f4dffa": {
      "id": "a8d3864fe0f4dffa",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "entity": {
          "connections": [
            {
              "node": "6a7cfbc0cba63a2d",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "5d64b08015f8d308",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12275.779406163092,
        2843.3731804770946
      ]
    },
    "5d64b08015f8d308": {
      "id": "5d64b08015f8d308",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "options occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawFaces": false,
        "faceColour": "#ff0000",
        "drawEdges": true,
        "edgeColour": "#ffffff",
        "edgeWidth": 1,
        "drawTwoSided": true,
        "backFaceColour": "#0000ff",
        "backFaceOpacity": 1
      },
      "inputs": {},
      "position": [
        9492.1690963189,
        2215.6444205838334
      ]
    },
    "7f35916e2e3f432b": {
      "id": "7f35916e2e3f432b",
      "name": "bitbybit.occt.operations.offset",
      "customName": "offset",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "distance": -0.03,
        "tolerance": 0.1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "4bd52082e26d9f86",
              "output": "item",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7787.46290901201,
        2761.9810908696954
      ]
    },
    "99adfe1090ee97ee": {
      "id": "99adfe1090ee97ee",
      "name": "bitbybit.occt.shapes.face.createFaceFromWire",
      "customName": "face from wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "7f35916e2e3f432b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8196.260654558613,
        2770.8763381681583
      ]
    },
    "9c4756a2f0f739fd": {
      "id": "9c4756a2f0f739fd",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0.3,
        "z": 0
      },
      "inputs": {},
      "position": [
        8193.883062266783,
        3145.4056356607516
      ]
    },
    "019bbb6876d9d51c": {
      "id": "019bbb6876d9d51c",
      "name": "bitbybit.occt.transforms.translate",
      "customName": "translate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "translation": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "99adfe1090ee97ee",
              "output": "result",
              "data": {}
            }
          ]
        },
        "translation": {
          "connections": [
            {
              "node": "9c4756a2f0f739fd",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8722.062697172645,
        2938.585071133658
      ]
    },
    "455e7d53ab099e21": {
      "id": "455e7d53ab099e21",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "entity": {
          "connections": [
            {
              "node": "019bbb6876d9d51c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "0503cb8aa4790d6c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10375.057416417427,
        3360.714694597343
      ]
    },
    "e0f556503f192b40": {
      "id": "e0f556503f192b40",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "options occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawFaces": true,
        "faceColour": "#000000",
        "drawEdges": false,
        "edgeColour": "#ffffff",
        "edgeWidth": 1,
        "drawTwoSided": true,
        "backFaceColour": "#0000ff",
        "backFaceOpacity": 1
      },
      "inputs": {},
      "position": [
        8767.44209255481,
        3340.4100161192455
      ]
    },
    "5f3ba4c41775532a": {
      "id": "5f3ba4c41775532a",
      "name": "bitbybit.occt.transforms.scale",
      "customName": "scale",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "factor": 0.7
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "99adfe1090ee97ee",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9109.460390817529,
        2802.3600586081266
      ]
    },
    "7cb30a49502865d5": {
      "id": "7cb30a49502865d5",
      "name": "bitbybit.occt.shapes.edge.getEdges",
      "customName": "get edges",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "5f3ba4c41775532a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9525.050953385615,
        2817.8484032042907
      ]
    },
    "818dba8f9534ba8e": {
      "id": "818dba8f9534ba8e",
      "name": "bitbybit.occt.shapes.edge.pointOnEdgeAtParam",
      "customName": "point on edge at param",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "param": 0.5
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "00c2f41ef8c7144a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10269.515207700482,
        2929.7350268797823
      ]
    },
    "00c2f41ef8c7144a": {
      "id": "00c2f41ef8c7144a",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "7cb30a49502865d5",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9926.289702262799,
        2960.182759224416
      ]
    },
    "55820ac479d34979": {
      "id": "55820ac479d34979",
      "name": "bitbybit.babylon.gaussianSplatting.create",
      "customName": "gaussian splatting",
      "async": true,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "url": "https://firebasestorage.googleapis.com/v0/b/bit-by-bit-prod.appspot.com/o/users%2FyVqNAFXmieX0iAkdP6wAz5BJ4X82%2Fprojects%2Fns2SZOxIjoCgavvJM3yF%2Fassets%2Fpalm.splat?alt=media&token=01fcce14-1dd9-4120-aec0-06fcdfaf28bf"
      },
      "inputs": {},
      "position": [
        1313.8125995447676,
        2996.434045306101
      ]
    },
    "e7bd3832cdfcbf41": {
      "id": "e7bd3832cdfcbf41",
      "name": "bitbybit.babylon.gaussianSplatting.clone",
      "customName": "clone gaussian splatting",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "af1b6555d859e96d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2515.361591466421,
        3009.1979200151404
      ]
    },
    "cf64df9cb090708b": {
      "id": "cf64df9cb090708b",
      "name": "bitbybit.lists.repeat",
      "customName": "repeat",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "times": 10
      },
      "inputs": {
        "times": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        },
        "item": {
          "connections": [
            {
              "node": "55820ac479d34979",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1846.1513642876923,
        2815.5853513290444
      ]
    },
    "af1b6555d859e96d": {
      "id": "af1b6555d859e96d",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "cf64df9cb090708b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2184.3944974485544,
        2865.278348809862
      ]
    },
    "068c59ba7e21ec0d": {
      "id": "068c59ba7e21ec0d",
      "name": "bitbybit.babylon.mesh.setPosition",
      "customName": "set position",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "e7bd3832cdfcbf41",
              "output": "result",
              "data": {}
            }
          ]
        },
        "position": {
          "connections": [
            {
              "node": "818dba8f9534ba8e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11084.06680536526,
        3866.106068942025
      ]
    },
    "5e0a928b2ba917d5": {
      "id": "5e0a928b2ba917d5",
      "name": "bitbybit.math.randomNumbers",
      "customName": "random numbers",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "low": 0.3,
        "high": 0.45,
        "count": 10
      },
      "inputs": {
        "count": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2557.873146300683,
        2349.4984577334976
      ]
    },
    "55d680921e901f19": {
      "id": "55d680921e901f19",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "5e0a928b2ba917d5",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2993.409217461307,
        2449.960506199012
      ]
    },
    "f66207c6ca90f4c8": {
      "id": "f66207c6ca90f4c8",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0,
        "z": 0
      },
      "inputs": {
        "y": {
          "connections": [
            {
              "node": "314c7c872a02629d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3345.4046622282767,
        2990.9161113417645
      ]
    },
    "83529a30eef9f3d6": {
      "id": "83529a30eef9f3d6",
      "name": "bitbybit.math.randomNumbers",
      "customName": "random numbers",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "low": 0,
        "high": 360,
        "count": 10
      },
      "inputs": {
        "count": {
          "connections": [
            {
              "node": "928cebb481329fd3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2576.700000002911,
        2617.402919488024
      ]
    },
    "314c7c872a02629d": {
      "id": "314c7c872a02629d",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "83529a30eef9f3d6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2997.4211875837805,
        2762.525010775361
      ]
    },
    "cf85faea216def50": {
      "id": "cf85faea216def50",
      "name": "bitbybit.babylon.mesh.setRotation",
      "customName": "set rotation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "e7bd3832cdfcbf41",
              "output": "result",
              "data": {}
            }
          ]
        },
        "rotation": {
          "connections": [
            {
              "node": "f66207c6ca90f4c8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3868.235318907421,
        3146.4397651760437
      ]
    },
    "c643bae5b25401ca": {
      "id": "c643bae5b25401ca",
      "name": "bitbybit.babylon.gaussianSplatting.create",
      "customName": "gaussian splatting",
      "async": true,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "url": "https://firebasestorage.googleapis.com/v0/b/bit-by-bit-prod.appspot.com/o/users%2FyVqNAFXmieX0iAkdP6wAz5BJ4X82%2Fprojects%2FrurHqHCxRi211LmrrwI1%2Fassets%2Fruta-with-bikes-3.splat?alt=media&token=9fd27a2d-ea06-4914-a80b-91bc3dba641e"
      },
      "inputs": {},
      "position": [
        951.0754783184882,
        3505.27984775606
      ]
    },
    "3ceedd6137cd8b8d": {
      "id": "3ceedd6137cd8b8d",
      "name": "bitbybit.babylon.mesh.setPosition",
      "customName": "set position",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "c643bae5b25401ca",
              "output": "result",
              "data": {}
            }
          ]
        },
        "position": {
          "connections": [
            {
              "node": "b42b94405d391e53",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1916.2409324414748,
        3808.55831271572
      ]
    },
    "b42b94405d391e53": {
      "id": "b42b94405d391e53",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -4,
        "y": 0,
        "z": 0
      },
      "inputs": {},
      "position": [
        1383.3025349420911,
        3885.511292615751
      ]
    },
    "10803f5aeb7a24b0": {
      "id": "10803f5aeb7a24b0",
      "name": "bitbybit.babylon.mesh.setRotation",
      "customName": "set rotation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "c643bae5b25401ca",
              "output": "result",
              "data": {}
            }
          ]
        },
        "rotation": {
          "connections": [
            {
              "node": "705f9a81995246f1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1958.5025237155487,
        4167.498117151385
      ]
    },
    "705f9a81995246f1": {
      "id": "705f9a81995246f1",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 100,
        "z": 0
      },
      "inputs": {},
      "position": [
        1502.7427935886697,
        4288.614911307767
      ]
    },
    "02470357a80d7702": {
      "id": "02470357a80d7702",
      "name": "bitbybit.babylon.mesh.hide",
      "customName": "hide",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "047338e7d6fa39a9",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13476.80729134923,
        -1775.5650320386635
      ]
    },
    "09db7b0a7276ddd3": {
      "id": "09db7b0a7276ddd3",
      "name": "bitbybit.babylon.mesh.show",
      "customName": "show",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "f3251c61865b7902",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14467.843456876259,
        -1689.5769909130008
      ]
    },
    "695f14fec303a2ae": {
      "id": "695f14fec303a2ae",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "f3251c61865b7902",
              "output": "result",
              "data": {}
            },
            {
              "node": "1155ac337f1acf39",
              "output": "result",
              "data": {}
            },
            {
              "node": "4fc0d06c80405389",
              "output": "result",
              "data": {}
            },
            {
              "node": "a8d3864fe0f4dffa",
              "output": "result",
              "data": {}
            },
            {
              "node": "c25a9f49fd419dc8",
              "output": "result",
              "data": {}
            },
            {
              "node": "455e7d53ab099e21",
              "output": "result",
              "data": {}
            },
            {
              "node": "97926d22ecefccde",
              "output": "result",
              "data": {}
            },
            {
              "node": "e7bd3832cdfcbf41",
              "output": "result",
              "data": {}
            },
            {
              "node": "c643bae5b25401ca",
              "output": "result",
              "data": {}
            },
            {
              "node": "608fe4b27a899ec2",
              "output": "result",
              "data": {}
            },
            {
              "node": "e49b85f4b6a137ce",
              "output": "result",
              "data": {}
            },
            {
              "node": "047338e7d6fa39a9",
              "output": "result",
              "data": {}
            },
            {
              "node": "c25a9f49fd419dc8",
              "output": "result",
              "data": {}
            },
            {
              "node": "81341a6e8cae5254",
              "output": "result",
              "data": {}
            },
            {
              "node": "94a6e4abdb23082e",
              "output": "result",
              "data": {}
            },
            {
              "node": "16826205992152b8",
              "output": "result",
              "data": {}
            },
            {
              "node": "b0c3147b077e3c25",
              "output": "result",
              "data": {}
            },
            {
              "node": "55820ac479d34979",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        18215.094428052995,
        2141.7133850378705
      ]
    },
    "52bd20584fc75242": {
      "id": "52bd20584fc75242",
      "name": "bitbybit.runner.setRunnerResultValue",
      "customName": "set runner result value",
      "data": {
        "property": "meshes"
      },
      "inputs": {
        "value": {
          "connections": [
            {
              "node": "695f14fec303a2ae",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        19001.08546505669,
        2147.300982994386
      ]
    },
    "e063b6aa9e003f7a": {
      "id": "e063b6aa9e003f7a",
      "name": "bitbybit.babylon.mesh.show",
      "customName": "show",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "e7bd3832cdfcbf41",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2905.908169424435,
        3206.9882656654877
      ]
    },
    "d9fdf6889297287b": {
      "id": "d9fdf6889297287b",
      "name": "bitbybit.babylon.mesh.hide",
      "customName": "hide",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "55820ac479d34979",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2050.8089707430313,
        3151.5511592263256
      ]
    },
    "3a69338dadd98a81": {
      "id": "3a69338dadd98a81",
      "name": "bitbybit.babylon.mesh.show",
      "customName": "show",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "97926d22ecefccde",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2965.315818300552,
        775.5890820905876
      ]
    },
    "0503cb8aa4790d6c": {
      "id": "0503cb8aa4790d6c",
      "name": "bitbybit.draw.optionsOcctShapeMaterial",
      "customName": "options occt shape material",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawEdges": true,
        "edgeColour": "#ffffff",
        "edgeWidth": 2
      },
      "inputs": {
        "faceMaterial": {
          "connections": [
            {
              "node": "ace484347c9dca44",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9419.592342478767,
        3546.5390796671063
      ]
    },
    "ace484347c9dca44": {
      "id": "ace484347c9dca44",
      "name": "bitbybit.babylon.material.pbrMetallicRoughness.create",
      "customName": "pbr metallic roughness",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "name": "Custom Material",
        "baseColor": "#000000",
        "emissiveColor": "#000000",
        "metallic": 0.6,
        "roughness": 0.5,
        "alpha": 1,
        "backFaceCulling": false,
        "zOffset": 0
      },
      "inputs": {},
      "position": [
        9040.16860831113,
        3742.42176057552
      ]
    },
    "982915f87eca0854": {
      "id": "982915f87eca0854",
      "name": "bitbybit.logic.compare",
      "customName": "compare",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "operator": "=="
      },
      "inputs": {
        "second": {
          "connections": [
            {
              "node": "ab77c2f9cc77700b",
              "output": "result",
              "data": {}
            }
          ]
        },
        "first": {
          "connections": [
            {
              "node": "2167c3a715a447ed",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -228.99051621620538,
        1511.2828351728479
      ]
    },
    "ab77c2f9cc77700b": {
      "id": "ab77c2f9cc77700b",
      "name": "bitbybit.text.create",
      "customName": "create",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "text": "Kids"
      },
      "inputs": {},
      "position": [
        -616.322048648097,
        1633.4383521417494
      ]
    },
    "42ae0661fdd7a399": {
      "id": "42ae0661fdd7a399",
      "name": "bitbybit.text.create",
      "customName": "create",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "text": "Adult"
      },
      "inputs": {},
      "position": [
        -1373.969494023366,
        1260.236858291398
      ]
    },
    "fbd310347e184a35": {
      "id": "fbd310347e184a35",
      "name": "bitbybit.flow.actions.trigger",
      "customName": "trigger",
      "data": {},
      "inputs": {},
      "position": [
        2857.2816958137364,
        5752.743472282521
      ]
    },
    "cdc4082ad7ca4daf": {
      "id": "cdc4082ad7ca4daf",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 8,
        "y": 3,
        "z": 0
      },
      "inputs": {},
      "position": [
        708.5298534863264,
        5087.220382617572
      ]
    },
    "4dcb1794891ded04": {
      "id": "4dcb1794891ded04",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0.5,
        "z": 4
      },
      "inputs": {},
      "position": [
        712.6249947057092,
        5463.97603457181
      ]
    },
    "c7ba232181b504db": {
      "id": "c7ba232181b504db",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -9,
        "y": 7,
        "z": 0
      },
      "inputs": {},
      "position": [
        728.3847684227716,
        5843.889556355287
      ]
    },
    "095ceac052d2e12b": {
      "id": "095ceac052d2e12b",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 1,
        "z": -4
      },
      "inputs": {},
      "position": [
        695.7913615797977,
        6198.888336969162
      ]
    },
    "63ec92a2e4491cd2": {
      "id": "63ec92a2e4491cd2",
      "name": "bitbybit.occt.shapes.wire.createPolygonWire",
      "customName": "polygon wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "1e5f4ac36c95a02d",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1759.2118077322461,
        5689.249720182629
      ]
    },
    "1e5f4ac36c95a02d": {
      "id": "1e5f4ac36c95a02d",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "cdc4082ad7ca4daf",
              "output": "result",
              "data": {}
            },
            {
              "node": "4dcb1794891ded04",
              "output": "result",
              "data": {}
            },
            {
              "node": "c7ba232181b504db",
              "output": "result",
              "data": {}
            },
            {
              "node": "095ceac052d2e12b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1414.3332296161966,
        5690.2479674281
      ]
    },
    "3dc2a6831aea7a8c": {
      "id": "3dc2a6831aea7a8c",
      "name": "bitbybit.occt.fillets.fillet3DWire",
      "customName": "fillet 3d wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 2,
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "63ec92a2e4491cd2",
              "output": "result",
              "data": {}
            }
          ]
        },
        "direction": {
          "connections": [
            {
              "node": "8c2384dac9ec6d8a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2255.285230551305,
        5887.591940741204
      ]
    },
    "8c2384dac9ec6d8a": {
      "id": "8c2384dac9ec6d8a",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 1,
        "z": 0
      },
      "inputs": {},
      "position": [
        1688.5026278446776,
        6088.91305784182
      ]
    },
    "963130d54cf7ff89": {
      "id": "963130d54cf7ff89",
      "name": "bitbybit.occt.shapes.wire.divideWireByEqualDistanceToPoints",
      "customName": "divide wire by equal distance to points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrOfDivisions": 1000,
        "removeStartPoint": false,
        "removeEndPoint": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "3dc2a6831aea7a8c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2744.7089640223276,
        6064.652138892721
      ]
    },
    "041d5d007b07e064": {
      "id": "041d5d007b07e064",
      "name": "bitbybit.babylon.camera.target.create",
      "customName": "target camera",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "position": [
          20,
          20,
          20
        ],
        "target": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "fbd310347e184a35",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3253.562800887163,
        5632.487198095681
      ]
    },
    "b7e5321c36348658": {
      "id": "b7e5321c36348658",
      "name": "bitbybit.babylon.scene.activateCamera",
      "customName": "activate camera",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "camera": {
          "connections": [
            {
              "node": "041d5d007b07e064",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "041d5d007b07e064",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3754.390221770012,
        5901.633830888706
      ]
    },
    "5cea56201497db96": {
      "id": "5cea56201497db96",
      "name": "bitbybit.flow.babylon.render",
      "customName": "render",
      "data": {},
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "b7e5321c36348658",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4037.982048759333,
        6616.13294134004
      ]
    },
    "43d1b1384489465b": {
      "id": "43d1b1384489465b",
      "name": "bitbybit.flow.counters.counterMinMax",
      "customName": "counter min max",
      "data": {
        "count": 0,
        "min": 0,
        "max": 1000,
        "step": 1,
        "pulse": false,
        "end": false
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "5cea56201497db96",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4447.806396173595,
        6558.657056340117
      ]
    },
    "c77e7fc94608bd46": {
      "id": "c77e7fc94608bd46",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "index": 0,
        "clone": false
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "963130d54cf7ff89",
              "output": "result",
              "data": {}
            }
          ]
        },
        "index": {
          "connections": [
            {
              "node": "43d1b1384489465b",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "43d1b1384489465b",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4950.512928143758,
        6080.035202321335
      ]
    },
    "1bdfbbba0ec05968": {
      "id": "1bdfbbba0ec05968",
      "name": "bitbybit.babylon.camera.setPosition",
      "customName": "set position",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "position": [
          20,
          20,
          20
        ]
      },
      "inputs": {
        "camera": {
          "connections": [
            {
              "node": "041d5d007b07e064",
              "output": "result",
              "data": {}
            }
          ]
        },
        "position": {
          "connections": [
            {
              "node": "c77e7fc94608bd46",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "c77e7fc94608bd46",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5495.717861148786,
        5726.6985415743
      ]
    },
    "52583b75b035c9a1": {
      "id": "52583b75b035c9a1",
      "name": "bitbybit.babylon.camera.setTarget",
      "customName": "set target",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "target": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "target": {
          "connections": [
            {
              "node": "1dc544f0e92c4a12",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "1dc544f0e92c4a12",
              "output": "exec",
              "data": {}
            }
          ]
        },
        "camera": {
          "connections": [
            {
              "node": "041d5d007b07e064",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6418.743452215806,
        6279.297978841288
      ]
    },
    "1dc544f0e92c4a12": {
      "id": "1dc544f0e92c4a12",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "x": 0,
        "y": 0,
        "z": 0
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "1bdfbbba0ec05968",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5971.7890069772,
        5916.416283427372
      ]
    },
    "2b06dd828aada258": {
      "id": "2b06dd828aada258",
      "name": "bitbybit.babylon.camera.setPosition",
      "customName": "set position",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "position": [
          20,
          20,
          20
        ]
      },
      "inputs": {
        "camera": {
          "connections": [
            {
              "node": "041d5d007b07e064",
              "output": "result",
              "data": {}
            }
          ]
        },
        "position": {
          "connections": [
            {
              "node": "e90bb85a80564f0c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4073.728003621184,
        5060.68540102224
      ]
    },
    "e90bb85a80564f0c": {
      "id": "e90bb85a80564f0c",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -5,
        "y": 8,
        "z": -7
      },
      "inputs": {},
      "position": [
        3492.849931271785,
        5152.880932672463
      ]
    },
    "565d1a876913d647": {
      "id": "565d1a876913d647",
      "name": "bitbybit.babylon.camera.setTarget",
      "customName": "set target",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "target": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "target": {
          "connections": [
            {
              "node": "393b8faef4d7c6ad",
              "output": "result",
              "data": {}
            }
          ]
        },
        "camera": {
          "connections": [
            {
              "node": "041d5d007b07e064",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4503.28061529378,
        5335.106177125177
      ]
    },
    "393b8faef4d7c6ad": {
      "id": "393b8faef4d7c6ad",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0,
        "z": 0
      },
      "inputs": {},
      "position": [
        3883.945084599958,
        5490.928294704984
      ]
    },
    "5ec36fbd39dc6dc3": {
      "id": "5ec36fbd39dc6dc3",
      "name": "bitbybit.babylon.mesh.setLocalScale",
      "customName": "set local scale",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "scale": 0.55
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "16826205992152b8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1942.4595718190544,
        1358.2736145144747
      ]
    },
    "d12075bbbd93c668": {
      "id": "d12075bbbd93c668",
      "name": "bitbybit.babylon.mesh.setLocalScale",
      "customName": "set local scale",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "scale": 0.68
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "b0c3147b077e3c25",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1954.5136897219504,
        2047.5149822720673
      ]
    },
    "bf0c0215b74be944": {
      "id": "bf0c0215b74be944",
      "name": "bitbybit.babylon.mesh.setLocalScale",
      "customName": "set local scale",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        },
        "scale": 0.68
      },
      "inputs": {
        "scale": {
          "connections": [
            {
              "node": "c052884a096b5c55",
              "output": "result",
              "data": {}
            }
          ]
        },
        "babylonMesh": {
          "connections": [
            {
              "node": "e7bd3832cdfcbf41",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3930.8857822230593,
        2255.6092836170174
      ]
    },
    "c052884a096b5c55": {
      "id": "c052884a096b5c55",
      "name": "bitbybit.math.number",
      "customName": "number",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 1
      },
      "inputs": {
        "number": {
          "connections": [
            {
              "node": "55d680921e901f19",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3496.3921514825415,
        2347.4231064904675
      ]
    },
    "e7c2384bd3a5a287": {
      "id": "e7c2384bd3a5a287",
      "name": "bitbybit.babylon.mesh.setLocalScale",
      "customName": "set local scale",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "scale": 0.9
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "c643bae5b25401ca",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2013.0204507631868,
        4560.876864398014
      ]
    }
  }
}
Plans & Pricing

Choose Your Plan

Editor plans for 3D development, API keys for server-side CAD algorithms

B2B

ENTERPRISE

Custom pricing

Custom software development, dedicated servers & CAD automation at scale.

CAD Automation & Software
  • Custom software development
  • Cloud CAD automation pipelines
  • 3D configurators (STEP & GLTF)
  • Batch export jobs
  • Custom algorithms & deployment
Infrastructure & Support
  • Custom compute allocation
  • Dedicated / VPS server tenants
  • Long-running computation jobs
  • Custom upload limits & overage
  • SLA & premium support