Skip to main content

Tree Decoration

OCCT category icon with a stylized logo representation

Overview

This tutorial demonstrates how to create a 3D printable Christmas tree ornament with a parametric star pattern design. The ornament features decorative openings that can be customized by adjusting the number of rays and vertical divisions. You'll learn how to use OCCT lofting operations, face subdivisions, and interactive GUI controls to create a design you can export for 3D printing.

How It Works

Geometry Creation

The ornament starts with a star wire created using createStarWire with customizable rays, outer radius (20mm), and inner radius (12mm). This star profile is then transformed into three variants:

  • Top section: Scaled down to 25% and translated up 30mm
  • Middle section: Scaled to 15% and positioned at 20mm height
  • Bottom section: Scaled to 30% and positioned at -5mm

Surface Construction

The geometry is built using loft operations that smoothly transition between wire profiles:

  1. Upper loft: Blends from top → middle → base star using standard loft
  2. Lower loft: Creates the bottom section using loftAdvanced with a custom start vertex at (0, -10, 0) for controlled shape flow

Pattern Generation

The middle section features decorative rectangular openings created by:

  1. Getting faces from the upper loft surface
  2. Using subdivideToRectangleHoles to create a pattern with:
    • Vertical divisions (controlled by slider, default 5)
    • Scale pattern [0.75, 0.5] for varied opening sizes
    • Inclusion pattern [true, false, true, true] for selective hole placement
    • 0.02mm offset from borders for clean geometry

The first face is reversed and sewn to form the bottom cap.

Final Assembly

The separate surfaces are combined into a closed solid through:

  1. Face collection: Top cap, upper loft, lower loft, patterned surface, and bottom cap
  2. Sewing: sewFaces joins all surfaces with 1e-7 tolerance
  3. Solidification: fromClosedShell converts the sewn shell into a manifold solid
  4. Scaling: Final 0.5x reduction for printable size

Scene Setup

