Script: Gradient background demo

Gradient background demo picture
Type
Rete logo indicatorrete
Date Created
Oct 3, 2025, 8:27:29 AM
Last Edit Date
Oct 6, 2025, 3:48:21 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
      ]
    },
    "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
      ]
    },
    "3d65bca51a52bfd0": {
      "id": "3d65bca51a52bfd0",
      "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
      ]
    },
    "7477d00e1528c609": {
      "id": "7477d00e1528c609",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "05e9ffc7bfb58f40",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4416.211699122169,
        25.69718896410778
      ]
    },
    "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": "7477d00e1528c609",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4788.098651752101,
        -13.247199021093257
      ]
    },
    "e51225e7ce15bd6c": {
      "id": "e51225e7ce15bd6c",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "b1afbc87fdcf61fc",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5156.084357661211,
        23.845836228176694
      ]
    },
    "816106fbbe7b09b5": {
      "id": "816106fbbe7b09b5",
      "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": "816106fbbe7b09b5",
              "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": "816106fbbe7b09b5",
              "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": "3d65bca51a52bfd0",
              "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": "816106fbbe7b09b5",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1790.5494866113038,
        -101.29757172173004
      ]
    },
    "d7c5aa33d40129e3": {
      "id": "d7c5aa33d40129e3",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "228efc4d1f888856",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5972.659630383575,
        22.042838309395524
      ]
    },
    "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": "3d65bca51a52bfd0",
              "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": "6b732f593b9d165c",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3835.098462042953,
        3155.3734364287475
      ]
    },
    "6b732f593b9d165c": {
      "id": "6b732f593b9d165c",
      "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": "6b732f593b9d165c",
              "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": "6b732f593b9d165c",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3819.5557880575943,
        3867.892427571672
      ]
    },
    "de2650cca34d9eec": {
      "id": "de2650cca34d9eec",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "d89a1d5a1e974915",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4853.395021934028,
        2911.133336816639
      ]
    },
    "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": "de2650cca34d9eec",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5249.098496490702,
        2878.584341374409
      ]
    },
    "4bcd797b97cdbe2b": {
      "id": "4bcd797b97cdbe2b",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "e24c9f10b11f3633",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5674.361907374531,
        2916.1593451971094
      ]
    },
    "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": "e51225e7ce15bd6c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5525.643589462764,
        -17.091477193247933
      ]
    },
    "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": "4bcd797b97cdbe2b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6072.400588623269,
        2886.7247356150274
      ]
    },
    "a41ee56a1d8f9feb": {
      "id": "a41ee56a1d8f9feb",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "42fe119d5fc096af",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6523.580407079156,
        2911.6320158736357
      ]
    },
    "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": "d7c5aa33d40129e3",
              "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": "d7c5aa33d40129e3",
              "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": "a41ee56a1d8f9feb",
              "output": "list",
              "data": {}
            }
          ]
        },
        "pattern": {
          "connections": [
            {
              "node": "a5d562013644dc67",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8095.402467547123,
        1484.539307245581
      ]
    },
    "9e39c5ef3e3a7fa8": {
      "id": "9e39c5ef3e3a7fa8",
      "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
      ]
    },
    "83b8a4c6b48875e9": {
      "id": "83b8a4c6b48875e9",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "51c8e17ac6a9058e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10697.398662294745,
        591.3968179980577
      ]
    },
    "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": "83b8a4c6b48875e9",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11085.431243580522,
        549.5018174874526
      ]
    },
    "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": [
        12736.33615562894,
        642.7545399342013
      ]
    },
    "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": "da56dd98360703e5",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12186.337190733773,
        543.9466797012883
      ]
    },
    "da56dd98360703e5": {
      "id": "da56dd98360703e5",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "7b4ef905440e5814",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11812.756279390074,
        585.0854144626828
      ]
    },
    "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": "d7c5aa33d40129e3",
              "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": "9e39c5ef3e3a7fa8",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9837.78367583498,
        551.1329615114264
      ]
    },
    "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": 3
      },
      "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": "#060709",
        "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
      ]
    },
    "3d300fbfaf18c39c": {
      "id": "3d300fbfaf18c39c",
      "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": [
        2766.2050197141625,
        1565.5313187695795
      ]
    },
    "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": "8ccdc5ff663e5d7e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrOfDivisions": {
          "connections": [
            {
              "node": "3d65bca51a52bfd0",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3513.1104886397147,
        1918.6495139519175
      ]
    },
    "8ccdc5ff663e5d7e": {
      "id": "8ccdc5ff663e5d7e",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "3d300fbfaf18c39c",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3197.221473665987,
        1577.4015887889568
      ]
    },
    "791c4f0ec4206111": {
      "id": "791c4f0ec4206111",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "47e2b0222db68038",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3848.5200542435964,
        1952.6149443356655
      ]
    },
    "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": "791c4f0ec4206111",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4207.1125954586405,
        1917.7856604293488
      ]
    },
    "8e35c8a4980ecdea": {
      "id": "8e35c8a4980ecdea",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "561e668ea7648188",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4602.787922298143,
        1939.4273147940125
      ]
    },
    "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": "8e35c8a4980ecdea",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4968.517313043334,
        1896.9936513828247
      ]
    },
    "bf0f5e692d0378b3": {
      "id": "bf0f5e692d0378b3",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "c62f1348d0c6a842",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5340.770983403939,
        1936.212254426846
      ]
    },
    "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": "bf0f5e692d0378b3",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5717.679766512877,
        1896.0941934512807
      ]
    },
    "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": [
        6584.161963564827,
        2014.6034607209467
      ]
    },
    "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": [
        6081.49554412153,
        2276.405629396377
      ]
    },
    "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
      ]
    },
    "7b0d37bd0b37c9ba": {
      "id": "7b0d37bd0b37c9ba",
      "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": [
        6055.319419136554,
        -554.651084096822
      ]
    },
    "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": "6b4ac97678e5cbdf",
              "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": "fbb22dae916cf111",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8236.010838957201,
        -623.2296053718055
      ]
    },
    "fbb22dae916cf111": {
      "id": "fbb22dae916cf111",
      "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": [
        6058.018972722032,
        -887.3379045559357
      ]
    },
    "d93b8ce935fd80c6": {
      "id": "d93b8ce935fd80c6",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "684a0ee953f4d125",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6421.268936174381,
        -847.8101555635008
      ]
    },
    "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": "d93b8ce935fd80c6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6781.180421189683,
        -889.2542470786473
      ]
    },
    "6b4ac97678e5cbdf": {
      "id": "6b4ac97678e5cbdf",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "7b0d37bd0b37c9ba",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6418.2059960010965,
        -554.344389393903
      ]
    },
    "3872558bb813b6f6": {
      "id": "3872558bb813b6f6",
      "name": "bitbybit.babylon.scene.twoColorLinearGradient",
      "customName": "two color linear gradient",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "colorFrom": "#171717",
        "colorTo": "#ffffff",
        "direction": "to top",
        "stopFrom": 50,
        "stopTo": 100
      },
      "inputs": {},
      "position": [
        2902.668677404518,
        4016.518158118577
      ]
    },
    "6a9cff85e0833c8a": {
      "id": "6a9cff85e0833c8a",
      "name": "bitbybit.draw.drawGridMesh",
      "customName": "draw grid mesh",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "width": 400,
        "height": 400,
        "subdivisions": 10,
        "majorUnitFrequency": 10,
        "minorUnitVisibility": 0.45,
        "gridRatio": 0.5,
        "opacity": 0.5,
        "backFaceCulling": false,
        "mainColor": "#ffffff",
        "secondaryColor": "#ffffff"
      },
      "inputs": {},
      "position": [
        2906.6263940590907,
        4454.120754055411
      ]
    },
    "328c6a9f41913533": {
      "id": "328c6a9f41913533",
      "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": 1000,
        "wheelPrecision": 3
      },
      "inputs": {
        "position": {
          "connections": [
            {
              "node": "70c7f4c1723e38f2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2909.356409064396,
        5117.94856975859
      ]
    },
    "70c7f4c1723e38f2": {
      "id": "70c7f4c1723e38f2",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 3,
        "z": -100
      },
      "inputs": {},
      "position": [
        2333.904953480582,
        5120.648401905113
      ]
    }
  }
}