Script: Structure only

Structure only picture
Type
Rete logo indicatorrete
Date Created
Sep 25, 2024, 8:10:35 PM
Last Edit Date
Jan 7, 2026, 4:51:36 PM

Project Information

This project shows a conceptual architectural pavillion and demonstrates how animations can be created by using control flow.

View Full Project

Script Code

{
  "id": "rete-v2-json",
  "nodes": {
    "2141c8e0c65fa7da": {
      "id": "2141c8e0c65fa7da",
      "name": "bitbybit.code.jsonEditor",
      "customName": "json editor",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "options": {
          "width": 531,
          "height": 489
        },
        "code": {
          "code": "{\n    \"groundCrv\": [\n        [\n            -150,\n            2,\n            -25\n        ],\n        [\n            0,\n            2,\n            -15\n        ],\n        [\n            130,\n            2,\n            -25\n        ]\n    ],\n    \"groundMid\": [\n        [\n            -160,\n            1.7,\n            0\n        ],\n        [\n            140,\n            1.7,\n            0\n        ]\n    ],\n    \"firstCrv\": [\n        [\n            -120,\n            3,\n            -50\n        ],\n        [\n            -70,\n            3,\n            -40\n        ],\n        [\n            0,\n            3,\n            -45\n        ],\n        [\n            20,\n            3,\n            -40\n        ],\n        [\n            120,\n            3,\n            -30\n        ]\n    ],\n    \"secondCrv\": [\n        [\n            -140,\n            20,\n            -20\n        ],\n        [\n            -70,\n            13,\n            -30\n        ],\n        [\n            0,\n            18,\n            -38\n        ],\n        [\n            20,\n            15,\n            -30\n        ],\n        [\n            140,\n            15,\n            -20\n        ]\n    ],\n    \"midCrv\": [\n        [\n            -180,\n            8,\n            0\n        ],\n        [\n            -70,\n            11,\n            0\n        ],\n        [\n            0,\n            17,\n            0\n        ],\n        [\n            20,\n            17,\n            0\n        ],\n        [\n            120,\n            20,\n            0\n        ]\n    ]\n}"
        }
      },
      "inputs": {},
      "position": [
        -1011.1636098398882,
        1135.3665620504978
      ]
    },
    "d29e1b8a1c8c74ed": {
      "id": "d29e1b8a1c8c74ed",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "firstCrv"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "2141c8e0c65fa7da",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -33.70956581183346,
        551.6437507413409
      ]
    },
    "88d68426958ecbe5": {
      "id": "88d68426958ecbe5",
      "name": "bitbybit.babylon.scene.adjustActiveArcRotateCamera",
      "customName": "adjust active arc rotate camera",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "position": [
          10,
          10,
          10
        ],
        "lookAt": [
          0,
          0,
          0
        ],
        "lowerBetaLimit": 1,
        "upperBetaLimit": 179,
        "angularSensibilityX": 1000,
        "angularSensibilityY": 1000,
        "maxZ": 1000,
        "panningSensibility": 50,
        "wheelPrecision": 3
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "fd0773bf0b3fbd53",
              "output": "exec",
              "data": {}
            }
          ]
        },
        "position": {
          "connections": [
            {
              "node": "4ce5724dfd434a1a",
              "output": "result",
              "data": {}
            }
          ]
        },
        "lookAt": {
          "connections": [
            {
              "node": "6d9fa5d21a9cab1b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        777.8293414965153,
        6453.683118244296
      ]
    },
    "4ce5724dfd434a1a": {
      "id": "4ce5724dfd434a1a",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 250,
        "y": 60,
        "z": 100
      },
      "inputs": {},
      "position": [
        239.34671837049655,
        6432.81169155438
      ]
    },
    "b332864f3338a6be": {
      "id": "b332864f3338a6be",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "d29e1b8a1c8c74ed",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        407.4218051853469,
        548.8687611109417
      ]
    },
    "394dbb8f8d9af670": {
      "id": "394dbb8f8d9af670",
      "name": "bitbybit.occt.transforms.mirrorAlongNormal",
      "customName": "mirror along normal",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "origin": [
          0,
          0,
          0
        ],
        "normal": [
          0,
          0,
          1
        ]
      },
      "inputs": {
        "normal": {
          "connections": [
            {
              "node": "444bcfade47e2d72",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "8dbd393001bbf3fa",
              "output": "result",
              "data": {}
            },
            {
              "node": "b332864f3338a6be",
              "output": "result",
              "data": {}
            },
            {
              "node": "c476a952ed8808a7",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1019.5900804437351,
        -215.55473448138764
      ]
    },
    "444bcfade47e2d72": {
      "id": "444bcfade47e2d72",
      "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": 1
      },
      "inputs": {},
      "position": [
        444.2920043531883,
        -362.1279250520986
      ]
    },
    "4541778dea83fc92": {
      "id": "4541778dea83fc92",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "secondCrv"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "2141c8e0c65fa7da",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -31.02860581243722,
        902.7355891042737
      ]
    },
    "8dbd393001bbf3fa": {
      "id": "8dbd393001bbf3fa",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "4541778dea83fc92",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        408.0168694926353,
        897.8594811608025
      ]
    },
    "fa783ac83eed1a87": {
      "id": "fa783ac83eed1a87",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "midCrv"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "2141c8e0c65fa7da",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -28.59126636214556,
        1253.7953857887971
      ]
    },
    "dddb4068c63edb9e": {
      "id": "dddb4068c63edb9e",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "fa783ac83eed1a87",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        409.45134064579713,
        1250.0277873979517
      ]
    },
    "cd01d7cafd10c2e6": {
      "id": "cd01d7cafd10c2e6",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 10,
          "max": 100,
          "step": 1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 97
      },
      "inputs": {},
      "position": [
        2548.937829580217,
        2014.5964754538468
      ]
    },
    "6167cc93c5d45729": {
      "id": "6167cc93c5d45729",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "05e9ffc7bfb58f40",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4601.22527979044,
        36.70325592342385
      ]
    },
    "b1afbc87fdcf61fc": {
      "id": "b1afbc87fdcf61fc",
      "name": "bitbybit.lists.flipLists",
      "customName": "flip lists",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "6167cc93c5d45729",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4898.980788661791,
        -1.7785582330523084
      ]
    },
    "61751221efb25eeb": {
      "id": "61751221efb25eeb",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "b1afbc87fdcf61fc",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5236.67588420026,
        38.265379027048766
      ]
    },
    "893377fd50fbdcfb": {
      "id": "893377fd50fbdcfb",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "394dbb8f8d9af670",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1415.663596711456,
        -180.74572459783894
      ]
    },
    "c050b3f2a73226d1": {
      "id": "c050b3f2a73226d1",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "893377fd50fbdcfb",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1778.158356913739,
        -817.2357715185209
      ]
    },
    "94243d236e5f531d": {
      "id": "94243d236e5f531d",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "893377fd50fbdcfb",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1791.7517496482885,
        -459.8766398845204
      ]
    },
    "05e9ffc7bfb58f40": {
      "id": "05e9ffc7bfb58f40",
      "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": 10,
        "removeStartPoint": false,
        "removeEndPoint": false
      },
      "inputs": {
        "nrOfDivisions": {
          "connections": [
            {
              "node": "cd01d7cafd10c2e6",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "bbf9e532b2f33551",
              "output": "result",
              "data": {}
            },
            {
              "node": "c476a952ed8808a7",
              "output": "result",
              "data": {}
            },
            {
              "node": "b332864f3338a6be",
              "output": "result",
              "data": {}
            },
            {
              "node": "8dbd393001bbf3fa",
              "output": "result",
              "data": {}
            },
            {
              "node": "dddb4068c63edb9e",
              "output": "result",
              "data": {}
            },
            {
              "node": "c050b3f2a73226d1",
              "output": "result",
              "data": {}
            },
            {
              "node": "94243d236e5f531d",
              "output": "result",
              "data": {}
            },
            {
              "node": "4ae925a9d7d1fba6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3994.045487023849,
        -13.61651655061928
      ]
    },
    "251939c4347aa98f": {
      "id": "251939c4347aa98f",
      "name": "bitbybit.code.jsonEditor",
      "customName": "json editor",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "options": {
          "width": 515,
          "height": 489
        },
        "code": {
          "code": "{\n    \"groundCrv\": [\n        [\n            -150,\n            0,\n            -30\n        ],\n        [\n            0,\n            0,\n            -25\n        ],\n        [\n            130,\n            0,\n            -30\n        ]\n    ],\n    \"groundMid\": [\n        [\n            -170,\n            0,\n            0\n        ],\n        [\n            150,\n            0,\n            0\n        ]\n    ],\n    \"firstCrv\": [\n        [\n            -110,\n            3,\n            -60\n        ],\n        [\n            -80,\n            3,\n            -48\n        ],\n        [\n            0,\n            3,\n            -51\n        ],\n        [\n            20,\n            3,\n            -44\n        ],\n        [\n            110,\n            3,\n            -38\n        ]\n    ],\n    \"secondCrv\": [\n        [\n            -145,\n            30,\n            -20\n        ],\n        [\n            -70,\n            14,\n            -30\n        ],\n        [\n            0,\n            20,\n            -38\n        ],\n        [\n            20,\n            18,\n            -31\n        ],\n        [\n            141,\n            21,\n            -23\n        ]\n    ],\n    \"midCrv\": [\n        [\n            -182,\n            13,\n            0\n        ],\n        [\n            -70,\n            14,\n            0\n        ],\n        [\n            0,\n            18,\n            0\n        ],\n        [\n            20,\n            18,\n            0\n        ],\n        [\n            123,\n            23,\n            0\n        ]\n    ]\n}"
        }
      },
      "inputs": {},
      "position": [
        -985.4252563357683,
        3328.643824613821
      ]
    },
    "17ce2d7978440ca2": {
      "id": "17ce2d7978440ca2",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "firstCrv"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "251939c4347aa98f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        70.18029801298002,
        2935.817643279044
      ]
    },
    "327c214029432955": {
      "id": "327c214029432955",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "17ce2d7978440ca2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        511.7429276016881,
        2931.4864491513367
      ]
    },
    "702dc7b04765686e": {
      "id": "702dc7b04765686e",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "secondCrv"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "251939c4347aa98f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        63.72526367990599,
        3287.645033758151
      ]
    },
    "578fb2e05605cb2c": {
      "id": "578fb2e05605cb2c",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "midCrv"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "251939c4347aa98f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        67.81800788767683,
        3640.7610743839755
      ]
    },
    "5ec61935d36be9a1": {
      "id": "5ec61935d36be9a1",
      "name": "bitbybit.occt.transforms.mirrorAlongNormal",
      "customName": "mirror along normal",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "origin": [
          0,
          0,
          0
        ],
        "normal": [
          0,
          0,
          1
        ]
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "e2a686150c47f771",
              "output": "result",
              "data": {}
            },
            {
              "node": "327c214029432955",
              "output": "result",
              "data": {}
            },
            {
              "node": "45964f2e0b5b64fa",
              "output": "result",
              "data": {}
            }
          ]
        },
        "normal": {
          "connections": [
            {
              "node": "c78a7f68d4ffbf38",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2328.563782330384,
        2251.678083678445
      ]
    },
    "45964f2e0b5b64fa": {
      "id": "45964f2e0b5b64fa",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "702dc7b04765686e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        511.8572129017445,
        3283.386963874665
      ]
    },
    "a7a763256336deec": {
      "id": "a7a763256336deec",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "578fb2e05605cb2c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        512.661307011848,
        3635.5272461486525
      ]
    },
    "6442120c90648c5f": {
      "id": "6442120c90648c5f",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "groundCrv"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "251939c4347aa98f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        69.49230338035625,
        2586.917341095514
      ]
    },
    "e2a686150c47f771": {
      "id": "e2a686150c47f771",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "6442120c90648c5f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        515.3114390432236,
        2580.9905531489026
      ]
    },
    "52bd498ab70dea45": {
      "id": "52bd498ab70dea45",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "groundCrv"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "2141c8e0c65fa7da",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -36.17338755521891,
        205.78123248622688
      ]
    },
    "c476a952ed8808a7": {
      "id": "c476a952ed8808a7",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "52bd498ab70dea45",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        406.7932319649232,
        202.22167688069965
      ]
    },
    "4ae925a9d7d1fba6": {
      "id": "4ae925a9d7d1fba6",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 2,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "893377fd50fbdcfb",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1790.5494866113038,
        -101.29757172173004
      ]
    },
    "c9eb2c33eed8d12f": {
      "id": "c9eb2c33eed8d12f",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "228efc4d1f888856",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5927.9994519034435,
        41.78958745449405
      ]
    },
    "d4f30d42144870e7": {
      "id": "d4f30d42144870e7",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "groundMid"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "2141c8e0c65fa7da",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -28.480433902161494,
        1608.2556424146976
      ]
    },
    "bbf9e532b2f33551": {
      "id": "bbf9e532b2f33551",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "d4f30d42144870e7",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        410.19291204325526,
        1604.9728140368584
      ]
    },
    "9411595a87c62859": {
      "id": "9411595a87c62859",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "groundMid"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "251939c4347aa98f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        66.35794548156406,
        3990.844804992488
      ]
    },
    "506d575be102584f": {
      "id": "506d575be102584f",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "9411595a87c62859",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        513.1385643361,
        3986.6824826883253
      ]
    },
    "d89a1d5a1e974915": {
      "id": "d89a1d5a1e974915",
      "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": 10,
        "removeStartPoint": false,
        "removeEndPoint": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "506d575be102584f",
              "output": "result",
              "data": {}
            },
            {
              "node": "e2a686150c47f771",
              "output": "result",
              "data": {}
            },
            {
              "node": "327c214029432955",
              "output": "result",
              "data": {}
            },
            {
              "node": "45964f2e0b5b64fa",
              "output": "result",
              "data": {}
            },
            {
              "node": "a7a763256336deec",
              "output": "result",
              "data": {}
            },
            {
              "node": "5a1dfc2850035d90",
              "output": "result",
              "data": {}
            },
            {
              "node": "4a24e7e29ef71945",
              "output": "result",
              "data": {}
            },
            {
              "node": "2c317494dd605859",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrOfDivisions": {
          "connections": [
            {
              "node": "cd01d7cafd10c2e6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4453.947511864185,
        2876.674745919857
      ]
    },
    "2c317494dd605859": {
      "id": "2c317494dd605859",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "6316bc4dd8e9e88b",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3835.098462042953,
        3155.3734364287475
      ]
    },
    "6316bc4dd8e9e88b": {
      "id": "6316bc4dd8e9e88b",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "5ec61935d36be9a1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3259.9568962851276,
        3546.4860820211097
      ]
    },
    "4a24e7e29ef71945": {
      "id": "4a24e7e29ef71945",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "6316bc4dd8e9e88b",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3820.709130338897,
        3502.563370162088
      ]
    },
    "5a1dfc2850035d90": {
      "id": "5a1dfc2850035d90",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 2,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "6316bc4dd8e9e88b",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3819.5557880575943,
        3867.892427571672
      ]
    },
    "339f1c9e3fe8acfe": {
      "id": "339f1c9e3fe8acfe",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "d89a1d5a1e974915",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4973.453419907302,
        2919.403951742829
      ]
    },
    "e24c9f10b11f3633": {
      "id": "e24c9f10b11f3633",
      "name": "bitbybit.lists.flipLists",
      "customName": "flip lists",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "339f1c9e3fe8acfe",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5249.098496490702,
        2878.584341374409
      ]
    },
    "08b868b661ca03f6": {
      "id": "08b868b661ca03f6",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "e24c9f10b11f3633",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5586.085980852036,
        2919.7006925096784
      ]
    },
    "228efc4d1f888856": {
      "id": "228efc4d1f888856",
      "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": "61751221efb25eeb",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5585.100277275591,
        2.2568695047961196
      ]
    },
    "42fe119d5fc096af": {
      "id": "42fe119d5fc096af",
      "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": "08b868b661ca03f6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5907.582250249989,
        2884.3937221940955
      ]
    },
    "10fc78a599746cdb": {
      "id": "10fc78a599746cdb",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "42fe119d5fc096af",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6247.478591446974,
        2922.771570394819
      ]
    },
    "16362693434e9793": {
      "id": "16362693434e9793",
      "name": "bitbybit.lists.getByPattern",
      "customName": "get by pattern",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "pattern": [
          true,
          true,
          false
        ]
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "c9eb2c33eed8d12f",
              "output": "list",
              "data": {}
            }
          ]
        },
        "pattern": {
          "connections": [
            {
              "node": "3ab65476d215d1cf",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8091.098677565874,
        537.4717100359244
      ]
    },
    "7ad02f1b16aaf89a": {
      "id": "7ad02f1b16aaf89a",
      "name": "bitbybit.code.jsonEditor",
      "customName": "json editor",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "code": {
          "code": "{\n    \"first\": [\n        true,\n        false,\n        false,\n        false,\n        false\n    ],\n    \"second\": [\n        false,\n        true,\n        false,\n        false,\n        false\n    ],\n    \"third\": [\n        false,\n        false,\n        true,\n        false,\n        false\n    ]\n}"
        }
      },
      "inputs": {},
      "position": [
        6783.891236925038,
        955.4641207649864
      ]
    },
    "6c7aeb45051a152c": {
      "id": "6c7aeb45051a152c",
      "name": "bitbybit.lists.getByPattern",
      "customName": "get by pattern",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "pattern": [
          true,
          true,
          false
        ]
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "c9eb2c33eed8d12f",
              "output": "list",
              "data": {}
            }
          ]
        },
        "pattern": {
          "connections": [
            {
              "node": "a5d562013644dc67",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8100.2535592678,
        1167.3604861633746
      ]
    },
    "b100ed787318cc7f": {
      "id": "b100ed787318cc7f",
      "name": "bitbybit.lists.getByPattern",
      "customName": "get by pattern",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "pattern": [
          true,
          true,
          false
        ]
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "10fc78a599746cdb",
              "output": "list",
              "data": {}
            }
          ]
        },
        "pattern": {
          "connections": [
            {
              "node": "a5d562013644dc67",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8095.402467547123,
        1484.539307245581
      ]
    },
    "b0489126eeb823df": {
      "id": "b0489126eeb823df",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "16362693434e9793",
              "output": "result",
              "data": {}
            },
            {
              "node": "11d88918b6cb5a27",
              "output": "result",
              "data": {}
            },
            {
              "node": "6c7aeb45051a152c",
              "output": "result",
              "data": {}
            },
            {
              "node": "b100ed787318cc7f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9269.930030547825,
        853.2399819001105
      ]
    },
    "51c8e17ac6a9058e": {
      "id": "51c8e17ac6a9058e",
      "name": "bitbybit.lists.mergeElementsOfLists",
      "customName": "merge elements of lists",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "level": 0
      },
      "inputs": {
        "lists": {
          "connections": [
            {
              "node": "037f68854a1f3973",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10255.506711989387,
        551.1033625674486
      ]
    },
    "91ae2b56f39e7f51": {
      "id": "91ae2b56f39e7f51",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "51c8e17ac6a9058e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10700.521472933482,
        588.3110953716575
      ]
    },
    "708d37e7bbbece89": {
      "id": "708d37e7bbbece89",
      "name": "bitbybit.occt.operations.loftAdvanced",
      "customName": "loft advanced",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "makeSolid": true,
        "closed": true,
        "periodic": false,
        "straight": true,
        "nrPeriodicSections": 10,
        "useSmoothing": false,
        "maxUDegree": 3,
        "tolerance": 1e-7,
        "parType": "approxCentripetal"
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "91ae2b56f39e7f51",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11101.809309828339,
        550.3177537588565
      ]
    },
    "a6e557667fc54862": {
      "id": "a6e557667fc54862",
      "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": "9095ff1914471e13",
              "output": "result",
              "data": {}
            }
          ]
        },
        "entity": {
          "connections": [
            {
              "node": "3c228e8570917f16",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12529.794428742143,
        658.039293182469
      ]
    },
    "3c228e8570917f16": {
      "id": "3c228e8570917f16",
      "name": "bitbybit.occt.shapes.compound.makeCompound",
      "customName": "make compound",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "6f7a53403ffb70f1",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12318.37462412691,
        335.48944825714716
      ]
    },
    "6f7a53403ffb70f1": {
      "id": "6f7a53403ffb70f1",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "7b4ef905440e5814",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11978.15511256599,
        555.8956715717818
      ]
    },
    "6617ea95abbc8c2c": {
      "id": "6617ea95abbc8c2c",
      "name": "bitbybit.babylon.scene.backgroundColour",
      "customName": "background colour",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "colour": "#ffffff"
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "fd0773bf0b3fbd53",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        491.63943668014053,
        4693.663053669703
      ]
    },
    "dad4a71ea4c0d94a": {
      "id": "dad4a71ea4c0d94a",
      "name": "bitbybit.babylon.scene.fog",
      "customName": "fog",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "mode": "linear",
        "color": "#ffffff",
        "density": 1,
        "start": 50,
        "end": 500
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "fd0773bf0b3fbd53",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        539.1841663140073,
        4986.072199122432
      ]
    },
    "7fe9561b4247cee9": {
      "id": "7fe9561b4247cee9",
      "name": "bitbybit.occt.shapes.face.createCircleFace",
      "customName": "circle face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 200,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "center": {
          "connections": [
            {
              "node": "48f4ecc6a417e7ce",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        526.317254282646,
        5425.839991662625
      ]
    },
    "0f9b432b4bbe0b0e": {
      "id": "0f9b432b4bbe0b0e",
      "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": "e5a361a25c43cd69",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1120.9893580841556,
        5541.978780784776
      ]
    },
    "e5a361a25c43cd69": {
      "id": "e5a361a25c43cd69",
      "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": "#ffffff",
        "drawEdges": false,
        "edgeColour": "#000000",
        "edgeWidth": 20,
        "drawTwoSided": true,
        "backFaceColour": "#0000ff",
        "backFaceOpacity": 1
      },
      "inputs": {},
      "position": [
        688.8091108176063,
        5865.234955562281
      ]
    },
    "11d88918b6cb5a27": {
      "id": "11d88918b6cb5a27",
      "name": "bitbybit.lists.getByPattern",
      "customName": "get by pattern",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "pattern": [
          true,
          true,
          false
        ]
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "c9eb2c33eed8d12f",
              "output": "list",
              "data": {}
            }
          ]
        },
        "pattern": {
          "connections": [
            {
              "node": "c109e55800c961f9",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8092.796051484439,
        852.7474360138933
      ]
    },
    "037f68854a1f3973": {
      "id": "037f68854a1f3973",
      "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": "b0489126eeb823df",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9837.78367583498,
        551.1329615114264
      ]
    },
    "3f131b7b59759890": {
      "id": "3f131b7b59759890",
      "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": 1,
        "diffuse": "#ffffff",
        "specular": "#ffffff",
        "shadowGeneratorMapSize": 5000,
        "enableShadows": true,
        "shadowDarkness": 0,
        "shadowUsePercentageCloserFiltering": true,
        "transparencyShadow": false,
        "shadowContactHardeningLightSizeUVRatio": 0.3,
        "shadowBias": 0.001,
        "shadowNormalBias": 0.004,
        "shadowMaxZ": 1000,
        "shadowMinZ": 0,
        "shadowRefreshRate": 1
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "fd0773bf0b3fbd53",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1376.022240996424,
        6093.64454130112
      ]
    },
    "9095ff1914471e13": {
      "id": "9095ff1914471e13",
      "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": 10
      },
      "inputs": {
        "faceMaterial": {
          "connections": [
            {
              "node": "c2b0c1d6eb785a53",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11975.907160072304,
        933.6718301422766
      ]
    },
    "c2b0c1d6eb785a53": {
      "id": "c2b0c1d6eb785a53",
      "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.7,
        "roughness": 0.5,
        "alpha": 1,
        "backFaceCulling": false,
        "zOffset": 0
      },
      "inputs": {},
      "position": [
        11531.083945658671,
        1161.3888240862607
      ]
    },
    "c78a7f68d4ffbf38": {
      "id": "c78a7f68d4ffbf38",
      "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": 1
      },
      "inputs": {},
      "position": [
        1936.317965833196,
        2450.4503431447874
      ]
    },
    "2f3ec7fd9711b8bf": {
      "id": "2f3ec7fd9711b8bf",
      "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,
        "diffuse": "#ffffff",
        "specular": "#ffffff",
        "shadowGeneratorMapSize": 5000,
        "enableShadows": true,
        "shadowDarkness": 0,
        "shadowUsePercentageCloserFiltering": true,
        "transparencyShadow": false,
        "shadowContactHardeningLightSizeUVRatio": 0.3,
        "shadowBias": 0.001,
        "shadowNormalBias": 0.004,
        "shadowMaxZ": 1000,
        "shadowMinZ": 0,
        "shadowRefreshRate": 1
      },
      "inputs": {
        "direction": {
          "connections": [
            {
              "node": "7a52af9ba4985812",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "fd0773bf0b3fbd53",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2551.130837183609,
        6168.605127113914
      ]
    },
    "7a52af9ba4985812": {
      "id": "7a52af9ba4985812",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 100,
        "y": -100,
        "z": -100
      },
      "inputs": {},
      "position": [
        2062.782744536089,
        6191.699175914045
      ]
    },
    "29de65992d1791f8": {
      "id": "29de65992d1791f8",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "b332864f3338a6be",
              "output": "result",
              "data": {}
            },
            {
              "node": "c476a952ed8808a7",
              "output": "result",
              "data": {}
            },
            {
              "node": "bbf9e532b2f33551",
              "output": "result",
              "data": {}
            },
            {
              "node": "4ae925a9d7d1fba6",
              "output": "result",
              "data": {}
            },
            {
              "node": "94243d236e5f531d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2892.2769969926744,
        1568.0107029381138
      ]
    },
    "47e2b0222db68038": {
      "id": "47e2b0222db68038",
      "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": 10,
        "removeStartPoint": false,
        "removeEndPoint": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "165cbc64b5c314ec",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrOfDivisions": {
          "connections": [
            {
              "node": "cd01d7cafd10c2e6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3513.1104886397147,
        1918.6495139519175
      ]
    },
    "165cbc64b5c314ec": {
      "id": "165cbc64b5c314ec",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "29de65992d1791f8",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3197.221473665987,
        1577.4015887889568
      ]
    },
    "4440640df46e6b90": {
      "id": "4440640df46e6b90",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "47e2b0222db68038",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3927.6624426023445,
        1956.2123256246996
      ]
    },
    "561e668ea7648188": {
      "id": "561e668ea7648188",
      "name": "bitbybit.lists.flipLists",
      "customName": "flip lists",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "4440640df46e6b90",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4207.1125954586405,
        1917.7856604293488
      ]
    },
    "7129b14080b5df66": {
      "id": "7129b14080b5df66",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "561e668ea7648188",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4552.671133748111,
        1953.6375312254615
      ]
    },
    "c62f1348d0c6a842": {
      "id": "c62f1348d0c6a842",
      "name": "bitbybit.occt.shapes.wire.createPolylineWire",
      "customName": "polyline wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "7129b14080b5df66",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4884.668070661551,
        1913.4788472587406
      ]
    },
    "8e0ec2e101e53103": {
      "id": "8e0ec2e101e53103",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "c62f1348d0c6a842",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5216.4652100146395,
        1950.3552300865372
      ]
    },
    "fa0c358feedcaece": {
      "id": "fa0c358feedcaece",
      "name": "bitbybit.occt.operations.loftAdvanced",
      "customName": "loft advanced",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "makeSolid": false,
        "closed": false,
        "periodic": false,
        "straight": true,
        "nrPeriodicSections": 10,
        "useSmoothing": false,
        "maxUDegree": 3,
        "tolerance": 1e-7,
        "parType": "approxCentripetal"
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "8e0ec2e101e53103",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5529.315951229128,
        1911.413882616731
      ]
    },
    "c23cc2cbfb52e058": {
      "id": "c23cc2cbfb52e058",
      "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": "fa0c358feedcaece",
              "output": "result",
              "data": {}
            }
          ]
        },
        "direction": {
          "connections": [
            {
              "node": "c3b60b6239d1e8cf",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6337.27626326134,
        2029.900736295811
      ]
    },
    "c3b60b6239d1e8cf": {
      "id": "c3b60b6239d1e8cf",
      "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.2,
        "z": 0
      },
      "inputs": {},
      "position": [
        5868.656087917998,
        2284.642623936689
      ]
    },
    "48f4ecc6a417e7ce": {
      "id": "48f4ecc6a417e7ce",
      "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": [
        189.70192012201102,
        5477.384434379658
      ]
    },
    "3ab65476d215d1cf": {
      "id": "3ab65476d215d1cf",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "first"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "7ad02f1b16aaf89a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7522.229268256582,
        414.65365540489375
      ]
    },
    "c109e55800c961f9": {
      "id": "c109e55800c961f9",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "second"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "7ad02f1b16aaf89a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7530.926327857407,
        736.0609451038835
      ]
    },
    "a5d562013644dc67": {
      "id": "a5d562013644dc67",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on prop",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "third"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "7ad02f1b16aaf89a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7543.347408738516,
        1083.1760797850643
      ]
    },
    "7b4ef905440e5814": {
      "id": "7b4ef905440e5814",
      "name": "bitbybit.occt.shapes.shape.unifySameDomain",
      "customName": "unify same domain",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "unifyEdges": true,
        "unifyFaces": true,
        "concatBSplines": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "708d37e7bbbece89",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11445.568140347985,
        547.1215299646772
      ]
    },
    "81a17a7a588a8bca": {
      "id": "81a17a7a588a8bca",
      "name": "bitbybit.flow.actions.trigger",
      "customName": "trigger",
      "data": {},
      "inputs": {},
      "position": [
        12608.678221497956,
        1494.1676110889016
      ]
    },
    "03f695fb4e72d542": {
      "id": "03f695fb4e72d542",
      "name": "bitbybit.babylon.mesh.setRotation",
      "customName": "set rotation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "0b779839be67acbb",
              "output": "exec",
              "data": {}
            }
          ]
        },
        "babylonMesh": {
          "connections": [
            {
              "node": "a6e557667fc54862",
              "output": "result",
              "data": {}
            }
          ]
        },
        "rotation": {
          "connections": [
            {
              "node": "0b779839be67acbb",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14414.874791484073,
        960.1225561210874
      ]
    },
    "66fbaf2bf865bc1e": {
      "id": "66fbaf2bf865bc1e",
      "name": "bitbybit.flow.counters.counterMinMax",
      "customName": "counter min max",
      "data": {
        "count": 0,
        "min": 0,
        "max": 360,
        "step": 0.03,
        "pulse": false,
        "end": false
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "341b7e0a8289026f",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13335.825843610772,
        1498.6091847118596
      ]
    },
    "341b7e0a8289026f": {
      "id": "341b7e0a8289026f",
      "name": "bitbybit.flow.time.interval",
      "customName": "interval",
      "data": {
        "interval": 10,
        "expire": 0
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "fd0773bf0b3fbd53",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12992.952375484885,
        1537.3744210553325
      ]
    },
    "0b779839be67acbb": {
      "id": "0b779839be67acbb",
      "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": "66fbaf2bf865bc1e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "66fbaf2bf865bc1e",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13864.188977551563,
        1473.805130065463
      ]
    },
    "fd0773bf0b3fbd53": {
      "id": "fd0773bf0b3fbd53",
      "name": "bitbybit.flow.actions.start",
      "customName": "start",
      "data": {},
      "inputs": {},
      "position": [
        -1200.4942758374218,
        6102.408085718267
      ]
    },
    "6d9fa5d21a9cab1b": {
      "id": "6d9fa5d21a9cab1b",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": -20,
        "z": 0
      },
      "inputs": {},
      "position": [
        228.10485889269748,
        6771.672456260857
      ]
    },
    "d611e742ceee8a9b": {
      "id": "d611e742ceee8a9b",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "c476a952ed8808a7",
              "output": "result",
              "data": {}
            },
            {
              "node": "b332864f3338a6be",
              "output": "result",
              "data": {}
            },
            {
              "node": "8dbd393001bbf3fa",
              "output": "result",
              "data": {}
            },
            {
              "node": "dddb4068c63edb9e",
              "output": "result",
              "data": {}
            },
            {
              "node": "bbf9e532b2f33551",
              "output": "result",
              "data": {}
            },
            {
              "node": "c050b3f2a73226d1",
              "output": "result",
              "data": {}
            },
            {
              "node": "94243d236e5f531d",
              "output": "result",
              "data": {}
            },
            {
              "node": "4ae925a9d7d1fba6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6123.976795718292,
        -550.8795867663273
      ]
    },
    "baf0de397c2c9267": {
      "id": "baf0de397c2c9267",
      "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": "a9ffd2c372eb0efd",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13804.482849665703,
        23.901334921163425
      ]
    },
    "a9ffd2c372eb0efd": {
      "id": "a9ffd2c372eb0efd",
      "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.001,
        "drawFaces": false,
        "faceColour": "#ff0000",
        "drawEdges": true,
        "edgeColour": "#000000",
        "edgeWidth": 50,
        "drawTwoSided": true,
        "backFaceColour": "#0000ff",
        "backFaceOpacity": 1
      },
      "inputs": {},
      "position": [
        13303.686983475169,
        427.9114898144659
      ]
    },
    "2420a3ebf8948220": {
      "id": "2420a3ebf8948220",
      "name": "bitbybit.occt.operations.pipePolylineWireNGon",
      "customName": "pipe polyline wire ngon",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.3,
        "nrCorners": 6,
        "makeSolid": true,
        "trihedronEnum": "isConstantNormal",
        "forceApproxC1": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "6f4f9a6e508427a3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7278.925700661248,
        -664.1715516106262
      ]
    },
    "9c7e0d5028cf3baa": {
      "id": "9c7e0d5028cf3baa",
      "name": "bitbybit.occt.shapes.compound.makeCompound",
      "customName": "make compound",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "58e67320294c6d9e",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8236.010838957201,
        -623.2296053718055
      ]
    },
    "58e67320294c6d9e": {
      "id": "58e67320294c6d9e",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "2420a3ebf8948220",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7725.461877517584,
        -575.8721314092783
      ]
    },
    "684a0ee953f4d125": {
      "id": "684a0ee953f4d125",
      "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": "228efc4d1f888856",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6016.476977142736,
        -889.1093441667584
      ]
    },
    "ddb5417a6eda9a0f": {
      "id": "ddb5417a6eda9a0f",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "684a0ee953f4d125",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6359.034094552974,
        -848.6871918414081
      ]
    },
    "7c42e622830ffa6e": {
      "id": "7c42e622830ffa6e",
      "name": "bitbybit.occt.shapes.wire.createWireFromEdge",
      "customName": "wire from edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "ddb5417a6eda9a0f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6742.755811984335,
        -875.4648054022423
      ]
    },
    "6f4f9a6e508427a3": {
      "id": "6f4f9a6e508427a3",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "d611e742ceee8a9b",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6441.017622754192,
        -584.1375722602417
      ]
    },
    "90990962edc1b0ac": {
      "id": "90990962edc1b0ac",
      "name": "bitbybit.previewData",
      "customName": "preview data",
      "data": {
        "previewJSONControl": ""
      },
      "inputs": {},
      "position": [
        6841.109665433457,
        -357.35398245394884
      ]
    }
  }
}