{
"id": "rete-v2-json",
"nodes": {
"90420c7b2708e354": {
"id": "90420c7b2708e354",
"name": "bitbybit.code.jsonEditor",
"customName": "json editor",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": true
},
"options": {
"width": 481,
"height": 979
},
"code": {
"code": "[\n [\n [\n -10,\n 0,\n -10\n ],\n [\n 0,\n 3,\n -10\n ],\n [\n 10,\n -1,\n -10\n ],\n [\n 20,\n 2,\n -10\n ]\n ],\n [\n [\n -10,\n -5,\n 0\n ],\n [\n 0,\n -3,\n 0\n ],\n [\n 10,\n 1,\n 0\n ],\n [\n 20,\n -2,\n 0\n ]\n ],\n [\n [\n -10,\n 0,\n 10\n ],\n [\n 0,\n 3,\n 10\n ],\n [\n 10,\n -1,\n 10\n ],\n [\n 20,\n 2,\n 10\n ]\n ]\n]"
}
},
"inputs": {},
"position": [
-168.59622778301753,
463.834825149606
]
},
"85a6aa767c738114": {
"id": "85a6aa767c738114",
"name": "bitbybit.occt.shapes.wire.interpolatePoints",
"customName": "interpolate",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"periodic": false,
"tolerance": 1e-7
},
"inputs": {
"points": {
"connections": [
{
"node": "a019b575ae629d99",
"output": "result",
"data": {}
}
]
}
},
"position": [
899.479532427647,
426.6107277606166
]
},
"a019b575ae629d99": {
"id": "a019b575ae629d99",
"name": "bitbybit.lists.flatten",
"customName": "flatten",
"data": {
"nrLevels": 1
},
"inputs": {
"list": {
"connections": [
{
"node": "90420c7b2708e354",
"output": "result",
"data": {}
}
]
}
},
"position": [
485.377531321797,
469.0267657841954
]
},
"3454913e9c9deca0": {
"id": "3454913e9c9deca0",
"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": "3d9116f706be759d",
"output": "result",
"data": {}
}
]
}
},
"position": [
2030.9733751422564,
486.80867739219275
]
},
"264f5d585196588a": {
"id": "264f5d585196588a",
"name": "bitbybit.lists.createList",
"customName": "list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "85a6aa767c738114",
"output": "result",
"data": {}
}
]
}
},
"position": [
1325.6450615933732,
492.5534098813184
]
},
"3d9116f706be759d": {
"id": "3d9116f706be759d",
"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": "264f5d585196588a",
"output": "list",
"data": {}
}
]
}
},
"position": [
1672.5620987684135,
491.48464808777317
]
},
"6230bb8073ecece8": {
"id": "6230bb8073ecece8",
"name": "bitbybit.babylon.scene.backgroundColour",
"customName": "colour",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"colour": "#000000"
},
"inputs": {},
"position": [
-382.1337090718954,
930.1702381693239
]
},
"0efa01bdf85d2541": {
"id": "0efa01bdf85d2541",
"name": "bitbybit.babylon.scene.fog",
"customName": "fog",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"mode": "none",
"color": "#000000",
"density": 0.1,
"start": 10,
"end": 100
},
"inputs": {},
"position": [
-43.14618549071017,
932.7910439763061
]
},
"bf4747d06a4f5294": {
"id": "bf4747d06a4f5294",
"name": "bitbybit.code.typeScriptEditor",
"customName": "typescript editor",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"options": {
"width": 956,
"height": 772
},
"code": {
"code": "// DO NOT REMOVE THIS FUNCTION\nconst startbf4747d06a4f5294 = async (inputs: any, index: number) => {\n // Register the vertex shader\n\n // Define the vertex shader\n BABYLON.Effect.ShadersStore[\"customVertexShader\"] = `\nprecision highp float;\n\nuniform mat4 worldViewProjection;\nattribute vec3 position;\nattribute vec2 uv;\nvarying vec2 vUV;\n\nvoid main() {\n gl_Position = worldViewProjection * vec4(position, 1.0);\n vUV = uv;\n}\n`;\n\n // Define the fragment shader\n BABYLON.Effect.ShadersStore[\"customFragmentShader\"] = `\nprecision highp float;\n\nvarying vec2 vUV;\nuniform float time;\nuniform vec2 mouseUV;\n\n// Simple hash function for pseudo-random values\nfloat hash(float n) { return fract(sin(n) * 43758.5453); }\n\nvoid main() {\n // Color palette: blue, purple, pink\n vec3 colors[3];\n colors[0] = vec3(0.0, 0.0, 1.0); // Blue\n colors[1] = vec3(0.5, 0.0, 0.5); // Purple\n colors[2] = vec3(1.0, 0.4, 0.7); // Pink\n\n // Particle size parameters\n float sigma_core = 0.0005;\n float sigma_glow = 0.005;\n\n vec3 color = vec3(0.0);\n\n // Attraction strength to mouse\n float attraction_strength = 0.2;\n\n // Loop over 100 particles\n for(int i = 0; i < 100; i++) {\n int group = i / 33;\n int colorIndex = group;\n float fi = float(i);\n\n // Initial position\n vec2 initial_center = vec2(hash(fi * 1.2345), hash(fi * 2.3456 + 1.0));\n\n // Drift speed\n float drift_speed = 0.01 + 0.04 * hash(fi * 3.4567 + 2.0);\n\n // Natural drift direction\n float drift_angle = hash(float(group) * 4.5678 + 3.0) * 6.28318;\n vec2 natural_drift = vec2(cos(drift_angle), sin(drift_angle));\n\n // Direction to mouse\n vec2 toMouse = mouseUV - initial_center;\n vec2 attraction_dir = normalize(toMouse);\n\n // Blend directions\n vec2 blended_dir = mix(natural_drift, attraction_dir, attraction_strength);\n\n // Circular motion\n float radius = 0.02 + 0.03 * hash(fi * 5.6789 + 4.0);\n float speed = 1.0 + 2.0 * hash(fi * 6.7890 + 5.0);\n float phase = hash(fi * 7.8901 + 6.0) * 6.28318;\n\n // Shine effect\n float shine_speed = 2.0 + 2.0 * hash(fi * 8.9012 + 7.0);\n float shine_phase = hash(fi * 9.0123 + 8.0) * 6.28318;\n\n // Compute position\n vec2 drift = drift_speed * time * blended_dir;\n vec2 circular = radius * vec2(cos(speed * time + phase), sin(speed * time + phase));\n vec2 p = fract(initial_center + drift + circular);\n\n // Toroidal distance\n vec2 dxy = min(abs(vUV - p), 1.0 - abs(vUV - p));\n float d = length(dxy);\n\n // Core and glow\n float core_intensity = exp(-d * d / sigma_core);\n float glow_intensity = exp(-d * d / sigma_glow);\n\n // Shine factor\n float shine_factor = 0.5 + 0.5 * sin(time * shine_speed + shine_phase);\n\n // Add to color\n color += vec3(core_intensity) + colors[colorIndex] * glow_intensity * shine_factor;\n }\n\n // Increase contrast\n color = pow(color, vec3(1.5));\n gl_FragColor = vec4(color, 1.0);\n}\n`;\n\n\n\n // Function to create and animate the material\n function createNeonParticleMaterial(scene) {\n // Create the shader material\n const neonParticleMaterial = new BABYLON.ShaderMaterial(\"particleShader\", scene, {\n vertex: \"custom\",\n fragment: \"custom\"\n }, {\n attributes: [\"position\", \"uv\"],\n uniforms: [\"worldViewProjection\", \"time\", \"mouseUV\"]\n });\n\n // Initialize mouseUV\n let mouseUV = new BABYLON.Vector2(0.5, 0.5); // Start at center\n neonParticleMaterial.setVector2(\"mouseUV\", mouseUV);\n\n // Update mouseUV on pointer move\n\n // Capture mouse coordinates in UV space\n scene.onPointerMove = (evt) => {\n // Get the picking information based on the mouse position\n const pickResult = scene.pick(scene.pointerX, scene.pointerY);\n console.log(pickResult);\n\n // Check if the pick hit the plane\n if (pickResult.hit && pickResult.pickedMesh) {\n // Get the UV coordinates where the mouse intersects the plane\n const uv = pickResult.getTextureCoordinates();\n if (uv) {\n console.log(uv);\n // Update mouseUV with the new coordinates\n mouseUV.set(uv.x, uv.y);\n // Pass the updated mouseUV to the shader\n neonParticleMaterial.setVector2(\"mouseUV\", mouseUV);\n }\n }\n };\n\n\n // Animate the time uniform\n // Animate the time uniform\n let time = 0;\n scene.registerBeforeRender(() => {\n time += scene.getEngine().getDeltaTime() * 0.001; // Time in seconds\n neonParticleMaterial.setFloat(\"time\", time);\n });\n\n neonParticleMaterial.backFaceCulling = false;\n neonParticleMaterial.zOffset = 2;\n return neonParticleMaterial;\n }\n\n const scene = bitbybit.babylon.scene.getScene();\n return createNeonParticleMaterial(scene);\n}"
}
},
"inputs": {},
"position": [
-175.84871422831833,
-618.4326077190469
]
},
"a05d38efc123153b": {
"id": "a05d38efc123153b",
"name": "bitbybit.draw.drawAnyAsync",
"customName": "draw async",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"options": {
"connections": [
{
"node": "419a06793f6b3a58",
"output": "result",
"data": {}
}
]
},
"entity": {
"connections": [
{
"node": "51584f570070e8ed",
"output": "result",
"data": {}
}
]
}
},
"position": [
2735.857645325635,
-2.9969575080223194
]
},
"419a06793f6b3a58": {
"id": "419a06793f6b3a58",
"name": "bitbybit.draw.optionsOcctShapeMaterial",
"customName": "occt shape with material",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"precision": 0.03,
"drawEdges": true,
"edgeColour": "#0062ff",
"edgeWidth": 10
},
"inputs": {
"faceMaterial": {
"connections": [
{
"node": "bf4747d06a4f5294",
"output": "result",
"data": {}
}
]
}
},
"position": [
1352.4154312672408,
26.603116797301624
]
},
"57f05cfad06dd229": {
"id": "57f05cfad06dd229",
"name": "bitbybit.babylon.mesh.setPickable",
"customName": "check collisions",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"pickable": true,
"includeChildren": true
},
"inputs": {
"babylonMesh": {
"connections": [
{
"node": "a05d38efc123153b",
"output": "result",
"data": {}
}
]
}
},
"position": [
3092.2480324361577,
1.474209397580978
]
},
"13737cc78708ef1c": {
"id": "13737cc78708ef1c",
"name": "bitbybit.occt.transforms.translate",
"customName": "translate",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"translation": [
0,
0,
0
]
},
"inputs": {
"shape": {
"connections": [
{
"node": "3454913e9c9deca0",
"output": "result",
"data": {}
}
]
},
"translation": {
"connections": [
{
"node": "647c9a07518c0a21",
"output": "result",
"data": {}
}
]
}
},
"position": [
2483.0269314764146,
891.2102757656745
]
},
"647c9a07518c0a21": {
"id": "647c9a07518c0a21",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector XYZ",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 0,
"y": 0,
"z": 0
},
"inputs": {
"y": {
"connections": [
{
"node": "b946a8bd4f6a1f83",
"output": "result",
"data": {}
}
]
}
},
"position": [
2090.17941608165,
1115.556576412331
]
},
"05c91759cff1d1b6": {
"id": "05c91759cff1d1b6",
"name": "bitbybit.vector.span",
"customName": "span",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"step": 10,
"min": -20,
"max": 20
},
"inputs": {},
"position": [
1390.8275231592734,
1098.2064095082899
]
},
"b946a8bd4f6a1f83": {
"id": "b946a8bd4f6a1f83",
"name": "bitbybit.lists.flatten",
"customName": "flatten",
"data": {
"nrLevels": 1
},
"inputs": {
"list": {
"connections": [
{
"node": "05c91759cff1d1b6",
"output": "result",
"data": {}
}
]
}
},
"position": [
1720.829295429148,
1183.6790400204964
]
},
"2a5d3f09762e8a61": {
"id": "2a5d3f09762e8a61",
"name": "bitbybit.lists.createList",
"customName": "list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "13737cc78708ef1c",
"output": "result",
"data": {}
}
]
}
},
"position": [
2885.06985281769,
966.1592204545946
]
},
"51584f570070e8ed": {
"id": "51584f570070e8ed",
"name": "bitbybit.occt.shapes.compound.makeCompound",
"customName": "make",
"async": true,
"drawable": true,
"data": {
"genericNodeData": {
"hide": true,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"shapes": {
"connections": [
{
"node": "2a5d3f09762e8a61",
"output": "list",
"data": {}
}
]
}
},
"position": [
3308.2788423527236,
968.5122778329576
]
},
"00dc6fbbf2fb7470": {
"id": "00dc6fbbf2fb7470",
"name": "bitbybit.lists.createList",
"customName": "list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "4da84a74c20f1d3b",
"output": "result",
"data": {}
}
]
}
},
"position": [
1729.3343016379376,
2211.5388279541035
]
},
"500c521bbeb1ebd9": {
"id": "500c521bbeb1ebd9",
"name": "bitbybit.babylon.gui.container.addControls",
"customName": "add controls to container",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"clearControlsFirst": true
},
"inputs": {
"container": {
"connections": [
{
"node": "5ded818aad71e8b6",
"output": "result",
"data": {}
}
]
},
"controls": {
"connections": [
{
"node": "00dc6fbbf2fb7470",
"output": "list",
"data": {}
}
]
}
},
"position": [
2222.735792343919,
1983.0095955497093
]
},
"5ded818aad71e8b6": {
"id": "5ded818aad71e8b6",
"name": "bitbybit.babylon.gui.advancedDynamicTexture.createFullScreenUI",
"customName": "create full screen ui",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "fullscreen2",
"foreground": true,
"adaptiveScaling": false
},
"inputs": {},
"position": [
1348.557009288635,
1820.7206662581978
]
},
"4da84a74c20f1d3b": {
"id": "4da84a74c20f1d3b",
"name": "bitbybit.babylon.gui.stackPanel.createStackPanel",
"customName": "create stack panel",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "stackPanel3",
"isVertical": true,
"spacing": 25,
"color": "#00000000",
"background": "#00000055"
},
"inputs": {},
"position": [
1369.1826804914792,
2220.7027647874406
]
},
"adef8cc02e988863": {
"id": "adef8cc02e988863",
"name": "bitbybit.babylon.gui.container.addControls",
"customName": "add controls to container",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"clearControlsFirst": true
},
"inputs": {
"container": {
"connections": [
{
"node": "4da84a74c20f1d3b",
"output": "result",
"data": {}
}
]
},
"controls": {
"connections": [
{
"node": "065bc1a2942ee05a",
"output": "list",
"data": {}
}
]
}
},
"position": [
2185.646734567761,
2487.4275639091575
]
},
"82be1fdd06685b82": {
"id": "82be1fdd06685b82",
"name": "bitbybit.babylon.gui.image.createImage",
"customName": "create image",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "imageName",
"url": "assets/logo-gold-small.png",
"color": "black"
},
"inputs": {},
"position": [
1333.3572730452124,
2804.2289999525324
]
},
"065bc1a2942ee05a": {
"id": "065bc1a2942ee05a",
"name": "bitbybit.lists.createList",
"customName": "list",
"data": {},
"inputs": {
"listElements": {
"connections": [
{
"node": "82be1fdd06685b82",
"output": "result",
"data": {}
},
{
"node": "64bb3860d1838e39",
"output": "result",
"data": {}
}
]
}
},
"position": [
1789.346762845516,
2882.630901176175
]
},
"e2abb1338cbc6aae": {
"id": "e2abb1338cbc6aae",
"name": "bitbybit.babylon.gui.control.changeControlAlignment",
"customName": "change alignment",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"horizontalAlignment": "center",
"verticalAlignment": "bottom"
},
"inputs": {
"control": {
"connections": [
{
"node": "4da84a74c20f1d3b",
"output": "result",
"data": {}
}
]
}
},
"position": [
1768.2956427504973,
2462.388609441138
]
},
"901649135d919168": {
"id": "901649135d919168",
"name": "bitbybit.babylon.gui.control.changeControlPadding",
"customName": "change padding",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"paddingTop": {
"connections": [
{
"node": "63959fb33122bc3b",
"output": "result",
"data": {}
}
]
},
"control": {
"connections": [
{
"node": "82be1fdd06685b82",
"output": "result",
"data": {}
}
]
},
"paddingBottom": {
"connections": [
{
"node": "63959fb33122bc3b",
"output": "result",
"data": {}
}
]
},
"paddingLeft": {
"connections": [
{
"node": "63959fb33122bc3b",
"output": "result",
"data": {}
}
]
},
"paddingRight": {
"connections": [
{
"node": "63959fb33122bc3b",
"output": "result",
"data": {}
}
]
}
},
"position": [
1805.4910883377438,
3089.6710533539535
]
},
"63959fb33122bc3b": {
"id": "63959fb33122bc3b",
"name": "bitbybit.text.create",
"customName": "text",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "15px"
},
"inputs": {},
"position": [
1407.4873506953568,
3291.4818519196374
]
},
"63ec135a694822ec": {
"id": "63ec135a694822ec",
"name": "bitbybit.flow.babylon.observableListener",
"customName": "babylon observable listener",
"data": {},
"inputs": {
"observableSelector": {
"connections": [
{
"node": "ba0b2040d4172b37",
"output": "result",
"data": {}
}
]
},
"object": {
"connections": [
{
"node": "64bb3860d1838e39",
"output": "result",
"data": {}
}
]
}
},
"position": [
2524.420635494342,
3687.7845282552557
]
},
"64bb3860d1838e39": {
"id": "64bb3860d1838e39",
"name": "bitbybit.babylon.gui.button.createSimpleButton",
"customName": "create simple button",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"name": "buttonName",
"label": "GO TO BITBYBIT.DEV",
"color": "black",
"background": "#f0cebb",
"fontSize": 32
},
"inputs": {
"width": {
"connections": [
{
"node": "b19731c195f926f9",
"output": "result",
"data": {}
}
]
},
"height": {
"connections": [
{
"node": "37f228a5ab483d19",
"output": "result",
"data": {}
}
]
}
},
"position": [
1232.6763904724573,
3645.219224469682
]
},
"b19731c195f926f9": {
"id": "b19731c195f926f9",
"name": "bitbybit.text.create",
"customName": "text",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "400px"
},
"inputs": {},
"position": [
779.9223571294394,
3677.0159778306647
]
},
"37f228a5ab483d19": {
"id": "37f228a5ab483d19",
"name": "bitbybit.text.create",
"customName": "text",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"text": "100px"
},
"inputs": {},
"position": [
778.4897824146811,
3964.6408435342673
]
},
"edd5740fd27f3368": {
"id": "edd5740fd27f3368",
"name": "bitbybit.babylon.gui.control.changeControlPadding",
"customName": "change padding",
"async": false,
"drawable": false,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
}
},
"inputs": {
"paddingBottom": {
"connections": [
{
"node": "63959fb33122bc3b",
"output": "result",
"data": {}
}
]
},
"control": {
"connections": [
{
"node": "64bb3860d1838e39",
"output": "result",
"data": {}
}
]
}
},
"position": [
1702.02182289667,
3951.8469704086137
]
},
"ba0b2040d4172b37": {
"id": "ba0b2040d4172b37",
"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": "onPointerClickObservable"
},
"inputs": {},
"position": [
2129.963204521189,
3883.547189869036
]
},
"cff2f31972ccc823": {
"id": "cff2f31972ccc823",
"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 startcff2f31972ccc823 = async (inputs: any, index: number) => {\n // ADD YOUR CODE HERE\n if (inputs === true) {\n window.open(\"https://bitbybit.dev\", '_blank').focus();\n }\n return inputs;\n}"
}
},
"inputs": {
"inputs": {
"connections": [
{
"node": "d9b6099aef6d2d62",
"output": "isA",
"data": {}
}
]
},
"exec": {
"connections": [
{
"node": "d9b6099aef6d2d62",
"output": "execA",
"data": {}
}
]
}
},
"position": [
3748.6816606629163,
3659.610183252874
]
},
"d9b6099aef6d2d62": {
"id": "d9b6099aef6d2d62",
"name": "bitbybit.flow.logic.flipFlop",
"customName": "flip flop",
"data": {},
"inputs": {
"exec": {
"connections": [
{
"node": "63ec135a694822ec",
"output": "exec",
"data": {}
},
{
"node": "1eb6d7ba4b8c625c",
"output": "exec",
"data": {}
}
]
}
},
"position": [
3251.5785523210093,
3722.867619891852
]
},
"1eb6d7ba4b8c625c": {
"id": "1eb6d7ba4b8c625c",
"name": "bitbybit.flow.time.delay",
"customName": "delay",
"data": {
"timeout": 0
},
"inputs": {
"exec": {
"connections": [
{
"node": "63ec135a694822ec",
"output": "exec",
"data": {}
}
]
}
},
"position": [
2863.8283044988843,
3946.7164814187163
]
},
"3c38537009bb36bc": {
"id": "3c38537009bb36bc",
"name": "bitbybit.babylon.scene.adjustActiveArcRotateCamera",
"customName": "adjust active 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": "1f9a304af2e2e0e3",
"output": "result",
"data": {}
}
]
}
},
"position": [
664.4730523201595,
4379.647431225389
]
},
"1f9a304af2e2e0e3": {
"id": "1f9a304af2e2e0e3",
"name": "bitbybit.vector.vectorXYZ",
"customName": "vector XYZ",
"async": false,
"drawable": true,
"data": {
"genericNodeData": {
"hide": false,
"oneOnOne": false,
"flatten": 0,
"forceExecution": false
},
"x": 50,
"y": 50,
"z": 50
},
"inputs": {},
"position": [
292.8838605295909,
4341.994920719542
]
}
}
}