The visualization includes:

  • Arc rotate camera positioned at (30, 25, 0) looking at (0, 4, 0)
  • City skybox environment with fog for depth
  • Two directional lights (white and blue) for attractive rendering
  • PBR metallic material with blue tones (#94c2ff base, #3b77b0 emissive) and 0.8 metallic/0.29 roughness values

Interactive Controls

The GUI provides real-time adjustments:

  • Number of Rays slider (3-12): Controls star complexity
  • Vertical Divisions slider (1-25): Adjusts pattern density
  • Export buttons: Download as STEP or STL for 3D printing
  • Sign Up and Source Code buttons for community features

All controls use observable listeners to trigger geometry regeneration when values change.

Bitbybit Platform

Christmas tree ornament

rete logoRete
Script Source (rete)
{
"id": "rete-v2-json",
"nodes": {
"4534540d6856552d": {
"id": "4534540d6856552d",
"name": "bitbybit.occt.shapes.wire.createStarWire",
"customName": "star wire",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"center": [
0,
0,
0
],
"direction": [
0,
1,
0
],
"numRays": 12,
"outerRadius": 20,
"innerRadius": 12,
"offsetOuterEdges": 0,
"half": false
},
"inputs": {
"numRays": {
"connections": [
{
"node": "ffecd6164df0c288",
"output": "result",
"data": {}
}
]
}
},
"position": [
29.498322548778063,
508.0780203076317
]
},
"b983a207fda22099": {
"id": "b983a207fda22099",
"name": "bitbybit.occt.transforms.translate",
"customName": "translate",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"translation": [
0,
0,
0
]
},
"inputs": {
"translation": {
"connections": [
{
"node": "76bf07ac6376dd9d",
"output": "result",
"data": {}
}
]
},
"shape": {
"connections": [
{
"node": "892079e9447f3eae",
"output": "result",
"data": {}
}
]
}
},
"position": [
1421.0202335352003,
1035.739426279123
]
},
"76bf07ac6376dd9d": {
"id": "76bf07ac6376dd9d",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 0,
"y": 20,
"z": 0
},
"inputs": {},
"position": [
4.113044262054515,
1088.1382664289113
]
},
"892079e9447f3eae": {
"id": "892079e9447f3eae",
"name": "bitbybit.occt.transforms.scale",
"customName": "scale",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"factor": 0.15
},
"inputs": {
"shape": {
"connections": [
{
"node": "4534540d6856552d",
"output": "result",
"data": {}
}
]
}
},
"position": [
1039.174244697755,
869.9580356533191
]
},
"11549f1b45ea9b19": {
"id": "11549f1b45ea9b19",
"name": "bitbybit.occt.transforms.translate",
"customName": "translate",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"translation": [
0,
0,
0
]
},
"inputs": {
"translation": {
"connections": [
{
"node": "ed8b1944898e2ce1",
"output": "result",
"data": {}
}
]
},
"shape": {
"connections": [
{
"node": "cb6929579b17268b",
"output": "result",
"data": {}
}
]
}
},
"position": [
843.9071289289463,
1724.0141995434674
]
},
"ed8b1944898e2ce1": {
"id": "ed8b1944898e2ce1",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 0,
"y": -5,
"z": 0
},
"inputs": {},
"position": [
407.2814628248683,
1768.0222128529601
]
},
"c7bdc15abbc2ba7d": {
"id": "c7bdc15abbc2ba7d",
"name": "bitbybit.occt.operations.loft",
"customName": "loft",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"makeSolid": false
},
"inputs": {
"shapes": {
"connections": [
{
"node": "875673f0ab1bb510",
"output": "list",
"data": {}
}
]
}
},
"position": [
2071.471395598051,
848.4908460058068
]
},
"875673f0ab1bb510": {
"id": "875673f0ab1bb510",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "47f69e3aabe06071",
"output": "result",
"data": {}
},
{
"node": "b983a207fda22099",
"output": "result",
"data": {}
},
{
"node": "4534540d6856552d",
"output": "result",
"data": {}
}
]
}
},
"position": [
1782.785359527408,
889.106870548469
]
},
"47f69e3aabe06071": {
"id": "47f69e3aabe06071",
"name": "bitbybit.occt.transforms.translate",
"customName": "translate",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"translation": [
0,
0,
0
]
},
"inputs": {
"translation": {
"connections": [
{
"node": "a15b2d55874ba400",
"output": "result",
"data": {}
}
]
},
"shape": {
"connections": [
{
"node": "f360184ff5aba2df",
"output": "result",
"data": {}
}
]
}
},
"position": [
1245.2288399130869,
247.04605010960086
]
},
"f360184ff5aba2df": {
"id": "f360184ff5aba2df",
"name": "bitbybit.occt.transforms.scale",
"customName": "scale",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"factor": 0.25
},
"inputs": {
"shape": {
"connections": [
{
"node": "4534540d6856552d",
"output": "result",
"data": {}
}
]
}
},
"position": [
793.2018829015179,
318.06376415603927
]
},
"a15b2d55874ba400": {
"id": "a15b2d55874ba400",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 0,
"y": 30,
"z": 0
},
"inputs": {},
"position": [
794.3690505014016,
-54.119980109301466
]
},
"16e58d428c0abb1e": {
"id": "16e58d428c0abb1e",
"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": 3,
"diffuse": "#ffffff",
"specular": "#ffffff",
"shadowGeneratorMapSize": 1024,
"enableShadows": true,
"shadowDarkness": 0,
"shadowUsePercentageCloserFiltering": true,
"shadowContactHardeningLightSizeUVRatio": 0.2,
"shadowBias": 0.0001,
"shadowNormalBias": 0.002,
"shadowMaxZ": 1000,
"shadowMinZ": 0
},
"inputs": {
"direction": {
"connections": [
{
"node": "fa96ae89f95b4b18",
"output": "result",
"data": {}
}
]
}
},
"position": [
2410.2001319497786,
-1854.3247886875574
]
},
"cb6929579b17268b": {
"id": "cb6929579b17268b",
"name": "bitbybit.occt.transforms.scale",
"customName": "scale",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"factor": 0.3
},
"inputs": {
"shape": {
"connections": [
{
"node": "4534540d6856552d",
"output": "result",
"data": {}
}
]
}
},
"position": [
457.0402990348086,
1405.480031322518
]
},
"e9b4d2a7926e953f": {
"id": "e9b4d2a7926e953f",
"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": false,
"nrPeriodicSections": 10,
"useSmoothing": false,
"maxUDegree": 3,
"tolerance": 1e-7,
"parType": "approxCentripetal"
},
"inputs": {
"shapes": {
"connections": [
{
"node": "570ca0cbda09cb78",
"output": "list",
"data": {}
}
]
},
"startVertex": {
"connections": [
{
"node": "294942bd7a13ef3b",
"output": "result",
"data": {}
}
]
}
},
"position": [
1793.6009797350105,
1402.1120964226682
]
},
"570ca0cbda09cb78": {
"id": "570ca0cbda09cb78",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "11549f1b45ea9b19",
"output": "result",
"data": {}
},
{
"node": "4534540d6856552d",
"output": "result",
"data": {}
}
]
}
},
"position": [
1321.0103546184212,
1396.929370018355
]
},
"294942bd7a13ef3b": {
"id": "294942bd7a13ef3b",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 0,
"y": -10,
"z": 0
},
"inputs": {},
"position": [
1348.5723772315805,
1760.5007306049315
]
},
"14ff0cda52cd7ce0": {
"id": "14ff0cda52cd7ce0",
"name": "bitbybit.occt.shapes.face.createFaceFromWire",
"customName": "face from wire",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"planar": true
},
"inputs": {
"shape": {
"connections": [
{
"node": "47f69e3aabe06071",
"output": "result",
"data": {}
}
]
}
},
"position": [
1836.8581524949377,
110.6324723551911
]
},
"a153773318fd229a": {
"id": "a153773318fd229a",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "fda5ede008aae952",
"output": "result",
"data": {}
},
{
"node": "e5331e883d23938e",
"output": "result",
"data": {}
},
{
"node": "3bc9cf346fc8ef2a",
"output": "result",
"data": {}
},
{
"node": "5a762f02bed474cd",
"output": "result",
"data": {}
},
{
"node": "e9b4d2a7926e953f",
"output": "result",
"data": {}
},
{
"node": "ed8dca56f5a8e402",
"output": "result",
"data": {}
},
{
"node": "14ff0cda52cd7ce0",
"output": "result",
"data": {}
}
]
}
},
"position": [
7499.583074067741,
153.2312211535806
]
},
"ec6a4cb0d7105988": {
"id": "ec6a4cb0d7105988",
"name": "bitbybit.occt.shapes.shell.sewFaces",
"customName": "sew faces",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"tolerance": 1e-7
},
"inputs": {
"shapes": {
"connections": [
{
"node": "a153773318fd229a",
"output": "list",
"data": {}
}
]
}
},
"position": [
7778.252945194093,
116.96317643777269
]
},
"d533f9b2b358e932": {
"id": "d533f9b2b358e932",
"name": "bitbybit.occt.shapes.solid.fromClosedShell",
"customName": "from closed shell",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"shape": {
"connections": [
{
"node": "ec6a4cb0d7105988",
"output": "result",
"data": {}
}
]
}
},
"position": [
8740.894126518644,
641.4684856178552
]
},
"65118a904f1bcadd": {
"id": "65118a904f1bcadd",
"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": "9d5759bf6abda9ea",
"output": "result",
"data": {}
}
]
},
"entity": {
"connections": [
{
"node": "ff3a5dfe26c1203f",
"output": "result",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "7299a501c8e860c5",
"output": "exec",
"data": {}
}
]
}
},
"position": [
10417.684603457687,
1646.8416215802954
]
},
"9d5759bf6abda9ea": {
"id": "9d5759bf6abda9ea",
"name": "bitbybit.draw.optionsOcctShape",
"customName": "options occt shape",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"faceOpacity": 1,
"edgeOpacity": 1,
"edgeColour": "#005e99",
"faceColour": "#ffffff",
"vertexColour": "#ff00ff",
"edgeWidth": 1,
"vertexSize": 0.03,
"drawEdges": true,
"drawFaces": true,
"drawVertices": false,
"precision": 0.005,
"drawEdgeIndexes": false,
"edgeIndexHeight": 0.06,
"edgeIndexColour": "#ff00ff",
"drawFaceIndexes": false,
"faceIndexHeight": 0.06,
"faceIndexColour": "#0000ff"
},
"inputs": {
"faceMaterial": {
"connections": [
{
"node": "9cd68061ec4fd9e0",
"output": "result",
"data": {}
}
]
}
},
"position": [
9991.876413478969,
2364.565814067178
]
},
"825b687b6334e027": {
"id": "825b687b6334e027",
"name": "bitbybit.occt.shapes.face.getFaces",
"customName": "get faces",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"shape": {
"connections": [
{
"node": "c7bdc15abbc2ba7d",
"output": "result",
"data": {}
}
]
}
},
"position": [
2383.6709076575817,
1519.6762847896136
]
},
"74d09b8bdb4c5048": {
"id": "74d09b8bdb4c5048",
"name": "bitbybit.occt.shapes.face.subdivideToRectangleHoles",
"customName": "subdivide to rectangle holes",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"nrRectanglesU": 1,
"nrRectanglesV": 1,
"holesToFaces": true,
"offsetFromBorderU": 0,
"offsetFromBorderV": 0.02
},
"inputs": {
"shape": {
"connections": [
{
"node": "db2f29c28fce9a44",
"output": "result",
"data": {}
}
]
},
"scalePatternV": {
"connections": [
{
"node": "6f4928a56906774a",
"output": "list",
"data": {}
}
]
},
"inclusionPattern": {
"connections": [
{
"node": "03303a3d3cb2a6b5",
"output": "result",
"data": {}
}
]
},
"nrRectanglesV": {
"connections": [
{
"node": "d90e74b18631a7e7",
"output": "result",
"data": {}
}
]
}
},
"position": [
3092.608348037154,
1633.6879372044598
]
},
"db2f29c28fce9a44": {
"id": "db2f29c28fce9a44",
"name": "bitbybit.lists.flatten",
"customName": "flatten",
"data": {
"nrLevels": 1
},
"inputs": {
"list": {
"connections": [
{
"node": "825b687b6334e027",
"output": "result",
"data": {}
}
]
}
},
"position": [
2676.745386245579,
1557.1555615832751
]
},
"ed8dca56f5a8e402": {
"id": "ed8dca56f5a8e402",
"name": "bitbybit.occt.shapes.shell.sewFaces",
"customName": "sew faces",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"tolerance": 1e-7
},
"inputs": {
"shapes": {
"connections": [
{
"node": "f3620701c3c1ae55",
"output": "list",
"data": {}
}
]
}
},
"position": [
4717.860180433169,
974.4537366731146
]
},
"f3620701c3c1ae55": {
"id": "f3620701c3c1ae55",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "7ea739c655493f9b",
"output": "result",
"data": {}
}
]
}
},
"position": [
4391.51664332526,
1126.3749180224165
]
},
"5a31954b0015e697": {
"id": "5a31954b0015e697",
"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": "74d09b8bdb4c5048",
"output": "result",
"data": {}
}
]
}
},
"position": [
3583.928722911858,
1609.7248549515402
]
},
"198a03b80b487592": {
"id": "198a03b80b487592",
"name": "bitbybit.math.number",
"customName": "number",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"number": 0.75
},
"inputs": {},
"position": [
2390.350829226262,
1944.6338134400619
]
},
"6f4928a56906774a": {
"id": "6f4928a56906774a",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "198a03b80b487592",
"output": "result",
"data": {}
},
{
"node": "feef4ec0e40282e7",
"output": "result",
"data": {}
}
]
}
},
"position": [
2699.5900851326587,
1981.4990347629055
]
},
"b14378ceb8bf7fc5": {
"id": "b14378ceb8bf7fc5",
"name": "bitbybit.occt.transforms.scale3d",
"customName": "scale 3d",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"scale": [
1,
1,
1
],
"center": [
0,
0,
0
]
},
"inputs": {
"center": {
"connections": [
{
"node": "719d567df8fbd349",
"output": "result",
"data": {}
}
]
},
"scale": {
"connections": [
{
"node": "efb0980b63aa8487",
"output": "result",
"data": {}
}
]
},
"shape": {
"connections": [
{
"node": "a385c2492e4ef6f1",
"output": "result",
"data": {}
}
]
}
},
"position": [
4341.167538667826,
2759.8646823683453
]
},
"719d567df8fbd349": {
"id": "719d567df8fbd349",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 0,
"y": 0,
"z": 0
},
"inputs": {},
"position": [
3112.9806205260847,
3674.4933141041506
]
},
"efb0980b63aa8487": {
"id": "efb0980b63aa8487",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 2,
"y": 1,
"z": 2
},
"inputs": {
"x": {
"connections": [
{
"node": "80d8c2210e2c8ada",
"output": "result",
"data": {}
}
]
},
"z": {
"connections": [
{
"node": "80d8c2210e2c8ada",
"output": "result",
"data": {}
}
]
}
},
"position": [
3116.886056928245,
2953.518975707273
]
},
"e5331e883d23938e": {
"id": "e5331e883d23938e",
"name": "bitbybit.occt.transforms.scale3d",
"customName": "scale 3d",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"scale": [
1,
1,
1
],
"center": [
0,
0,
0
]
},
"inputs": {
"scale": {
"connections": [
{
"node": "efb0980b63aa8487",
"output": "result",
"data": {}
}
]
},
"center": {
"connections": [
{
"node": "719d567df8fbd349",
"output": "result",
"data": {}
}
]
},
"shape": {
"connections": [
{
"node": "5a31954b0015e697",
"output": "result",
"data": {}
}
]
}
},
"position": [
4356.028359232859,
1903.9072650668625
]
},
"0a8bd4a673a282d0": {
"id": "0a8bd4a673a282d0",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "b6dab3ff34eb97a4",
"output": "list",
"data": {}
},
{
"node": "a2a0a302a67ae9ff",
"output": "list",
"data": {}
}
]
}
},
"position": [
5446.717449196535,
2603.210206102196
]
},
"b6dab3ff34eb97a4": {
"id": "b6dab3ff34eb97a4",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "dd44e69c6aba7a0d",
"output": "result",
"data": {}
}
]
}
},
"position": [
5014.862418857628,
2443.6518849559025
]
},
"a2a0a302a67ae9ff": {
"id": "a2a0a302a67ae9ff",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "f9fb91cec187f7f0",
"output": "result",
"data": {}
}
]
}
},
"position": [
5008.316988126108,
2795.910343024419
]
},
"82d90ff3973291d4": {
"id": "82d90ff3973291d4",
"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": "0a8bd4a673a282d0",
"output": "list",
"data": {}
}
]
}
},
"position": [
5738.875610128508,
2566.2260951248236
]
},
"9df5fcaa8f7c02cc": {
"id": "9df5fcaa8f7c02cc",
"name": "bitbybit.lists.flatten",
"customName": "flatten",
"data": {
"nrLevels": 1
},
"inputs": {
"list": {
"connections": [
{
"node": "82d90ff3973291d4",
"output": "result",
"data": {}
}
]
}
},
"position": [
6058.59415221766,
2603.0978039381016
]
},
"5a762f02bed474cd": {
"id": "5a762f02bed474cd",
"name": "bitbybit.occt.operations.loft",
"customName": "loft",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"makeSolid": false
},
"inputs": {
"shapes": {
"connections": [
{
"node": "9df5fcaa8f7c02cc",
"output": "result",
"data": {}
}
]
}
},
"position": [
6404.947065733184,
2560.232098026223
]
},
"80d8c2210e2c8ada": {
"id": "80d8c2210e2c8ada",
"name": "bitbybit.math.number",
"customName": "number",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"number": 1.2
},
"inputs": {},
"position": [
2535.8992541451094,
3162.3018861132055
]
},
"fa96ae89f95b4b18": {
"id": "fa96ae89f95b4b18",
"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": [
1862.3555027829957,
-1849.8844786271547
]
},
"9cd68061ec4fd9e0": {
"id": "9cd68061ec4fd9e0",
"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": "#94c2ff",
"emissiveColor": "#3b77b0",
"metallic": 0.8,
"roughness": 0.29,
"alpha": 1,
"backFaceCulling": false,
"zOffset": 2
},
"inputs": {},
"position": [
9605.741806654112,
2831.949431044085
]
},
"3901011d12c76eef": {
"id": "3901011d12c76eef",
"name": "bitbybit.occt.transforms.scale3d",
"customName": "scale 3d",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"scale": [
1,
1,
1
],
"center": [
0,
0,
0
]
},
"inputs": {
"shape": {
"connections": [
{
"node": "47f69e3aabe06071",
"output": "result",
"data": {}
}
]
},
"scale": {
"connections": [
{
"node": "efb0980b63aa8487",
"output": "result",
"data": {}
}
]
},
"center": {
"connections": [
{
"node": "719d567df8fbd349",
"output": "result",
"data": {}
}
]
}
},
"position": [
4364.581071106104,
1476.346832014063
]
},
"3bc9cf346fc8ef2a": {
"id": "3bc9cf346fc8ef2a",
"name": "bitbybit.occt.transforms.scale3d",
"customName": "scale 3d",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"scale": [
1,
1,
1
],
"center": [
0,
0,
0
]
},
"inputs": {
"shape": {
"connections": [
{
"node": "e9b4d2a7926e953f",
"output": "result",
"data": {}
}
]
},
"center": {
"connections": [
{
"node": "719d567df8fbd349",
"output": "result",
"data": {}
}
]
},
"scale": {
"connections": [
{
"node": "43f2efdf3003002e",
"output": "result",
"data": {}
}
]
}
},
"position": [
4345.11797828289,
3210.3573065763057
]
},
"b313faa82fc7f582": {
"id": "b313faa82fc7f582",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "3901011d12c76eef",
"output": "result",
"data": {}
}
]
}
},
"position": [
4860.068544678273,
1517.2274588686575
]
},
"fda5ede008aae952": {
"id": "fda5ede008aae952",
"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": false,
"nrPeriodicSections": 10,
"useSmoothing": false,
"maxUDegree": 3,
"tolerance": 1e-7,
"parType": "approxCentripetal"
},
"inputs": {
"shapes": {
"connections": [
{
"node": "b313faa82fc7f582",
"output": "list",
"data": {}
}
]
},
"startVertex": {
"connections": [
{
"node": "cbacaf56751f477c",
"output": "result",
"data": {}
}
]
}
},
"position": [
5327.662487993239,
1465.5007248302118
]
},
"cbacaf56751f477c": {
"id": "cbacaf56751f477c",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 0,
"y": 32,
"z": 0
},
"inputs": {},
"position": [
4910.618536230501,
1875.6153539025163
]
},
"43f2efdf3003002e": {
"id": "43f2efdf3003002e",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 2,
"y": 1,
"z": 2
},
"inputs": {
"x": {
"connections": [
{
"node": "80d8c2210e2c8ada",
"output": "result",
"data": {}
}
]
},
"y": {
"connections": [
{
"node": "80d8c2210e2c8ada",
"output": "result",
"data": {}
}
]
},
"z": {
"connections": [
{
"node": "80d8c2210e2c8ada",
"output": "result",
"data": {}
}
]
}
},
"position": [
3110.961471038728,
3310.5951164909416
]
},
"7ea739c655493f9b": {
"id": "7ea739c655493f9b",
"name": "bitbybit.occt.shapes.face.reversedFace",
"customName": "reversed face",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"shape": {
"connections": [
{
"node": "5a31954b0015e697",
"output": "result",
"data": {}
}
]
}
},
"position": [
4008.2380004947863,
1087.5384630463477
]
},
"ff3a5dfe26c1203f": {
"id": "ff3a5dfe26c1203f",
"name": "bitbybit.occt.transforms.scale",
"customName": "scale",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"factor": 0.5
},
"inputs": {
"shape": {
"connections": [
{
"node": "d533f9b2b358e932",
"output": "result",
"data": {}
}
]
}
},
"position": [
9189.222022342807,
640.7663938760614
]
},
"36d87d3e5dda7cfb": {
"id": "36d87d3e5dda7cfb",
"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": 3,
"diffuse": "#0084ff",
"specular": "#ffffff",
"shadowGeneratorMapSize": 1024,
"enableShadows": true,
"shadowDarkness": 0,
"shadowUsePercentageCloserFiltering": true,
"shadowContactHardeningLightSizeUVRatio": 0.2,
"shadowBias": 0.0001,
"shadowNormalBias": 0.002,
"shadowMaxZ": 1000,
"shadowMinZ": 0
},
"inputs": {
"direction": {
"connections": [
{
"node": "9c598c3fd358e209",
"output": "result",
"data": {}
}
]
}
},
"position": [
2410.492548455645,
-1108.187459661422
]
},
"9c598c3fd358e209": {
"id": "9c598c3fd358e209",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": -100,
"y": 50,
"z": -100
},
"inputs": {},
"position": [
1866.1241234045078,
-1104.6216865423542
]
},
"dd44e69c6aba7a0d": {
"id": "dd44e69c6aba7a0d",
"name": "bitbybit.occt.shapes.wire.getWires",
"customName": "get wires",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 1,
"forceExecution": false
}
},
"inputs": {
"shape": {
"connections": [
{
"node": "a385c2492e4ef6f1",
"output": "result",
"data": {}
}
]
}
},
"position": [
4354.892794420823,
2367.2120176828043
]
},
"f9fb91cec187f7f0": {
"id": "f9fb91cec187f7f0",
"name": "bitbybit.occt.shapes.wire.getWires",
"customName": "get wires",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 1,
"forceExecution": false
}
},
"inputs": {
"shape": {
"connections": [
{
"node": "b14378ceb8bf7fc5",
"output": "result",
"data": {}
}
]
}
},
"position": [
4682.071021905679,
2782.246685007575
]
},
"ca83297771d11aa5": {
"id": "ca83297771d11aa5",
"name": "bitbybit.lists.removeItemAtIndex",
"customName": "remove item at index",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"index": 0,
"clone": true
},
"inputs": {
"list": {
"connections": [
{
"node": "74d09b8bdb4c5048",
"output": "result",
"data": {}
}
]
}
},
"position": [
3558.8739387013798,
1967.9824675636294
]
},
"a385c2492e4ef6f1": {
"id": "a385c2492e4ef6f1",
"name": "bitbybit.lists.flatten",
"customName": "flatten",
"data": {
"nrLevels": 1
},
"inputs": {
"list": {
"connections": [
{
"node": "ca83297771d11aa5",
"output": "result",
"data": {}
}
]
}
},
"position": [
4016.6293284317,
2616.607395641203
]
},
"42f74d68d23d3247": {
"id": "42f74d68d23d3247",
"name": "bitbybit.babylon.scene.fog",
"customName": "fog",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"mode": "linear",
"color": "#c9c9c9",
"density": 0.1,
"start": 35,
"end": 100
},
"inputs": {
"color": {
"connections": [
{
"node": "7b75db43179570c8",
"output": "result",
"data": {}
}
]
}
},
"position": [
2442.8735698720834,
-42.14590401627983
]
},
"7b75db43179570c8": {
"id": "7b75db43179570c8",
"name": "bitbybit.color.hexColor",
"customName": "hex color",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"color": "#8397aa"
},
"inputs": {},
"position": [
2098.232163729327,
-306.933632265146
]
},
"8f5c08c8c98f4eb6": {
"id": "8f5c08c8c98f4eb6",
"name": "bitbybit.babylon.gui.advancedDynamicTexture.createFullScreenUI",
"customName": "full screen ui",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "fullscreen",
"foreground": true,
"adaptiveScaling": false
},
"inputs": {},
"position": [
-1056.7184739683328,
2836.232260686571
]
},
"62013821226fbd05": {
"id": "62013821226fbd05",
"name": "bitbybit.babylon.gui.container.addControls",
"customName": "add controls",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"clearControlsFirst": true
},
"inputs": {
"controls": {
"connections": [
{
"node": "5d70cbf01bf83e55",
"output": "list",
"data": {}
}
]
},
"container": {
"connections": [
{
"node": "8f5c08c8c98f4eb6",
"output": "result",
"data": {}
}
]
}
},
"position": [
1051.4522897911515,
2825.729196003556
]
},
"5d70cbf01bf83e55": {
"id": "5d70cbf01bf83e55",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "d7157cf9080bd8c5",
"output": "result",
"data": {}
}
]
}
},
"position": [
779.1858107406395,
3260.0028960769355
]
},
"6ea6f5c19d2c3679": {
"id": "6ea6f5c19d2c3679",
"name": "bitbybit.babylon.gui.stackPanel.createStackPanel",
"customName": "stack panel",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "stackPanel",
"isVertical": true,
"spacing": 25,
"color": "#00000000",
"background": "#00000000"
},
"inputs": {
"width": {
"connections": [
{
"node": "1c3567b107487ab7",
"output": "result",
"data": {}
}
]
},
"height": {
"connections": [
{
"node": "2cfa0a89722e88ad",
"output": "result",
"data": {}
}
]
}
},
"position": [
-644.7439786868175,
3305.091365601621
]
},
"1c3567b107487ab7": {
"id": "1c3567b107487ab7",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "740px"
},
"inputs": {},
"position": [
-1005.9218465842323,
3360.972335833377
]
},
"2cfa0a89722e88ad": {
"id": "2cfa0a89722e88ad",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "850px"
},
"inputs": {},
"position": [
-1015.568499809784,
3636.3340536899586
]
},
"7256842476045eb7": {
"id": "7256842476045eb7",
"name": "bitbybit.babylon.gui.control.changeControlAlignment",
"customName": "change control alignment",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"horizontalAlignment": "left",
"verticalAlignment": "bottom"
},
"inputs": {
"control": {
"connections": [
{
"node": "6ea6f5c19d2c3679",
"output": "result",
"data": {}
}
]
}
},
"position": [
-55.86693666910121,
3469.4026625427564
]
},
"d7157cf9080bd8c5": {
"id": "d7157cf9080bd8c5",
"name": "bitbybit.babylon.gui.control.changeControlPadding",
"customName": "change control padding",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"control": {
"connections": [
{
"node": "7256842476045eb7",
"output": "result",
"data": {}
}
]
},
"paddingLeft": {
"connections": [
{
"node": "2e27ec0382325605",
"output": "result",
"data": {}
}
]
},
"paddingRight": {
"connections": [
{
"node": "2e27ec0382325605",
"output": "result",
"data": {}
}
]
},
"paddingTop": {
"connections": [
{
"node": "2e27ec0382325605",
"output": "result",
"data": {}
}
]
},
"paddingBottom": {
"connections": [
{
"node": "2e27ec0382325605",
"output": "result",
"data": {}
}
]
}
},
"position": [
374.0302769524635,
3524.3010854904096
]
},
"2e27ec0382325605": {
"id": "2e27ec0382325605",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "35px"
},
"inputs": {},
"position": [
38.94193286015155,
3917.4311588521
]
},
"bbd88144625e447e": {
"id": "bbd88144625e447e",
"name": "bitbybit.babylon.gui.container.addControls",
"customName": "add controls",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"clearControlsFirst": true
},
"inputs": {
"container": {
"connections": [
{
"node": "d7157cf9080bd8c5",
"output": "result",
"data": {}
}
]
},
"controls": {
"connections": [
{
"node": "688df756a4d3edd8",
"output": "list",
"data": {}
}
]
}
},
"position": [
1117.0240712398745,
3999.2649441995045
]
},
"688df756a4d3edd8": {
"id": "688df756a4d3edd8",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "a67fb013d25c1008",
"output": "result",
"data": {}
}
]
}
},
"position": [
808.172430927605,
4141.539962993023
]
},
"a67fb013d25c1008": {
"id": "a67fb013d25c1008",
"name": "bitbybit.babylon.gui.control.changeControlPadding",
"customName": "change control padding",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"paddingLeft": {
"connections": [
{
"node": "2e27ec0382325605",
"output": "result",
"data": {}
}
]
},
"paddingRight": {
"connections": [
{
"node": "2e27ec0382325605",
"output": "result",
"data": {}
}
]
},
"paddingTop": {
"connections": [
{
"node": "2e27ec0382325605",
"output": "result",
"data": {}
}
]
},
"paddingBottom": {
"connections": [
{
"node": "2e27ec0382325605",
"output": "result",
"data": {}
}
]
},
"control": {
"connections": [
{
"node": "8019c3f4a93360fc",
"output": "result",
"data": {}
}
]
}
},
"position": [
381.53080329328145,
4124.938450095269
]
},
"8019c3f4a93360fc": {
"id": "8019c3f4a93360fc",
"name": "bitbybit.babylon.gui.stackPanel.createStackPanel",
"customName": "stack panel",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "stackPanel",
"isVertical": true,
"spacing": 32,
"color": "#00000000",
"background": "#00000055"
},
"inputs": {
"width": {
"connections": [
{
"node": "c7771b05bfece223",
"output": "result",
"data": {}
}
]
},
"height": {
"connections": [
{
"node": "c7771b05bfece223",
"output": "result",
"data": {}
}
]
}
},
"position": [
-634.5679617178588,
4122.829976185915
]
},
"c7771b05bfece223": {
"id": "c7771b05bfece223",
"name": "bitbybit.math.number",
"customName": "number",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"number": 1
},
"inputs": {},
"position": [
-1030.5012301905765,
4255.332320202711
]
},
"3cdac0a2da52d477": {
"id": "3cdac0a2da52d477",
"name": "bitbybit.babylon.gui.textBlock.createTextBlock",
"customName": "text block",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "textBlockName",
"text": "❄️❄️❄️🎄 TOY 🎄❄️❄️❄️",
"color": "#f0cebb",
"fontSize": 43
},
"inputs": {
"color": {
"connections": [
{
"node": "14ea460327313f84",
"output": "result",
"data": {}
}
]
},
"height": {
"connections": [
{
"node": "8fdac6b820e66385",
"output": "result",
"data": {}
}
]
}
},
"position": [
-853.8406515994363,
5107.457479372801
]
},
"4c68d9ac771b698a": {
"id": "4c68d9ac771b698a",
"name": "bitbybit.babylon.gui.container.addControls",
"customName": "add controls",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"clearControlsFirst": true
},
"inputs": {
"container": {
"connections": [
{
"node": "a67fb013d25c1008",
"output": "result",
"data": {}
}
]
},
"controls": {
"connections": [
{
"node": "40ad5c91b680fe5b",
"output": "list",
"data": {}
}
]
}
},
"position": [
1081.1735221113568,
4989.645601752394
]
},
"40ad5c91b680fe5b": {
"id": "40ad5c91b680fe5b",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "3cdac0a2da52d477",
"output": "result",
"data": {}
},
{
"node": "eb164cb9f2c3d0b2",
"output": "result",
"data": {}
},
{
"node": "f80263a3d6977ea4",
"output": "result",
"data": {}
},
{
"node": "dda72ba4bc855075",
"output": "result",
"data": {}
},
{
"node": "a3006cf7f5041ef6",
"output": "result",
"data": {}
},
{
"node": "22b0aaced3db29ad",
"output": "result",
"data": {}
},
{
"node": "9de26dfa0b6980e6",
"output": "result",
"data": {}
}
]
}
},
"position": [
131.27159201850196,
6807.45958474214
]
},
"14ea460327313f84": {
"id": "14ea460327313f84",
"name": "bitbybit.color.hexColor",
"customName": "hex color",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"color": "#75a3ff"
},
"inputs": {},
"position": [
-2524.347102647334,
9183.15923769915
]
},
"be55efccc9dd82ed": {
"id": "be55efccc9dd82ed",
"name": "bitbybit.babylon.gui.control.changeControlPadding",
"customName": "change control padding",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"control": {
"connections": [
{
"node": "3cdac0a2da52d477",
"output": "result",
"data": {}
}
]
},
"paddingTop": {
"connections": [
{
"node": "96b4e817c4c14f20",
"output": "result",
"data": {}
}
]
},
"paddingBottom": {
"connections": [
{
"node": "f6b793e8e89edda0",
"output": "result",
"data": {}
}
]
}
},
"position": [
310.06370891276634,
5361.812652019315
]
},
"96b4e817c4c14f20": {
"id": "96b4e817c4c14f20",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "25px"
},
"inputs": {},
"position": [
-216.81270824516469,
5476.663754188035
]
},
"8fdac6b820e66385": {
"id": "8fdac6b820e66385",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "105px"
},
"inputs": {},
"position": [
-1181.045524940636,
5460.547434196808
]
},
"eb164cb9f2c3d0b2": {
"id": "eb164cb9f2c3d0b2",
"name": "bitbybit.babylon.gui.slider.createSlider",
"customName": "slider",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "rays",
"minimum": 3,
"maximum": 12,
"value": 6,
"step": 1,
"isVertical": false,
"color": "#f0cebb",
"background": "black",
"displayThumb": true
},
"inputs": {
"value": {
"connections": [
{
"node": "6e51a85f13ab5259",
"output": "result",
"data": {}
}
]
},
"color": {
"connections": [
{
"node": "14ea460327313f84",
"output": "result",
"data": {}
}
]
}
},
"position": [
-821.5978737310934,
5908.02843885303
]
},
"6e51a85f13ab5259": {
"id": "6e51a85f13ab5259",
"name": "bitbybit.math.numberSlider",
"customName": "number slider",
"data": {
"options": {
"min": 3,
"max": 12,
"step": 1,
"width": 350,
"updateOnDrag": false
},
"number": 5
},
"inputs": {},
"position": [
-1455.2743568834462,
6056.45799565296
]
},
"f80263a3d6977ea4": {
"id": "f80263a3d6977ea4",
"name": "bitbybit.babylon.gui.textBlock.createTextBlock",
"customName": "text block",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "textBlockName",
"text": "Number Of Rays",
"color": "#f0cebb",
"fontSize": 32
},
"inputs": {
"color": {
"connections": [
{
"node": "14ea460327313f84",
"output": "result",
"data": {}
}
]
}
},
"position": [
-853.88650164059,
6570.290388610167
]
},
"dda72ba4bc855075": {
"id": "dda72ba4bc855075",
"name": "bitbybit.babylon.gui.slider.createSlider",
"customName": "slider",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "verticalOpeningsSlider",
"minimum": 1,
"maximum": 25,
"value": 6,
"step": 1,
"isVertical": false,
"color": "#f0cebb",
"background": "black",
"displayThumb": true
},
"inputs": {
"value": {
"connections": [
{
"node": "dc27ec58598933e4",
"output": "result",
"data": {}
}
]
},
"color": {
"connections": [
{
"node": "14ea460327313f84",
"output": "result",
"data": {}
}
]
}
},
"position": [
-831.8855421151479,
7040.183968957487
]
},
"dc27ec58598933e4": {
"id": "dc27ec58598933e4",
"name": "bitbybit.math.numberSlider",
"customName": "number slider",
"data": {
"options": {
"min": 1,
"max": 25,
"step": 1,
"width": 350,
"updateOnDrag": false
},
"number": 5
},
"inputs": {},
"position": [
-1548.5643926124947,
7215.153436337072
]
},
"a3006cf7f5041ef6": {
"id": "a3006cf7f5041ef6",
"name": "bitbybit.babylon.gui.textBlock.createTextBlock",
"customName": "text block",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "textBlockName",
"text": "Vertical Divisions",
"color": "#f0cebb",
"fontSize": 32
},
"inputs": {
"color": {
"connections": [
{
"node": "14ea460327313f84",
"output": "result",
"data": {}
}
]
}
},
"position": [
-829.5105024166364,
7718.522342332688
]
},
"22b0aaced3db29ad": {
"id": "22b0aaced3db29ad",
"name": "bitbybit.babylon.gui.button.createSimpleButton",
"customName": "simple button",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "buttonName",
"label": "S I G N U P F O R M O R E !",
"color": "white",
"background": "#f0cebb",
"fontSize": 32
},
"inputs": {
"background": {
"connections": [
{
"node": "14ea460327313f84",
"output": "result",
"data": {}
}
]
},
"height": {
"connections": [
{
"node": "b5ab513337ea1f9c",
"output": "result",
"data": {}
}
]
}
},
"position": [
-846.86829904502,
8223.84317108378
]
},
"b5ab513337ea1f9c": {
"id": "b5ab513337ea1f9c",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "95px"
},
"inputs": {},
"position": [
-1211.515140544501,
8409.866247193688
]
},
"3d74af9c8a8b1dd3": {
"id": "3d74af9c8a8b1dd3",
"name": "bitbybit.babylon.gui.control.changeControlPadding",
"customName": "change control padding",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"control": {
"connections": [
{
"node": "22b0aaced3db29ad",
"output": "result",
"data": {}
}
]
},
"paddingLeft": {
"connections": [
{
"node": "f49f0b323ff33034",
"output": "result",
"data": {}
}
]
},
"paddingRight": {
"connections": [
{
"node": "f49f0b323ff33034",
"output": "result",
"data": {}
}
]
}
},
"position": [
147.85415967299022,
8465.334888215139
]
},
"f49f0b323ff33034": {
"id": "f49f0b323ff33034",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "32px"
},
"inputs": {},
"position": [
-351.90583473376483,
8527.624810198047
]
},
"9de26dfa0b6980e6": {
"id": "9de26dfa0b6980e6",
"name": "bitbybit.babylon.gui.stackPanel.createStackPanel",
"customName": "stack panel",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "actions",
"isVertical": false,
"spacing": 20,
"color": "#00000000",
"background": "#00000055"
},
"inputs": {
"height": {
"connections": [
{
"node": "94be48fa3d341e2f",
"output": "result",
"data": {}
}
]
}
},
"position": [
-860.4566955224043,
8845.655587065246
]
},
"94be48fa3d341e2f": {
"id": "94be48fa3d341e2f",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "150px"
},
"inputs": {},
"position": [
-1243.8502616502608,
8996.109487316298
]
},
"386aa0fba070069e": {
"id": "386aa0fba070069e",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "fc36f702c3f8146e",
"output": "result",
"data": {}
},
{
"node": "71fbc1ccee37d577",
"output": "result",
"data": {}
},
{
"node": "dfd5ec0585a0e37f",
"output": "result",
"data": {}
}
]
}
},
"position": [
86.09946070310812,
9675.048597360192
]
},
"fc36f702c3f8146e": {
"id": "fc36f702c3f8146e",
"name": "bitbybit.babylon.gui.button.createSimpleButton",
"customName": "simple button",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "getStep",
"label": "Get STEP",
"color": "white",
"background": "black",
"fontSize": 24
},
"inputs": {
"width": {
"connections": [
{
"node": "9627abcea218d31f",
"output": "result",
"data": {}
}
]
},
"height": {
"connections": [
{
"node": "5189291d4a0b99c3",
"output": "result",
"data": {}
}
]
},
"color": {
"connections": [
{
"node": "14ea460327313f84",
"output": "result",
"data": {}
}
]
}
},
"position": [
-906.5263779292032,
9503.72186483339
]
},
"9627abcea218d31f": {
"id": "9627abcea218d31f",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "186px"
},
"inputs": {},
"position": [
-1280.2041644956794,
9443.521680268339
]
},
"5189291d4a0b99c3": {
"id": "5189291d4a0b99c3",
"name": "bitbybit.math.number",
"customName": "number",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"number": 0.5
},
"inputs": {},
"position": [
-1336.124164455853,
9763.964706483723
]
},
"b42caf22b316e228": {
"id": "b42caf22b316e228",
"name": "bitbybit.babylon.gui.container.addControls",
"customName": "add controls",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"clearControlsFirst": true
},
"inputs": {
"controls": {
"connections": [
{
"node": "386aa0fba070069e",
"output": "list",
"data": {}
}
]
},
"container": {
"connections": [
{
"node": "9de5622b3e543a8a",
"output": "result",
"data": {}
}
]
}
},
"position": [
1052.8239083530739,
9110.88729112261
]
},
"27161889f007dc04": {
"id": "27161889f007dc04",
"name": "bitbybit.babylon.gui.control.changeControlAlignment",
"customName": "change control alignment",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"horizontalAlignment": "center",
"verticalAlignment": "center"
},
"inputs": {
"control": {
"connections": [
{
"node": "9de26dfa0b6980e6",
"output": "result",
"data": {}
}
]
}
},
"position": [
-269.69695321588506,
8927.379602739795
]
},
"71fbc1ccee37d577": {
"id": "71fbc1ccee37d577",
"name": "bitbybit.babylon.gui.button.createSimpleButton",
"customName": "simple button",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "getStl",
"label": "Get STL",
"color": "white",
"background": "black",
"fontSize": 24
},
"inputs": {
"width": {
"connections": [
{
"node": "9627abcea218d31f",
"output": "result",
"data": {}
}
]
},
"height": {
"connections": [
{
"node": "5189291d4a0b99c3",
"output": "result",
"data": {}
}
]
},
"color": {
"connections": [
{
"node": "14ea460327313f84",
"output": "result",
"data": {}
}
]
}
},
"position": [
-906.6855973027857,
10056.533240815332
]
},
"dfd5ec0585a0e37f": {
"id": "dfd5ec0585a0e37f",
"name": "bitbybit.babylon.gui.button.createSimpleButton",
"customName": "simple button",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "sourceCode",
"label": "Source Code",
"color": "white",
"background": "black",
"fontSize": 24
},
"inputs": {
"color": {
"connections": [
{
"node": "14ea460327313f84",
"output": "result",
"data": {}
}
]
},
"height": {
"connections": [
{
"node": "5189291d4a0b99c3",
"output": "result",
"data": {}
}
]
},
"width": {
"connections": [
{
"node": "9627abcea218d31f",
"output": "result",
"data": {}
}
]
}
},
"position": [
-906.7686354515675,
10569.423308562755
]
},
"9de5622b3e543a8a": {
"id": "9de5622b3e543a8a",
"name": "bitbybit.babylon.gui.control.changeControlPadding",
"customName": "change control padding",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"paddingTop": {
"connections": [
{
"node": "ce084356ce41072e",
"output": "result",
"data": {}
}
]
},
"control": {
"connections": [
{
"node": "27161889f007dc04",
"output": "result",
"data": {}
}
]
},
"paddingLeft": {
"connections": [
{
"node": "ce084356ce41072e",
"output": "result",
"data": {}
}
]
},
"paddingRight": {
"connections": [
{
"node": "ce084356ce41072e",
"output": "result",
"data": {}
}
]
},
"paddingBottom": {
"connections": [
{
"node": "ce084356ce41072e",
"output": "result",
"data": {}
}
]
}
},
"position": [
386.5736003150091,
9022.420560407636
]
},
"ce084356ce41072e": {
"id": "ce084356ce41072e",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "0px"
},
"inputs": {},
"position": [
-150.892111299047,
9269.41326836467
]
},
"3b1402c27d9aa4d9": {
"id": "3b1402c27d9aa4d9",
"name": "bitbybit.babylon.gui.control.changeControlPadding",
"customName": "change control padding",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"paddingTop": {
"connections": [
{
"node": "7c43fbf3b4039859",
"output": "result",
"data": {}
}
]
},
"control": {
"connections": [
{
"node": "22b0aaced3db29ad",
"output": "result",
"data": {}
}
]
}
},
"position": [
468.6889889862706,
7806.3724958885105
]
},
"7c43fbf3b4039859": {
"id": "7c43fbf3b4039859",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "40px"
},
"inputs": {},
"position": [
38.94985237381003,
8082.178454308819
]
},
"bf021b750fd00e30": {
"id": "bf021b750fd00e30",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "45px"
},
"inputs": {},
"position": [
-26.956821924678025,
4278.492442388621
]
},
"f6b793e8e89edda0": {
"id": "f6b793e8e89edda0",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "35px"
},
"inputs": {},
"position": [
-204.24116761177675,
5756.856375833485
]
},
"f1f8cf3eadfa0ebb": {
"id": "f1f8cf3eadfa0ebb",
"name": "bitbybit.babylon.gui.control.createControlObservableSelector",
"customName": "control observable selector",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"selector": "onPointerUpObservable"
},
"inputs": {},
"position": [
-284.4470112110814,
10728.8905088672
]
},
"43441120529c36e3": {
"id": "43441120529c36e3",
"name": "bitbybit.flow.babylon.observableListener",
"customName": "babylon observable listener",
"data": {},
"inputs": {
"observableSelector": {
"connections": [
{
"node": "f1f8cf3eadfa0ebb",
"output": "result",
"data": {}
}
]
},
"object": {
"connections": [
{
"node": "dfd5ec0585a0e37f",
"output": "result",
"data": {}
}
]
}
},
"position": [
379.3161481874706,
10607.903050757823
]
},
"38f701184db60233": {
"id": "38f701184db60233",
"name": "bitbybit.flow.time.delay",
"customName": "delay",
"data": {
"timeout": 0
},
"inputs": {
"exec": {
"connections": [
{
"node": "43441120529c36e3",
"output": "exec",
"data": {}
}
]
}
},
"position": [
933.2062286858425,
10749.580736333644
]
},
"fbe1705ff510913a": {
"id": "fbe1705ff510913a",
"name": "bitbybit.flow.logic.flipFlop",
"customName": "flip flop",
"data": {},
"inputs": {
"exec": {
"connections": [
{
"node": "43441120529c36e3",
"output": "exec",
"data": {}
},
{
"node": "38f701184db60233",
"output": "exec",
"data": {}
}
]
}
},
"position": [
1286.7786245546422,
10638.06142237177
]
},
"83ffa041662302e3": {
"id": "83ffa041662302e3",
"name": "bitbybit.code.typeScriptEditor",
"customName": "typescript editor",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": true
},
"code": {
"code": "// DO NOT REMOVE THIS FUNCTION\nconst start83ffa041662302e3 = async (inputs: any, index: number) => {\n // ADD YOUR CODE HERE\n if (inputs === true) {\n window.open(\"https://bitbybit.dev/app/bitbybit/KtIymkYFZ8Qty9h8mhew/Y7NQIgaXLy0dqffnc825?editor=rete\", '_blank').focus();\n }\n return inputs;\n}"
}
},
"inputs": {
"inputs": {
"connections": [
{
"node": "fbe1705ff510913a",
"output": "isA",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "fbe1705ff510913a",
"output": "execA",
"data": {}
},
{
"node": "fbe1705ff510913a",
"output": "execB",
"data": {}
}
]
}
},
"position": [
1749.7763306366996,
10636.786904135595
]
},
"af7350efdb0b85b3": {
"id": "af7350efdb0b85b3",
"name": "bitbybit.babylon.gui.control.createControlObservableSelector",
"customName": "control observable selector",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"selector": "onPointerUpObservable"
},
"inputs": {},
"position": [
686.4715121547069,
8508.681235887017
]
},
"f2e18ffd18566787": {
"id": "f2e18ffd18566787",
"name": "bitbybit.flow.babylon.observableListener",
"customName": "babylon observable listener",
"data": {},
"inputs": {
"object": {
"connections": [
{
"node": "22b0aaced3db29ad",
"output": "result",
"data": {}
}
]
},
"observableSelector": {
"connections": [
{
"node": "af7350efdb0b85b3",
"output": "result",
"data": {}
}
]
}
},
"position": [
1453.070365919411,
8258.538315404885
]
},
"70259fc69f3db105": {
"id": "70259fc69f3db105",
"name": "bitbybit.flow.time.delay",
"customName": "delay",
"data": {
"timeout": 0
},
"inputs": {
"exec": {
"connections": [
{
"node": "f2e18ffd18566787",
"output": "exec",
"data": {}
}
]
}
},
"position": [
1987.6045976314351,
8437.042718662588
]
},
"291c95f88aae5725": {
"id": "291c95f88aae5725",
"name": "bitbybit.flow.logic.flipFlop",
"customName": "flip flop",
"data": {},
"inputs": {
"exec": {
"connections": [
{
"node": "70259fc69f3db105",
"output": "exec",
"data": {}
},
{
"node": "f2e18ffd18566787",
"output": "exec",
"data": {}
}
]
}
},
"position": [
2323.4070267726706,
8288.053843144928
]
},
"ac5f02670de06852": {
"id": "ac5f02670de06852",
"name": "bitbybit.code.typeScriptEditor",
"customName": "typescript editor",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": true
},
"code": {
"code": "// DO NOT REMOVE THIS FUNCTION\nconst startac5f02670de06852 = async (inputs: any, index: number) => {\n // ADD YOUR CODE HERE\n if (inputs === true) {\n window.open(\"https://bitbybit.dev/auth/sign-up\", '_blank').focus();\n }\n return inputs;\n}"
}
},
"inputs": {
"inputs": {
"connections": [
{
"node": "291c95f88aae5725",
"output": "isA",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "291c95f88aae5725",
"output": "execA",
"data": {}
},
{
"node": "291c95f88aae5725",
"output": "execB",
"data": {}
}
]
}
},
"position": [
2681.990286952205,
8287.587249893892
]
},
"b5af9279ffdd84e5": {
"id": "b5af9279ffdd84e5",
"name": "bitbybit.babylon.scene.enableSkybox",
"customName": "enable skybox",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"skybox": "city",
"size": 1000,
"blur": 0.5,
"environmentIntensity": 0.7,
"hideSkybox": false
},
"inputs": {},
"position": [
2884.1306675480555,
-186.0490873535386
]
},
"9dca219fedacecca": {
"id": "9dca219fedacecca",
"name": "bitbybit.flow.babylon.observableListener",
"customName": "babylon observable listener",
"data": {},
"inputs": {
"observableSelector": {
"connections": [
{
"node": "f1f8cf3eadfa0ebb",
"output": "result",
"data": {}
}
]
},
"object": {
"connections": [
{
"node": "71fbc1ccee37d577",
"output": "result",
"data": {}
}
]
}
},
"position": [
385.9268891419183,
10329.874563653837
]
},
"bb201b1ec9f17a1e": {
"id": "bb201b1ec9f17a1e",
"name": "bitbybit.flow.babylon.observableListener",
"customName": "babylon observable listener",
"data": {},
"inputs": {
"observableSelector": {
"connections": [
{
"node": "f1f8cf3eadfa0ebb",
"output": "result",
"data": {}
}
]
},
"object": {
"connections": [
{
"node": "fc36f702c3f8146e",
"output": "result",
"data": {}
}
]
}
},
"position": [
394.16500271911553,
10076.96114156523
]
},
"4a5d1c196a0b447e": {
"id": "4a5d1c196a0b447e",
"name": "bitbybit.flow.time.delay",
"customName": "delay",
"data": {
"timeout": 0
},
"inputs": {
"exec": {
"connections": [
{
"node": "9dca219fedacecca",
"output": "exec",
"data": {}
}
]
}
},
"position": [
936.4095297912264,
10457.862715124222
]
},
"4fd171db189ad173": {
"id": "4fd171db189ad173",
"name": "bitbybit.flow.logic.flipFlop",
"customName": "flip flop",
"data": {},
"inputs": {
"exec": {
"connections": [
{
"node": "9dca219fedacecca",
"output": "exec",
"data": {}
},
{
"node": "4a5d1c196a0b447e",
"output": "exec",
"data": {}
}
]
}
},
"position": [
1273.654131279585,
10355.281487174021
]
},
"94b6dd1354940df2": {
"id": "94b6dd1354940df2",
"name": "bitbybit.flow.time.delay",
"customName": "delay",
"data": {
"timeout": 0
},
"inputs": {
"exec": {
"connections": [
{
"node": "bb201b1ec9f17a1e",
"output": "exec",
"data": {}
}
]
}
},
"position": [
926.4956949832613,
10212.522265939324
]
},
"27eac850201a9701": {
"id": "27eac850201a9701",
"name": "bitbybit.flow.logic.flipFlop",
"customName": "flip flop",
"data": {},
"inputs": {
"exec": {
"connections": [
{
"node": "bb201b1ec9f17a1e",
"output": "exec",
"data": {}
},
{
"node": "94b6dd1354940df2",
"output": "exec",
"data": {}
}
]
}
},
"position": [
1272.0778730255988,
10103.055278248028
]
},
"9190095ec9cfd394": {
"id": "9190095ec9cfd394",
"name": "bitbybit.logic.valueGate",
"customName": "value gate",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"boolean": false
},
"inputs": {
"value": {
"connections": [
{
"node": "73ee3cd6670755bb",
"output": "result",
"data": {}
}
]
},
"boolean": {
"connections": [
{
"node": "27eac850201a9701",
"output": "isA",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "27eac850201a9701",
"output": "execA",
"data": {}
},
{
"node": "27eac850201a9701",
"output": "execB",
"data": {}
}
]
}
},
"position": [
2098.7596218076405,
9630.876889007699
]
},
"73ee3cd6670755bb": {
"id": "73ee3cd6670755bb",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "bitbybit-toy.step"
},
"inputs": {},
"position": [
1701.8222304032442,
9540.575618331815
]
},
"f9a87606405961ae": {
"id": "f9a87606405961ae",
"name": "bitbybit.text.create",
"customName": "create",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "bitbybit-toy.stl"
},
"inputs": {},
"position": [
1934.0481177357838,
10057.705993169464
]
},
"f8db44954a566616": {
"id": "f8db44954a566616",
"name": "bitbybit.logic.valueGate",
"customName": "value gate",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"boolean": false
},
"inputs": {
"value": {
"connections": [
{
"node": "f9a87606405961ae",
"output": "result",
"data": {}
}
]
},
"boolean": {
"connections": [
{
"node": "4fd171db189ad173",
"output": "isA",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "4fd171db189ad173",
"output": "execA",
"data": {}
},
{
"node": "4fd171db189ad173",
"output": "execB",
"data": {}
}
]
}
},
"position": [
2360.5651787274305,
10179.991268481712
]
},
"7ae3f1f373ab7ce8": {
"id": "7ae3f1f373ab7ce8",
"name": "bitbybit.occt.io.saveShapeSTEPAndReturn",
"customName": "save shape step and return",
"async": true,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"fileName": "",
"adjustYtoZ": true,
"fromRightHanded": false,
"tryDownload": true
},
"inputs": {
"shape": {
"connections": [
{
"node": "ff3a5dfe26c1203f",
"output": "result",
"data": {}
}
]
},
"fileName": {
"connections": [
{
"node": "9190095ec9cfd394",
"output": "result",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "9190095ec9cfd394",
"output": "exec",
"data": {}
}
]
}
},
"position": [
4105.580503617983,
9860.933809645778
]
},
"b358af77da1782cf": {
"id": "b358af77da1782cf",
"name": "bitbybit.occt.io.saveShapeStl",
"customName": "save shape stl",
"async": true,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"fileName": "shape.stl",
"precision": 0.01,
"adjustYtoZ": true,
"tryDownload": true,
"binary": true
},
"inputs": {
"fileName": {
"connections": [
{
"node": "f8db44954a566616",
"output": "result",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "f8db44954a566616",
"output": "exec",
"data": {}
}
]
},
"shape": {
"connections": [
{
"node": "ff3a5dfe26c1203f",
"output": "result",
"data": {}
}
]
}
},
"position": [
4097.343815578738,
10313.986149668373
]
},
"feef4ec0e40282e7": {
"id": "feef4ec0e40282e7",
"name": "bitbybit.math.number",
"customName": "number",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"number": 0.5
},
"inputs": {},
"position": [
2389.4392361815517,
2241.565476619029
]
},
"03303a3d3cb2a6b5": {
"id": "03303a3d3cb2a6b5",
"name": "bitbybit.json.parse",
"customName": "parse",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "[true,false,true,true]"
},
"inputs": {},
"position": [
2389.302212365796,
2597.6283579746796
]
},
"f39c312f7e1e1bef": {
"id": "f39c312f7e1e1bef",
"name": "bitbybit.flow.babylon.observableListener",
"customName": "babylon observable listener",
"data": {},
"inputs": {
"observableSelector": {
"connections": [
{
"node": "19dd5abb3a2ed30a",
"output": "result",
"data": {}
}
]
},
"object": {
"connections": [
{
"node": "dda72ba4bc855075",
"output": "result",
"data": {}
}
]
}
},
"position": [
634.3045048773648,
6411.35023828563
]
},
"19dd5abb3a2ed30a": {
"id": "19dd5abb3a2ed30a",
"name": "bitbybit.babylon.gui.slider.createSliderObservableSelector",
"customName": "slider observable selector",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"selector": "onValueChangedObservable"
},
"inputs": {},
"position": [
119.33402358269528,
6252.634270289916
]
},
"3f3e9efb919889cb": {
"id": "3f3e9efb919889cb",
"name": "bitbybit.flow.babylon.observableListener",
"customName": "babylon observable listener",
"data": {},
"inputs": {
"observableSelector": {
"connections": [
{
"node": "19dd5abb3a2ed30a",
"output": "result",
"data": {}
}
]
},
"object": {
"connections": [
{
"node": "eb164cb9f2c3d0b2",
"output": "result",
"data": {}
}
]
}
},
"position": [
626.2393558517689,
6035.026931379336
]
},
"b85e303f418ea094": {
"id": "b85e303f418ea094",
"name": "bitbybit.flow.babylon.getEventDataFromObservedResult",
"customName": "get event data",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"json": {
"connections": [
{
"node": "3f3e9efb919889cb",
"output": "result",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "3f3e9efb919889cb",
"output": "exec",
"data": {}
}
]
}
},
"position": [
1213.8284182083087,
6031.8004190176025
]
},
"0ae184887b347212": {
"id": "0ae184887b347212",
"name": "bitbybit.flow.babylon.getEventDataFromObservedResult",
"customName": "get event data",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"exec": {
"connections": [
{
"node": "f39c312f7e1e1bef",
"output": "exec",
"data": {}
}
]
},
"json": {
"connections": [
{
"node": "f39c312f7e1e1bef",
"output": "result",
"data": {}
}
]
}
},
"position": [
1212.113699374194,
6401.279001431719
]
},
"ffecd6164df0c288": {
"id": "ffecd6164df0c288",
"name": "bitbybit.logic.firstDefinedValueGate",
"customName": "first defined value gate",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"value1": {
"connections": [
{
"node": "b85e303f418ea094",
"output": "result",
"data": {}
}
]
},
"value2": {
"connections": [
{
"node": "6e51a85f13ab5259",
"output": "result",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "b85e303f418ea094",
"output": "exec",
"data": {}
}
]
}
},
"position": [
1795.1547936226411,
6012.662361553964
]
},
"d90e74b18631a7e7": {
"id": "d90e74b18631a7e7",
"name": "bitbybit.logic.firstDefinedValueGate",
"customName": "first defined value gate",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"exec": {
"connections": [
{
"node": "0ae184887b347212",
"output": "exec",
"data": {}
}
]
},
"value2": {
"connections": [
{
"node": "dc27ec58598933e4",
"output": "result",
"data": {}
}
]
},
"value1": {
"connections": [
{
"node": "0ae184887b347212",
"output": "result",
"data": {}
}
]
}
},
"position": [
1827.0393870782336,
6490.834733956343
]
},
"9ed742a672a607ce": {
"id": "9ed742a672a607ce",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "ffecd6164df0c288",
"output": "result",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "ffecd6164df0c288",
"output": "exec",
"data": {}
}
]
}
},
"position": [
2408.212815313349,
6050.3207511429555
]
},
"48046af83dbc9299": {
"id": "48046af83dbc9299",
"name": "bitbybit.lists.createList",
"customName": "create list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "d90e74b18631a7e7",
"output": "result",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "d90e74b18631a7e7",
"output": "exec",
"data": {}
}
]
}
},
"position": [
2407.3069815807094,
6523.841211518347
]
},
"46f99a9e9cfc9152": {
"id": "46f99a9e9cfc9152",
"name": "bitbybit.text.format",
"customName": "format",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "Number Of Rays - {0}",
"values": [
"World"
]
},
"inputs": {
"values": {
"connections": [
{
"node": "9ed742a672a607ce",
"output": "list",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "9ed742a672a607ce",
"output": "exec",
"data": {}
}
]
}
},
"position": [
2774.3846965928947,
5974.2361780617475
]
},
"ced830dd20fb5b02": {
"id": "ced830dd20fb5b02",
"name": "bitbybit.text.format",
"customName": "format",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "Vertical Divsions - {0}",
"values": [
"World"
]
},
"inputs": {
"exec": {
"connections": [
{
"node": "48046af83dbc9299",
"output": "exec",
"data": {}
}
]
},
"values": {
"connections": [
{
"node": "48046af83dbc9299",
"output": "list",
"data": {}
}
]
}
},
"position": [
2794.9763891153702,
6450.397669292677
]
},
"af2cb4893a5bc1cb": {
"id": "af2cb4893a5bc1cb",
"name": "bitbybit.babylon.gui.textBlock.setText",
"customName": "set text",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": ""
},
"inputs": {
"text": {
"connections": [
{
"node": "46f99a9e9cfc9152",
"output": "result",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "46f99a9e9cfc9152",
"output": "exec",
"data": {}
}
]
},
"textBlock": {
"connections": [
{
"node": "f80263a3d6977ea4",
"output": "result",
"data": {}
}
]
}
},
"position": [
3408.9286383465733,
6175.853417797766
]
},
"bb5fa4b16d910cb5": {
"id": "bb5fa4b16d910cb5",
"name": "bitbybit.babylon.gui.textBlock.setText",
"customName": "set text",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": ""
},
"inputs": {
"textBlock": {
"connections": [
{
"node": "a3006cf7f5041ef6",
"output": "result",
"data": {}
}
]
},
"text": {
"connections": [
{
"node": "ced830dd20fb5b02",
"output": "result",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "ced830dd20fb5b02",
"output": "exec",
"data": {}
}
]
}
},
"position": [
3443.5303027369487,
6538.552534619226
]
},
"8ecfa2d91d973882": {
"id": "8ecfa2d91d973882",
"name": "bitbybit.babylon.gui.control.createControlObservableSelector",
"customName": "control observable selector",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"selector": "onPointerUpObservable"
},
"inputs": {},
"position": [
112.53197228874697,
7216.911800887681
]
},
"8478c18af95701d2": {
"id": "8478c18af95701d2",
"name": "bitbybit.flow.babylon.observableListener",
"customName": "babylon observable listener",
"data": {},
"inputs": {
"observableSelector": {
"connections": [
{
"node": "8ecfa2d91d973882",
"output": "result",
"data": {}
}
]
},
"object": {
"connections": [
{
"node": "dda72ba4bc855075",
"output": "result",
"data": {}
}
]
}
},
"position": [
666.0061734678349,
7042.204203322666
]
},
"fa5a486b0621317a": {
"id": "fa5a486b0621317a",
"name": "bitbybit.flow.babylon.observableListener",
"customName": "babylon observable listener",
"data": {},
"inputs": {
"observableSelector": {
"connections": [
{
"node": "8ecfa2d91d973882",
"output": "result",
"data": {}
}
]
},
"object": {
"connections": [
{
"node": "eb164cb9f2c3d0b2",
"output": "result",
"data": {}
}
]
}
},
"position": [
667.4427756519425,
6826.609623951564
]
},
"7299a501c8e860c5": {
"id": "7299a501c8e860c5",
"name": "bitbybit.lists.passThrough",
"customName": "pass through",
"data": {},
"inputs": {
"exec": {
"connections": [
{
"node": "fa5a486b0621317a",
"output": "exec",
"data": {}
},
{
"node": "8478c18af95701d2",
"output": "exec",
"data": {}
}
]
}
},
"position": [
6778.4019145441225,
6945.999036012015
]
},
"68fc3da5a920f715": {
"id": "68fc3da5a920f715",
"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": "2c23a73974610198",
"output": "result",
"data": {}
}
]
},
"lookAt": {
"connections": [
{
"node": "4b908f56b3ed505c",
"output": "result",
"data": {}
}
]
}
},
"position": [
2457.6836534900826,
-2687.8751308577216
]
},
"2c23a73974610198": {
"id": "2c23a73974610198",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 30,
"y": 25,
"z": 0
},
"inputs": {},
"position": [
2028.1960653764377,
-2763.197379436671
]
},
"4b908f56b3ed505c": {
"id": "4b908f56b3ed505c",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector xyz",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 0,
"y": 4,
"z": 0
},
"inputs": {},
"position": [
2033.62438677469,
-2317.355175655833
]
}
}
}