{"version":3,"file":"src_engine_examples_examples_sop_PerspectiveCamera_lookAtClickedObject_ts.1886e4fabfb18d485d9f.js","mappings":"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","sources":["webpack:///../src/engine/examples/examples/sop/PerspectiveCamera_lookAtClickedObject.ts"],"sourcesContent":["import type {CameraControlsSopNode} from './../../../../../@polygonjs/polygonjs/src/engine/nodes/sop/CameraControls';\nimport type {GeoObjNode} from '../../../../../@polygonjs/polygonjs/src/engine/nodes/obj/Geo';\nimport type {RootManagerNode} from '../../../../../@polygonjs/polygonjs/src/engine/nodes/manager/Root';\nimport type {ExampleData, DataCallbackOptions} from '../../Common';\nimport type {ReturnedNodeDataDict} from '../../ExampleUtils';\nimport type {ActorSopNode} from '../../../../../@polygonjs/polygonjs/src/engine/nodes/sop/Actor';\nimport type {SubnetSopNode} from '../../../../../@polygonjs/polygonjs/src/engine/nodes/sop/Subnet';\nimport type {MeshStandardBuilderMatNode} from '../../../../../@polygonjs/polygonjs/src/engine/nodes/mat/MeshStandardBuilder';\nimport {ParamType} from '../../../../../@polygonjs/polygonjs/src/engine/poly/ParamType';\nimport type {MaterialsNetworkSopNode} from '../../../../../@polygonjs/polygonjs/src/engine/nodes/sop/MaterialsNetwork';\nimport {AttribClass} from '../../../../../@polygonjs/polygonjs/src/core/geometry/Constant';\n\nexport function createData(options: DataCallbackOptions): ExampleData {\n\tconst {scene} = options;\n\tconst root = scene.root();\n\tconst scene_root_nodes: ReturnedNodeDataDict = {};\n\tfunction create_objects(parentNode: RootManagerNode) {\n\t\tvar objects = parentNode.createNode('geo');\n\t\tobjects.setName('objects');\n\t\tconst objects_nodes: ReturnedNodeDataDict = {};\n\t\tfunction create_BVH1(objects: GeoObjNode) {\n\t\t\tvar BVH1 = objects.createNode('BVH');\n\t\t\tBVH1.setName('BVH1');\n\t\t\tconst BVH1_nodes: ReturnedNodeDataDict = {};\n\t\t\tBVH1.uiData.setComment(\n\t\t\t\t\"this adds a BVH to the object, which is to optimize the intersection detection with the cursor. This isn't necessary in this scene, as the objects are pretty light, but it would be if the geometries had more polygons\"\n\t\t\t);\n\t\t\tBVH1.uiData.setPosition(-500, 1150);\n\t\t\tBVH1.params.postCreateSpareParams();\n\t\t\tBVH1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: BVH1, children: BVH1_nodes};\n\t\t}\n\t\tfunction create_actor_appliedToIndividualObjects(objects: GeoObjNode) {\n\t\t\tvar actor_appliedToIndividualObjects = objects.createNode('actor');\n\t\t\tactor_appliedToIndividualObjects.setName('actor_appliedToIndividualObjects');\n\t\t\tconst actor_appliedToIndividualObjects_nodes: ReturnedNodeDataDict = {};\n\t\t\tfunction create_getObject1(actor_appliedToIndividualObjects: ActorSopNode) {\n\t\t\t\tvar getObject1 = actor_appliedToIndividualObjects.createNode('getObject');\n\t\t\t\tgetObject1.setName('getObject1');\n\t\t\t\tconst getObject1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tgetObject1.uiData.setPosition(-50, 550);\n\t\t\t\tgetObject1.p.getCurrentObject.set(false);\n\t\t\t\tgetObject1.p.mask.set('*perspectiveCamera_MAIN');\n\t\t\t\tgetObject1.params.postCreateSpareParams();\n\t\t\t\tgetObject1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: getObject1, children: getObject1_nodes};\n\t\t\t}\n\t\t\tfunction create_getObjectProperty1(actor_appliedToIndividualObjects: ActorSopNode) {\n\t\t\t\tvar getObjectProperty1 = actor_appliedToIndividualObjects.createNode('getObjectProperty');\n\t\t\t\tgetObjectProperty1.setName('getObjectProperty1');\n\t\t\t\tconst getObjectProperty1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tgetObjectProperty1.uiData.setPosition(100, 700);\n\t\t\t\tgetObjectProperty1.params.postCreateSpareParams();\n\t\t\t\tgetObjectProperty1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: getObjectProperty1, children: getObjectProperty1_nodes};\n\t\t\t}\n\t\t\tfunction create_onObjectClick1(actor_appliedToIndividualObjects: ActorSopNode) {\n\t\t\t\tvar onObjectClick1 = actor_appliedToIndividualObjects.createNode('onObjectClick');\n\t\t\t\tonObjectClick1.setName('onObjectClick1');\n\t\t\t\tconst onObjectClick1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tonObjectClick1.uiData.setComment(\n\t\t\t\t\t'this sends a trigger when an object is clicked. The trigger is then received by [setObjectAttribute1](../setObjectAttribute1), which, unlike [setObjectAttribute2](../setObjectAttribute2), will not set an attribute on the current object, but instead on the camera. This happens because we override the `Object3D` input, with the node [getObject1](../getObject1), which fetches the camera by its name, using a mask `*perspectiveCamera_MAIN`'\n\t\t\t\t);\n\t\t\t\tonObjectClick1.uiData.setPosition(-50, 50);\n\t\t\t\tonObjectClick1.params.postCreateSpareParams();\n\t\t\t\tonObjectClick1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: onObjectClick1, children: onObjectClick1_nodes};\n\t\t\t}\n\t\t\tfunction create_onObjectHover1(actor_appliedToIndividualObjects: ActorSopNode) {\n\t\t\t\tvar onObjectHover1 = actor_appliedToIndividualObjects.createNode('onObjectHover');\n\t\t\t\tonObjectHover1.setName('onObjectHover1');\n\t\t\t\tconst onObjectHover1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tonObjectHover1.uiData.setComment(\n\t\t\t\t\t'this node sends a trigger whenever an object is hovered, or when the cursor does not hover it anymore. When that trigger is sent, it is received by [setObjectAttribute2](../setObjectAttribute2), which then sets the `hovered` attribute accordingly. This is then used by [actor_objectsParent](../../actor_objectsParent)'\n\t\t\t\t);\n\t\t\t\tonObjectHover1.uiData.setPosition(-50, -350);\n\t\t\t\tonObjectHover1.params.postCreateSpareParams();\n\t\t\t\tonObjectHover1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: onObjectHover1, children: onObjectHover1_nodes};\n\t\t\t}\n\t\t\tfunction create_setObjectAttribute1(actor_appliedToIndividualObjects: ActorSopNode) {\n\t\t\t\tvar setObjectAttribute1 = actor_appliedToIndividualObjects.createNode('setObjectAttribute');\n\t\t\t\tsetObjectAttribute1.setName('setObjectAttribute1');\n\t\t\t\tconst setObjectAttribute1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tsetObjectAttribute1.uiData.setComment(\n\t\t\t\t\t'as this node sets the `lookAtTarget` attribute on the camera, it needs a way to know what value it should set it to.\\n\\nIt takes that value from its `value` input, which comes from the node [getObjectProperty1](../getObjectProperty1), which returns the value of t he clicked object.'\n\t\t\t\t);\n\t\t\t\tsetObjectAttribute1.uiData.setPosition(550, 150);\n\t\t\t\tsetObjectAttribute1.setAttribName('lookAtTarget');\n\t\t\t\tsetObjectAttribute1.p.type.set(6);\n\t\t\t\tsetObjectAttribute1.addParam(ParamType.STRING, 'attribName', 'lookAtTarget', {\n\t\t\t\t\tspare: true,\n\t\t\t\t\teditable: true,\n\t\t\t\t});\n\t\t\t\tsetObjectAttribute1.addParam(ParamType.FLOAT, 'lerp', 1, {spare: true, editable: true});\n\t\t\t\tsetObjectAttribute1.addParam(ParamType.VECTOR3, 'val', [0, 0, 0], {spare: true, editable: false});\n\t\t\t\tsetObjectAttribute1.params.postCreateSpareParams();\n\t\t\t\tsetObjectAttribute1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: setObjectAttribute1, children: setObjectAttribute1_nodes};\n\t\t\t}\n\t\t\tfunction create_setObjectAttribute2(actor_appliedToIndividualObjects: ActorSopNode) {\n\t\t\t\tvar setObjectAttribute2 = actor_appliedToIndividualObjects.createNode('setObjectAttribute');\n\t\t\t\tsetObjectAttribute2.setName('setObjectAttribute2');\n\t\t\t\tconst setObjectAttribute2_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tsetObjectAttribute2.uiData.setPosition(350, -350);\n\t\t\t\tsetObjectAttribute2.setAttribName('hovered');\n\t\t\t\tsetObjectAttribute2.p.type.set(0);\n\t\t\t\tsetObjectAttribute2.addParam(ParamType.STRING, 'attribName', 'hovered', {\n\t\t\t\t\tspare: true,\n\t\t\t\t\teditable: true,\n\t\t\t\t});\n\t\t\t\tsetObjectAttribute2.addParam(ParamType.FLOAT, 'lerp', 1, {spare: true, editable: true});\n\t\t\t\tsetObjectAttribute2.addParam(ParamType.BOOLEAN, 'val', false, {spare: true, editable: false});\n\t\t\t\tsetObjectAttribute2.params.postCreateSpareParams();\n\t\t\t\tsetObjectAttribute2.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: setObjectAttribute2, children: setObjectAttribute2_nodes};\n\t\t\t}\n\t\t\tactor_appliedToIndividualObjects_nodes['getObject1'] = create_getObject1(actor_appliedToIndividualObjects);\n\t\t\tactor_appliedToIndividualObjects_nodes['getObjectProperty1'] = create_getObjectProperty1(\n\t\t\t\tactor_appliedToIndividualObjects\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects_nodes['onObjectClick1'] = create_onObjectClick1(\n\t\t\t\tactor_appliedToIndividualObjects\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects_nodes['onObjectHover1'] = create_onObjectHover1(\n\t\t\t\tactor_appliedToIndividualObjects\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects_nodes['setObjectAttribute1'] = create_setObjectAttribute1(\n\t\t\t\tactor_appliedToIndividualObjects\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects_nodes['setObjectAttribute2'] = create_setObjectAttribute2(\n\t\t\t\tactor_appliedToIndividualObjects\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects_nodes['setObjectAttribute1'].node.setInput(\n\t\t\t\t'trigger',\n\t\t\t\tactor_appliedToIndividualObjects_nodes['onObjectClick1'].node,\n\t\t\t\t'trigger',\n\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects_nodes['setObjectAttribute1'].node.setInput(\n\t\t\t\t'Object3D',\n\t\t\t\tactor_appliedToIndividualObjects_nodes['getObject1'].node,\n\t\t\t\t'Object3D',\n\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects_nodes['setObjectAttribute1'].node.setInput(\n\t\t\t\t'val',\n\t\t\t\tactor_appliedToIndividualObjects_nodes['getObjectProperty1'].node,\n\t\t\t\t'position',\n\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects_nodes['setObjectAttribute2'].node.setInput(\n\t\t\t\t'trigger',\n\t\t\t\tactor_appliedToIndividualObjects_nodes['onObjectHover1'].node,\n\t\t\t\t'trigger',\n\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects_nodes['setObjectAttribute2'].node.setInput(\n\t\t\t\t'val',\n\t\t\t\tactor_appliedToIndividualObjects_nodes['onObjectHover1'].node,\n\t\t\t\t'hovered',\n\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t);\n\t\t\tif (actor_appliedToIndividualObjects.childrenController) {\n\t\t\t\tactor_appliedToIndividualObjects.childrenController.selection.set([\n\t\t\t\t\tactor_appliedToIndividualObjects_nodes['getObjectProperty1'].node,\n\t\t\t\t]);\n\t\t\t}\n\t\t\tactor_appliedToIndividualObjects.uiData.setComment(\n\t\t\t\t'Here we have 2 actor nodes, [this one](.) and [actor_objectsParent](../actor_objectsParent).\\n\\nThis one serves 2 purposes:\\n\\n- setting a `hovered` attribute on an object which is hovered by the cursor. This is then used by the other actor node to change the viewer CSS, in order to change the cursor to a pointer, so that we understand that the object is clickable.\\n- setting the camera `lookAtTarget` attribute when clicked, which is what will have the camera look at the object.'\n\t\t\t);\n\t\t\tactor_appliedToIndividualObjects.uiData.setPosition(-500, 1550);\n\t\t\tactor_appliedToIndividualObjects.params.postCreateSpareParams();\n\t\t\tactor_appliedToIndividualObjects.params.runOnSceneLoadHooks();\n\t\t\treturn {node: actor_appliedToIndividualObjects, children: actor_appliedToIndividualObjects_nodes};\n\t\t}\n\t\tfunction create_actor_objectsParent(objects: GeoObjNode) {\n\t\t\tvar actor_objectsParent = objects.createNode('actor');\n\t\t\tactor_objectsParent.setName('actor_objectsParent');\n\t\t\tconst actor_objectsParent_nodes: ReturnedNodeDataDict = {};\n\t\t\tfunction create_onChildAttributeUpdate1(actor_objectsParent: ActorSopNode) {\n\t\t\t\tvar onChildAttributeUpdate1 = actor_objectsParent.createNode('onChildAttributeUpdate');\n\t\t\t\tonChildAttributeUpdate1.setName('onChildAttributeUpdate1');\n\t\t\t\tconst onChildAttributeUpdate1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tonChildAttributeUpdate1.uiData.setComment(\n\t\t\t\t\t'this sends a trigger whenever one of its children `hovered` attribute changes.\\n\\nThis is then received by the [setViewer1](../setViewer1) node, which gets the value from the [or1](../or1) node, which returns `true` if any of its inputs is `true`, or `false` if none is. And its input is an array of the `hovered` attributes of its children.'\n\t\t\t\t);\n\t\t\t\tonChildAttributeUpdate1.uiData.setPosition(-150, 0);\n\t\t\t\tonChildAttributeUpdate1.setAttribName('hovered');\n\t\t\t\tonChildAttributeUpdate1.p.type.set(0);\n\t\t\t\tonChildAttributeUpdate1.addParam(ParamType.STRING, 'attribName', 'hovered', {\n\t\t\t\t\tspare: true,\n\t\t\t\t\teditable: true,\n\t\t\t\t});\n\t\t\t\tonChildAttributeUpdate1.params.postCreateSpareParams();\n\t\t\t\tonChildAttributeUpdate1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: onChildAttributeUpdate1, children: onChildAttributeUpdate1_nodes};\n\t\t\t}\n\t\t\tfunction create_or1(actor_objectsParent: ActorSopNode) {\n\t\t\t\tvar or1 = actor_objectsParent.createNode('or');\n\t\t\t\tor1.setName('or1');\n\t\t\t\tconst or1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tor1.uiData.setPosition(200, 150);\n\t\t\t\tor1.params.postCreateSpareParams();\n\t\t\t\tor1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: or1, children: or1_nodes};\n\t\t\t}\n\t\t\tfunction create_setViewer1(actor_objectsParent: ActorSopNode) {\n\t\t\t\tvar setViewer1 = actor_objectsParent.createNode('setViewer');\n\t\t\t\tsetViewer1.setName('setViewer1');\n\t\t\t\tconst setViewer1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tsetViewer1.uiData.setPosition(400, 0);\n\t\t\t\tsetViewer1.params.postCreateSpareParams();\n\t\t\t\tsetViewer1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: setViewer1, children: setViewer1_nodes};\n\t\t\t}\n\t\t\tactor_objectsParent_nodes['onChildAttributeUpdate1'] = create_onChildAttributeUpdate1(actor_objectsParent);\n\t\t\tactor_objectsParent_nodes['or1'] = create_or1(actor_objectsParent);\n\t\t\tactor_objectsParent_nodes['setViewer1'] = create_setViewer1(actor_objectsParent);\n\t\t\tactor_objectsParent_nodes['or1'].node.setInput(\n\t\t\t\t'boolean0',\n\t\t\t\tactor_objectsParent_nodes['onChildAttributeUpdate1'].node,\n\t\t\t\t'newValues',\n\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t);\n\t\t\tactor_objectsParent_nodes['setViewer1'].node.setInput(\n\t\t\t\t'trigger',\n\t\t\t\tactor_objectsParent_nodes['onChildAttributeUpdate1'].node,\n\t\t\t\t'trigger',\n\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t);\n\t\t\tactor_objectsParent_nodes['setViewer1'].node.setInput('set', actor_objectsParent_nodes['or1'].node, 'or');\n\t\t\tif (actor_objectsParent.childrenController) {\n\t\t\t\tactor_objectsParent.childrenController.selection.set([]);\n\t\t\t}\n\t\t\tactor_objectsParent.uiData.setComment(\n\t\t\t\t\"This actor node adds a behavior to the input object, so that it will look at the `hovered` attribute of its children. If any is `true`, it will change the viewer's CSS, which will then change the cursor to a pointer.\"\n\t\t\t);\n\t\t\tactor_objectsParent.uiData.setPosition(-500, 2400);\n\t\t\tactor_objectsParent.flags.display.set(true);\n\t\t\tactor_objectsParent.params.postCreateSpareParams();\n\t\t\tactor_objectsParent.params.runOnSceneLoadHooks();\n\t\t\treturn {node: actor_objectsParent, children: actor_objectsParent_nodes};\n\t\t}\n\t\tfunction create_capsule1(objects: GeoObjNode) {\n\t\t\tvar capsule1 = objects.createNode('capsule');\n\t\t\tcapsule1.setName('capsule1');\n\t\t\tconst capsule1_nodes: ReturnedNodeDataDict = {};\n\t\t\tcapsule1.uiData.setPosition(-950, 0);\n\t\t\tcapsule1.params.postCreateSpareParams();\n\t\t\tcapsule1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: capsule1, children: capsule1_nodes};\n\t\t}\n\t\tfunction create_cone1(objects: GeoObjNode) {\n\t\t\tvar cone1 = objects.createNode('cone');\n\t\t\tcone1.setName('cone1');\n\t\t\tconst cone1_nodes: ReturnedNodeDataDict = {};\n\t\t\tcone1.uiData.setPosition(-700, 0);\n\t\t\tcone1.p.radius.set(0.81);\n\t\t\tcone1.p.segmentsRadial.set(26);\n\t\t\tcone1.p.direction.set([0, 1, 0]);\n\t\t\tcone1.params.postCreateSpareParams();\n\t\t\tcone1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: cone1, children: cone1_nodes};\n\t\t}\n\t\tfunction create_hierarchy1(objects: GeoObjNode) {\n\t\t\tvar hierarchy1 = objects.createNode('hierarchy');\n\t\t\thierarchy1.setName('hierarchy1');\n\t\t\tconst hierarchy1_nodes: ReturnedNodeDataDict = {};\n\t\t\thierarchy1.uiData.setComment(\n\t\t\t\t'this adds a parent to the objects, so that the next actor node is only applied to this new parent'\n\t\t\t);\n\t\t\thierarchy1.uiData.setPosition(-500, 2100);\n\t\t\thierarchy1.params.postCreateSpareParams();\n\t\t\thierarchy1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: hierarchy1, children: hierarchy1_nodes};\n\t\t}\n\t\tfunction create_merge1(objects: GeoObjNode) {\n\t\t\tvar merge1 = objects.createNode('merge');\n\t\t\tmerge1.setName('merge1');\n\t\t\tconst merge1_nodes: ReturnedNodeDataDict = {};\n\t\t\tmerge1.uiData.setPosition(-500, 300);\n\t\t\tmerge1.p.inputsCount.set(6);\n\t\t\tmerge1.io.inputs.setCount(1, 6);\n\t\t\tmerge1.params.postCreateSpareParams();\n\t\t\tmerge1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: merge1, children: merge1_nodes};\n\t\t}\n\t\tfunction create_objectsLayout1(objects: GeoObjNode) {\n\t\t\tvar objectsLayout1 = objects.createNode('objectsLayout');\n\t\t\tobjectsLayout1.setName('objectsLayout1');\n\t\t\tconst objectsLayout1_nodes: ReturnedNodeDataDict = {};\n\t\t\tobjectsLayout1.uiData.setComment('This simply arranges the input objects in a row/column pattern');\n\t\t\tobjectsLayout1.uiData.setPosition(-500, 600);\n\t\t\tobjectsLayout1.p.maxLayoutWidth.set(5.6);\n\t\t\tobjectsLayout1.p.padding.set([0.7, 0.8]);\n\t\t\tobjectsLayout1.params.postCreateSpareParams();\n\t\t\tobjectsLayout1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: objectsLayout1, children: objectsLayout1_nodes};\n\t\t}\n\t\tfunction create_roundedBox1(objects: GeoObjNode) {\n\t\t\tvar roundedBox1 = objects.createNode('roundedBox');\n\t\t\troundedBox1.setName('roundedBox1');\n\t\t\tconst roundedBox1_nodes: ReturnedNodeDataDict = {};\n\t\t\troundedBox1.uiData.setPosition(-1200, 0);\n\t\t\troundedBox1.params.postCreateSpareParams();\n\t\t\troundedBox1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: roundedBox1, children: roundedBox1_nodes};\n\t\t}\n\t\tfunction create_sphere1(objects: GeoObjNode) {\n\t\t\tvar sphere1 = objects.createNode('sphere');\n\t\t\tsphere1.setName('sphere1');\n\t\t\tconst sphere1_nodes: ReturnedNodeDataDict = {};\n\t\t\tsphere1.uiData.setPosition(-450, 0);\n\t\t\tsphere1.params.postCreateSpareParams();\n\t\t\tsphere1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: sphere1, children: sphere1_nodes};\n\t\t}\n\t\tfunction create_subnet1(objects: GeoObjNode) {\n\t\t\tvar subnet1 = objects.createNode('subnet');\n\t\t\tsubnet1.setName('subnet1');\n\t\t\tconst subnet1_nodes: ReturnedNodeDataDict = {};\n\t\t\tfunction create_boolean1(subnet1: SubnetSopNode) {\n\t\t\t\tvar boolean1 = subnet1.createNode('boolean');\n\t\t\t\tboolean1.setName('boolean1');\n\t\t\t\tconst boolean1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tboolean1.uiData.setPosition(-100, -50);\n\t\t\t\tboolean1.p.operation.set(1);\n\t\t\t\tboolean1.params.postCreateSpareParams();\n\t\t\t\tboolean1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: boolean1, children: boolean1_nodes};\n\t\t\t}\n\t\t\tfunction create_box1(subnet1: SubnetSopNode) {\n\t\t\t\tvar box1 = subnet1.createNode('box');\n\t\t\t\tbox1.setName('box1');\n\t\t\t\tconst box1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tbox1.uiData.setPosition(-200, -250);\n\t\t\t\tbox1.params.postCreateSpareParams();\n\t\t\t\tbox1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: box1, children: box1_nodes};\n\t\t\t}\n\t\t\tfunction create_sphere1(subnet1: SubnetSopNode) {\n\t\t\t\tvar sphere1 = subnet1.createNode('sphere');\n\t\t\t\tsphere1.setName('sphere1');\n\t\t\t\tconst sphere1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tsphere1.uiData.setPosition(0, -250);\n\t\t\t\tsphere1.flags.display.set(true);\n\t\t\t\tsphere1.p.radius.set(0.63);\n\t\t\t\tsphere1.params.postCreateSpareParams();\n\t\t\t\tsphere1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: sphere1, children: sphere1_nodes};\n\t\t\t}\n\t\t\tfunction create_subnetOutput1(subnet1: SubnetSopNode) {\n\t\t\t\tvar subnetOutput1 = subnet1.createNode('subnetOutput');\n\t\t\t\tsubnetOutput1.setName('subnetOutput1');\n\t\t\t\tconst subnetOutput1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tsubnetOutput1.uiData.setPosition(-100, 100);\n\t\t\t\tsubnetOutput1.params.postCreateSpareParams();\n\t\t\t\tsubnetOutput1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: subnetOutput1, children: subnetOutput1_nodes};\n\t\t\t}\n\t\t\tsubnet1_nodes['boolean1'] = create_boolean1(subnet1);\n\t\t\tsubnet1_nodes['box1'] = create_box1(subnet1);\n\t\t\tsubnet1_nodes['sphere1'] = create_sphere1(subnet1);\n\t\t\tsubnet1_nodes['subnetOutput1'] = create_subnetOutput1(subnet1);\n\t\t\tsubnet1_nodes['boolean1'].node.setInput(0, subnet1_nodes['box1'].node);\n\t\t\tsubnet1_nodes['boolean1'].node.setInput(1, subnet1_nodes['sphere1'].node);\n\t\t\tsubnet1_nodes['subnetOutput1'].node.setInput(0, subnet1_nodes['boolean1'].node);\n\t\t\tif (subnet1.childrenController) {\n\t\t\t\tsubnet1.childrenController.selection.set([subnet1_nodes['boolean1'].node]);\n\t\t\t}\n\t\t\tsubnet1.uiData.setPosition(100, 0);\n\t\t\tsubnet1.params.postCreateSpareParams();\n\t\t\tsubnet1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: subnet1, children: subnet1_nodes};\n\t\t}\n\t\tfunction create_subnet_colors(objects: GeoObjNode) {\n\t\t\tvar subnet_colors = objects.createNode('subnet');\n\t\t\tsubnet_colors.setName('subnet_colors');\n\t\t\tconst subnet_colors_nodes: ReturnedNodeDataDict = {};\n\t\t\tfunction create_MAT(subnet_colors: SubnetSopNode) {\n\t\t\t\tvar MAT = subnet_colors.createNode('materialsNetwork');\n\t\t\t\tMAT.setName('MAT');\n\t\t\t\tconst MAT_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tfunction create_meshStandardBuilder1(MAT: MaterialsNetworkSopNode) {\n\t\t\t\t\tvar meshStandardBuilder1 = MAT.createNode('meshStandardBuilder');\n\t\t\t\t\tmeshStandardBuilder1.setName('meshStandardBuilder1');\n\t\t\t\t\tconst meshStandardBuilder1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\t\tfunction create_attribute1(meshStandardBuilder1: MeshStandardBuilderMatNode) {\n\t\t\t\t\t\tvar attribute1 = meshStandardBuilder1.createNode('attribute');\n\t\t\t\t\t\tattribute1.setName('attribute1');\n\t\t\t\t\t\tconst attribute1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\t\t\tattribute1.uiData.setPosition(-400, -200);\n\t\t\t\t\t\tattribute1.p.name.set('idn');\n\t\t\t\t\t\tattribute1.params.postCreateSpareParams();\n\t\t\t\t\t\tattribute1.params.runOnSceneLoadHooks();\n\t\t\t\t\t\treturn {node: attribute1, children: attribute1_nodes};\n\t\t\t\t\t}\n\t\t\t\t\tfunction create_floatToVec3_1(meshStandardBuilder1: MeshStandardBuilderMatNode) {\n\t\t\t\t\t\tvar floatToVec3_1 = meshStandardBuilder1.createNode('floatToVec3');\n\t\t\t\t\t\tfloatToVec3_1.setName('floatToVec3_1');\n\t\t\t\t\t\tconst floatToVec3_1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\t\t\tfloatToVec3_1.uiData.setPosition(-150, -200);\n\t\t\t\t\t\tfloatToVec3_1.p.y.set(0.68);\n\t\t\t\t\t\tfloatToVec3_1.p.z.set(0.71);\n\t\t\t\t\t\tfloatToVec3_1.params.postCreateSpareParams();\n\t\t\t\t\t\tfloatToVec3_1.params.runOnSceneLoadHooks();\n\t\t\t\t\t\treturn {node: floatToVec3_1, children: floatToVec3_1_nodes};\n\t\t\t\t\t}\n\t\t\t\t\tfunction create_globals1(meshStandardBuilder1: MeshStandardBuilderMatNode) {\n\t\t\t\t\t\tvar globals1 = meshStandardBuilder1.createNode('globals');\n\t\t\t\t\t\tglobals1.setName('globals1');\n\t\t\t\t\t\tconst globals1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\t\t\tglobals1.uiData.setPosition(-200, 0);\n\t\t\t\t\t\tglobals1.params.postCreateSpareParams();\n\t\t\t\t\t\tglobals1.params.runOnSceneLoadHooks();\n\t\t\t\t\t\treturn {node: globals1, children: globals1_nodes};\n\t\t\t\t\t}\n\t\t\t\t\tfunction create_hsvToRgb1(meshStandardBuilder1: MeshStandardBuilderMatNode) {\n\t\t\t\t\t\tvar hsvToRgb1 = meshStandardBuilder1.createNode('hsvToRgb');\n\t\t\t\t\t\thsvToRgb1.setName('hsvToRgb1');\n\t\t\t\t\t\tconst hsvToRgb1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\t\t\thsvToRgb1.uiData.setPosition(-50, -200);\n\t\t\t\t\t\thsvToRgb1.params.postCreateSpareParams();\n\t\t\t\t\t\thsvToRgb1.params.runOnSceneLoadHooks();\n\t\t\t\t\t\treturn {node: hsvToRgb1, children: hsvToRgb1_nodes};\n\t\t\t\t\t}\n\t\t\t\t\tfunction create_multAdd1(meshStandardBuilder1: MeshStandardBuilderMatNode) {\n\t\t\t\t\t\tvar multAdd1 = meshStandardBuilder1.createNode('multAdd');\n\t\t\t\t\t\tmultAdd1.setName('multAdd1');\n\t\t\t\t\t\tconst multAdd1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\t\t\tmultAdd1.uiData.setPosition(-300, -200);\n\t\t\t\t\t\tmultAdd1.addParam(ParamType.FLOAT, 'value', 0, {spare: true, editable: false});\n\t\t\t\t\t\tmultAdd1.addParam(ParamType.FLOAT, 'preAdd', 0, {spare: true, editable: true});\n\t\t\t\t\t\tmultAdd1.addParam(ParamType.FLOAT, 'mult', 1, {spare: true, editable: true});\n\t\t\t\t\t\tmultAdd1.params.get('mult')!.set(0.92);\n\t\t\t\t\t\tmultAdd1.addParam(ParamType.FLOAT, 'postAdd', 0, {spare: true, editable: true});\n\t\t\t\t\t\tmultAdd1.params.postCreateSpareParams();\n\t\t\t\t\t\tmultAdd1.params.runOnSceneLoadHooks();\n\t\t\t\t\t\treturn {node: multAdd1, children: multAdd1_nodes};\n\t\t\t\t\t}\n\t\t\t\t\tfunction create_output1(meshStandardBuilder1: MeshStandardBuilderMatNode) {\n\t\t\t\t\t\tvar output1 = meshStandardBuilder1.createNode('output');\n\t\t\t\t\t\toutput1.setName('output1');\n\t\t\t\t\t\tconst output1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\t\t\toutput1.uiData.setPosition(200, 0);\n\t\t\t\t\t\toutput1.params.postCreateSpareParams();\n\t\t\t\t\t\toutput1.params.runOnSceneLoadHooks();\n\t\t\t\t\t\treturn {node: output1, children: output1_nodes};\n\t\t\t\t\t}\n\t\t\t\t\tmeshStandardBuilder1_nodes['attribute1'] = create_attribute1(meshStandardBuilder1);\n\t\t\t\t\tmeshStandardBuilder1_nodes['floatToVec3_1'] = create_floatToVec3_1(meshStandardBuilder1);\n\t\t\t\t\tmeshStandardBuilder1_nodes['globals1'] = create_globals1(meshStandardBuilder1);\n\t\t\t\t\tmeshStandardBuilder1_nodes['hsvToRgb1'] = create_hsvToRgb1(meshStandardBuilder1);\n\t\t\t\t\tmeshStandardBuilder1_nodes['multAdd1'] = create_multAdd1(meshStandardBuilder1);\n\t\t\t\t\tmeshStandardBuilder1_nodes['output1'] = create_output1(meshStandardBuilder1);\n\t\t\t\t\tmeshStandardBuilder1_nodes['floatToVec3_1'].node.setInput(\n\t\t\t\t\t\t'x',\n\t\t\t\t\t\tmeshStandardBuilder1_nodes['multAdd1'].node,\n\t\t\t\t\t\t'val',\n\t\t\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t\t\t);\n\t\t\t\t\tmeshStandardBuilder1_nodes['hsvToRgb1'].node.setInput(\n\t\t\t\t\t\t'hsv',\n\t\t\t\t\t\tmeshStandardBuilder1_nodes['floatToVec3_1'].node,\n\t\t\t\t\t\t'vec3',\n\t\t\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t\t\t);\n\t\t\t\t\tmeshStandardBuilder1_nodes['multAdd1'].node.setInput(\n\t\t\t\t\t\t'value',\n\t\t\t\t\t\tmeshStandardBuilder1_nodes['attribute1'].node,\n\t\t\t\t\t\t'val',\n\t\t\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t\t\t);\n\t\t\t\t\tmeshStandardBuilder1_nodes['output1'].node.setInput(\n\t\t\t\t\t\t'color',\n\t\t\t\t\t\tmeshStandardBuilder1_nodes['hsvToRgb1'].node,\n\t\t\t\t\t\t'rgb',\n\t\t\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t\t\t);\n\t\t\t\t\tif (meshStandardBuilder1.childrenController) {\n\t\t\t\t\t\tmeshStandardBuilder1.childrenController.selection.set([\n\t\t\t\t\t\t\tmeshStandardBuilder1_nodes['multAdd1'].node,\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t\tmeshStandardBuilder1.uiData.setPosition(0, 250);\n\t\t\t\t\tmeshStandardBuilder1.params.postCreateSpareParams();\n\t\t\t\t\tmeshStandardBuilder1.params.runOnSceneLoadHooks();\n\t\t\t\t\treturn {node: meshStandardBuilder1, children: meshStandardBuilder1_nodes};\n\t\t\t\t}\n\t\t\t\tMAT_nodes['meshStandardBuilder1'] = create_meshStandardBuilder1(MAT);\n\t\t\t\tif (MAT.childrenController) {\n\t\t\t\t\tMAT.childrenController.selection.set([]);\n\t\t\t\t}\n\t\t\t\tMAT.uiData.setPosition(-200, 150);\n\t\t\t\tMAT.params.postCreateSpareParams();\n\t\t\t\tMAT.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: MAT, children: MAT_nodes};\n\t\t\t}\n\t\t\tfunction create_attribId1(subnet_colors: SubnetSopNode) {\n\t\t\t\tvar attribId1 = subnet_colors.createNode('attribId');\n\t\t\t\tattribId1.setName('attribId1');\n\t\t\t\tconst attribId1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tattribId1.uiData.setPosition(0, -150);\n\t\t\t\tattribId1.setAttribClass(AttribClass.OBJECT);\n\t\t\t\tattribId1.p.id.set(false);\n\t\t\t\tattribId1.params.postCreateSpareParams();\n\t\t\t\tattribId1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: attribId1, children: attribId1_nodes};\n\t\t\t}\n\t\t\tfunction create_attribPromote1(subnet_colors: SubnetSopNode) {\n\t\t\t\tvar attribPromote1 = subnet_colors.createNode('attribPromote');\n\t\t\t\tattribPromote1.setName('attribPromote1');\n\t\t\t\tconst attribPromote1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tattribPromote1.uiData.setPosition(0, 0);\n\t\t\t\tattribPromote1.setAttribClassFrom(AttribClass.OBJECT);\n\t\t\t\tattribPromote1.setAttribClassTo(AttribClass.POINT);\n\t\t\t\tattribPromote1.p.name.set('idn');\n\t\t\t\tattribPromote1.params.postCreateSpareParams();\n\t\t\t\tattribPromote1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: attribPromote1, children: attribPromote1_nodes};\n\t\t\t}\n\t\t\tfunction create_material1(subnet_colors: SubnetSopNode) {\n\t\t\t\tvar material1 = subnet_colors.createNode('material');\n\t\t\t\tmaterial1.setName('material1');\n\t\t\t\tconst material1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tmaterial1.uiData.setPosition(0, 150);\n\t\t\t\tmaterial1.p.material.set('../MAT/meshStandardBuilder1');\n\t\t\t\tmaterial1.params.postCreateSpareParams();\n\t\t\t\tmaterial1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: material1, children: material1_nodes};\n\t\t\t}\n\t\t\tfunction create_subnetInput1(subnet_colors: SubnetSopNode) {\n\t\t\t\tvar subnetInput1 = subnet_colors.createNode('subnetInput');\n\t\t\t\tsubnetInput1.setName('subnetInput1');\n\t\t\t\tconst subnetInput1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tsubnetInput1.uiData.setPosition(0, -250);\n\t\t\t\tsubnetInput1.flags.display.set(true);\n\t\t\t\tsubnetInput1.params.postCreateSpareParams();\n\t\t\t\tsubnetInput1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: subnetInput1, children: subnetInput1_nodes};\n\t\t\t}\n\t\t\tfunction create_subnetOutput1(subnet_colors: SubnetSopNode) {\n\t\t\t\tvar subnetOutput1 = subnet_colors.createNode('subnetOutput');\n\t\t\t\tsubnetOutput1.setName('subnetOutput1');\n\t\t\t\tconst subnetOutput1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tsubnetOutput1.uiData.setPosition(0, 250);\n\t\t\t\tsubnetOutput1.params.postCreateSpareParams();\n\t\t\t\tsubnetOutput1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: subnetOutput1, children: subnetOutput1_nodes};\n\t\t\t}\n\t\t\tsubnet_colors_nodes['MAT'] = create_MAT(subnet_colors);\n\t\t\tsubnet_colors_nodes['attribId1'] = create_attribId1(subnet_colors);\n\t\t\tsubnet_colors_nodes['attribPromote1'] = create_attribPromote1(subnet_colors);\n\t\t\tsubnet_colors_nodes['material1'] = create_material1(subnet_colors);\n\t\t\tsubnet_colors_nodes['subnetInput1'] = create_subnetInput1(subnet_colors);\n\t\t\tsubnet_colors_nodes['subnetOutput1'] = create_subnetOutput1(subnet_colors);\n\t\t\tsubnet_colors_nodes['attribId1'].node.setInput(0, subnet_colors_nodes['subnetInput1'].node);\n\t\t\tsubnet_colors_nodes['attribPromote1'].node.setInput(0, subnet_colors_nodes['attribId1'].node);\n\t\t\tsubnet_colors_nodes['material1'].node.setInput(0, subnet_colors_nodes['attribPromote1'].node);\n\t\t\tsubnet_colors_nodes['subnetOutput1'].node.setInput(0, subnet_colors_nodes['material1'].node);\n\t\t\tif (subnet_colors.childrenController) {\n\t\t\t\tsubnet_colors.childrenController.selection.set([]);\n\t\t\t}\n\t\t\tsubnet_colors.uiData.setComment(\n\t\t\t\t'this adds a material with some colors to the objects, just to make the scene a bit nicer to work with'\n\t\t\t);\n\t\t\tsubnet_colors.uiData.setPosition(-500, 450);\n\t\t\tsubnet_colors.params.postCreateSpareParams();\n\t\t\tsubnet_colors.params.runOnSceneLoadHooks();\n\t\t\treturn {node: subnet_colors, children: subnet_colors_nodes};\n\t\t}\n\t\tfunction create_torus1(objects: GeoObjNode) {\n\t\t\tvar torus1 = objects.createNode('torus');\n\t\t\ttorus1.setName('torus1');\n\t\t\tconst torus1_nodes: ReturnedNodeDataDict = {};\n\t\t\ttorus1.uiData.setPosition(-150, 0);\n\t\t\ttorus1.p.radius.set(0.13);\n\t\t\ttorus1.p.radiusTube.set(0.06);\n\t\t\ttorus1.p.direction.set([0, 0, 1]);\n\t\t\ttorus1.params.postCreateSpareParams();\n\t\t\ttorus1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: torus1, children: torus1_nodes};\n\t\t}\n\t\tfunction create_transform1(objects: GeoObjNode) {\n\t\t\tvar transform1 = objects.createNode('transform');\n\t\t\ttransform1.setName('transform1');\n\t\t\tconst transform1_nodes: ReturnedNodeDataDict = {};\n\t\t\ttransform1.uiData.setComment(\n\t\t\t\t'this moves them up. Note that this transform node is set to `multiply matrix`, so that the translation set by the [objectsLayout1](../objectsLayout1) (or any other transform) is not cancelled.'\n\t\t\t);\n\t\t\ttransform1.uiData.setPosition(-500, 800);\n\t\t\ttransform1.p.applyOn.set(1);\n\t\t\ttransform1.p.objectMode.set(1);\n\t\t\ttransform1.p.t.set([0, 1.7, 0]);\n\t\t\ttransform1.params.postCreateSpareParams();\n\t\t\ttransform1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: transform1, children: transform1_nodes};\n\t\t}\n\t\tobjects_nodes['BVH1'] = create_BVH1(objects);\n\t\tobjects_nodes['actor_appliedToIndividualObjects'] = create_actor_appliedToIndividualObjects(objects);\n\t\tobjects_nodes['actor_objectsParent'] = create_actor_objectsParent(objects);\n\t\tobjects_nodes['capsule1'] = create_capsule1(objects);\n\t\tobjects_nodes['cone1'] = create_cone1(objects);\n\t\tobjects_nodes['hierarchy1'] = create_hierarchy1(objects);\n\t\tobjects_nodes['merge1'] = create_merge1(objects);\n\t\tobjects_nodes['objectsLayout1'] = create_objectsLayout1(objects);\n\t\tobjects_nodes['roundedBox1'] = create_roundedBox1(objects);\n\t\tobjects_nodes['sphere1'] = create_sphere1(objects);\n\t\tobjects_nodes['subnet1'] = create_subnet1(objects);\n\t\tobjects_nodes['subnet_colors'] = create_subnet_colors(objects);\n\t\tobjects_nodes['torus1'] = create_torus1(objects);\n\t\tobjects_nodes['transform1'] = create_transform1(objects);\n\t\tobjects_nodes['BVH1'].node.setInput(0, objects_nodes['transform1'].node);\n\t\tobjects_nodes['actor_appliedToIndividualObjects'].node.setInput(0, objects_nodes['BVH1'].node);\n\t\tobjects_nodes['actor_objectsParent'].node.setInput(0, objects_nodes['hierarchy1'].node);\n\t\tobjects_nodes['hierarchy1'].node.setInput(0, objects_nodes['actor_appliedToIndividualObjects'].node);\n\t\tobjects_nodes['merge1'].node.setInput(0, objects_nodes['roundedBox1'].node);\n\t\tobjects_nodes['merge1'].node.setInput(1, objects_nodes['capsule1'].node);\n\t\tobjects_nodes['merge1'].node.setInput(2, objects_nodes['cone1'].node);\n\t\tobjects_nodes['merge1'].node.setInput(3, objects_nodes['sphere1'].node);\n\t\tobjects_nodes['merge1'].node.setInput(4, objects_nodes['torus1'].node);\n\t\tobjects_nodes['merge1'].node.setInput(5, objects_nodes['subnet1'].node);\n\t\tobjects_nodes['objectsLayout1'].node.setInput(0, objects_nodes['subnet_colors'].node);\n\t\tobjects_nodes['subnet_colors'].node.setInput(0, objects_nodes['merge1'].node);\n\t\tobjects_nodes['transform1'].node.setInput(0, objects_nodes['objectsLayout1'].node);\n\t\tif (objects.childrenController) {\n\t\t\tobjects.childrenController.selection.set([]);\n\t\t}\n\t\tobjects.uiData.setComment(\n\t\t\t'This node contains the 6 objects.\\n\\nWe are using actor nodes [inside](.) to add a behavior to them, which is what will set an attribute on the main camera, which in turn is what will make the camera look at those objects when clicked'\n\t\t);\n\t\tobjects.uiData.setPosition(-50, -150);\n\t\tobjects.flags.display.set(true);\n\t\tobjects.params.postCreateSpareParams();\n\t\tobjects.params.runOnSceneLoadHooks();\n\t\treturn {node: objects, children: objects_nodes};\n\t}\n\tfunction create_cameras(parentNode: RootManagerNode) {\n\t\tvar cameras = parentNode.createNode('geo');\n\t\tcameras.setName('cameras');\n\t\tconst cameras_nodes: ReturnedNodeDataDict = {};\n\t\tfunction create_actor1(cameras: GeoObjNode) {\n\t\t\tvar actor1 = cameras.createNode('actor');\n\t\t\tactor1.setName('actor1');\n\t\t\tconst actor1_nodes: ReturnedNodeDataDict = {};\n\t\t\tfunction create_getObjectAttribute2(actor1: ActorSopNode) {\n\t\t\t\tvar getObjectAttribute2 = actor1.createNode('getObjectAttribute');\n\t\t\t\tgetObjectAttribute2.setName('getObjectAttribute2');\n\t\t\t\tconst getObjectAttribute2_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tgetObjectAttribute2.uiData.setPosition(-150, 350);\n\t\t\t\tgetObjectAttribute2.setAttribName('lookAtTarget');\n\t\t\t\tgetObjectAttribute2.p.type.set(6);\n\t\t\t\tgetObjectAttribute2.addParam(ParamType.STRING, 'attribName', 'lookAtTarget', {\n\t\t\t\t\tspare: true,\n\t\t\t\t\teditable: true,\n\t\t\t\t});\n\t\t\t\tgetObjectAttribute2.addParam(ParamType.VECTOR3, 'defaultVector3', [0, 0, 0], {\n\t\t\t\t\tspare: true,\n\t\t\t\t\teditable: true,\n\t\t\t\t});\n\t\t\t\tgetObjectAttribute2.params.postCreateSpareParams();\n\t\t\t\tgetObjectAttribute2.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: getObjectAttribute2, children: getObjectAttribute2_nodes};\n\t\t\t}\n\t\t\tfunction create_onTick1(actor1: ActorSopNode) {\n\t\t\t\tvar onTick1 = actor1.createNode('onTick');\n\t\t\t\tonTick1.setName('onTick1');\n\t\t\t\tconst onTick1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tonTick1.uiData.setComment('this triggers an event every frame.');\n\t\t\t\tonTick1.uiData.setPosition(-150, -100);\n\t\t\t\tonTick1.params.postCreateSpareParams();\n\t\t\t\tonTick1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: onTick1, children: onTick1_nodes};\n\t\t\t}\n\t\t\tfunction create_setObjectLookAt1(actor1: ActorSopNode) {\n\t\t\t\tvar setObjectLookAt1 = actor1.createNode('setObjectLookAt');\n\t\t\t\tsetObjectLookAt1.setName('setObjectLookAt1');\n\t\t\t\tconst setObjectLookAt1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tsetObjectLookAt1.uiData.setComment(\n\t\t\t\t\t'as this is triggered every frame, this rotates the camera so that it looks at a specific position.This position in this case is defined by the `lookAtTarget` attribute.\\n\\nNotice we are using a `lerp` value, which is less than 1, so that the change in rotation is gradual. If lerp was set to 1, the rotation change would be instant.'\n\t\t\t\t);\n\t\t\t\tsetObjectLookAt1.uiData.setPosition(250, 150);\n\t\t\t\tsetObjectLookAt1.p.lerp.set(0.05);\n\t\t\t\tsetObjectLookAt1.params.postCreateSpareParams();\n\t\t\t\tsetObjectLookAt1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: setObjectLookAt1, children: setObjectLookAt1_nodes};\n\t\t\t}\n\t\t\tactor1_nodes['getObjectAttribute2'] = create_getObjectAttribute2(actor1);\n\t\t\tactor1_nodes['onTick1'] = create_onTick1(actor1);\n\t\t\tactor1_nodes['setObjectLookAt1'] = create_setObjectLookAt1(actor1);\n\t\t\tactor1_nodes['setObjectLookAt1'].node.setInput('trigger', actor1_nodes['onTick1'].node, 'trigger');\n\t\t\tactor1_nodes['setObjectLookAt1'].node.setInput(\n\t\t\t\t'targetPosition',\n\t\t\t\tactor1_nodes['getObjectAttribute2'].node,\n\t\t\t\t'val',\n\t\t\t\t{noExceptionOnInvalidInput: true}\n\t\t\t);\n\t\t\tif (actor1.childrenController) {\n\t\t\t\tactor1.childrenController.selection.set([]);\n\t\t\t}\n\t\t\tactor1.uiData.setComment(\n\t\t\t\t'The actor node is what will have the camera look at the position defined by its `lookAtTarget` attribute. [Enter it](.) to see the setup.'\n\t\t\t);\n\t\t\tactor1.uiData.setPosition(-200, 0);\n\t\t\tactor1.params.postCreateSpareParams();\n\t\t\tactor1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: actor1, children: actor1_nodes};\n\t\t}\n\t\tfunction create_attribCreate1(cameras: GeoObjNode) {\n\t\t\tvar attribCreate1 = cameras.createNode('attribCreate');\n\t\t\tattribCreate1.setName('attribCreate1');\n\t\t\tconst attribCreate1_nodes: ReturnedNodeDataDict = {};\n\t\t\tattribCreate1.uiData.setComment(\n\t\t\t\t\"this node sets the lookAtTarget at the object level, on the camera. We'll use this attribute in the [actor node](../actor1) node below.\"\n\t\t\t);\n\t\t\tattribCreate1.uiData.setPosition(-200, -300);\n\t\t\tattribCreate1.setAttribClass(AttribClass.OBJECT);\n\t\t\tattribCreate1.p.name.set('lookAtTarget');\n\t\t\tattribCreate1.p.size.set(3);\n\t\t\tattribCreate1.p.value3.set([0, 1.8, 0]);\n\t\t\tattribCreate1.params.postCreateSpareParams();\n\t\t\tattribCreate1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: attribCreate1, children: attribCreate1_nodes};\n\t\t}\n\t\tfunction create_cameraControls1(cameras: GeoObjNode) {\n\t\t\tvar cameraControls1 = cameras.createNode('cameraControls');\n\t\t\tcameraControls1.setName('cameraControls1');\n\t\t\tconst cameraControls1_nodes: ReturnedNodeDataDict = {};\n\t\t\tfunction create_cameraOrbitControls1(cameraControls1: CameraControlsSopNode) {\n\t\t\t\tvar cameraOrbitControls1 = cameraControls1.createNode('cameraOrbitControls');\n\t\t\t\tcameraOrbitControls1.setName('cameraOrbitControls1');\n\t\t\t\tconst cameraOrbitControls1_nodes: ReturnedNodeDataDict = {};\n\t\t\t\tcameraOrbitControls1.uiData.setPosition(0, 0);\n\t\t\t\tcameraOrbitControls1.params.postCreateSpareParams();\n\t\t\t\tcameraOrbitControls1.params.runOnSceneLoadHooks();\n\t\t\t\treturn {node: cameraOrbitControls1, children: cameraOrbitControls1_nodes};\n\t\t\t}\n\t\t\tcameraControls1_nodes['cameraOrbitControls1'] = create_cameraOrbitControls1(cameraControls1);\n\t\t\tif (cameraControls1.childrenController) {\n\t\t\t\tcameraControls1.childrenController.selection.set([]);\n\t\t\t}\n\t\t\tcameraControls1.uiData.setPosition(200, -100);\n\t\t\tcameraControls1.p.node.set('cameraOrbitControls1');\n\t\t\tcameraControls1.params.postCreateSpareParams();\n\t\t\tcameraControls1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: cameraControls1, children: cameraControls1_nodes};\n\t\t}\n\t\tfunction create_merge1(cameras: GeoObjNode) {\n\t\t\tvar merge1 = cameras.createNode('merge');\n\t\t\tmerge1.setName('merge1');\n\t\t\tconst merge1_nodes: ReturnedNodeDataDict = {};\n\t\t\tmerge1.uiData.setPosition(-50, 300);\n\t\t\tmerge1.flags.display.set(true);\n\t\t\tmerge1.params.postCreateSpareParams();\n\t\t\tmerge1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: merge1, children: merge1_nodes};\n\t\t}\n\t\tfunction create_perspectiveCamera_DEBUG(cameras: GeoObjNode) {\n\t\t\tvar perspectiveCamera_DEBUG = cameras.createNode('perspectiveCamera');\n\t\t\tperspectiveCamera_DEBUG.setName('perspectiveCamera_DEBUG');\n\t\t\tconst perspectiveCamera_DEBUG_nodes: ReturnedNodeDataDict = {};\n\t\t\tperspectiveCamera_DEBUG.uiData.setPosition(200, -250);\n\t\t\tperspectiveCamera_DEBUG.params.postCreateSpareParams();\n\t\t\tperspectiveCamera_DEBUG.params.runOnSceneLoadHooks();\n\t\t\treturn {node: perspectiveCamera_DEBUG, children: perspectiveCamera_DEBUG_nodes};\n\t\t}\n\t\tfunction create_perspectiveCamera_MAIN(cameras: GeoObjNode) {\n\t\t\tvar perspectiveCamera_MAIN = cameras.createNode('perspectiveCamera');\n\t\t\tperspectiveCamera_MAIN.setName('perspectiveCamera_MAIN');\n\t\t\tconst perspectiveCamera_MAIN_nodes: ReturnedNodeDataDict = {};\n\t\t\tperspectiveCamera_MAIN.uiData.setComment(\n\t\t\t\t'this node creates the main camera. The name of the object is defined by the `name` parameter, currently set to the node name. This will help finding the camera from the [/objects](/objects) node.'\n\t\t\t);\n\t\t\tperspectiveCamera_MAIN.uiData.setPosition(-200, -650);\n\t\t\tperspectiveCamera_MAIN.p.position.set([0, 1.8, 5.2]);\n\t\t\tperspectiveCamera_MAIN.params.postCreateSpareParams();\n\t\t\tperspectiveCamera_MAIN.params.runOnSceneLoadHooks();\n\t\t\treturn {node: perspectiveCamera_MAIN, children: perspectiveCamera_MAIN_nodes};\n\t\t}\n\t\tcameras_nodes['actor1'] = create_actor1(cameras);\n\t\tcameras_nodes['attribCreate1'] = create_attribCreate1(cameras);\n\t\tcameras_nodes['cameraControls1'] = create_cameraControls1(cameras);\n\t\tcameras_nodes['merge1'] = create_merge1(cameras);\n\t\tcameras_nodes['perspectiveCamera_DEBUG'] = create_perspectiveCamera_DEBUG(cameras);\n\t\tcameras_nodes['perspectiveCamera_MAIN'] = create_perspectiveCamera_MAIN(cameras);\n\t\tcameras_nodes['actor1'].node.setInput(0, cameras_nodes['attribCreate1'].node);\n\t\tcameras_nodes['attribCreate1'].node.setInput(0, cameras_nodes['perspectiveCamera_MAIN'].node);\n\t\tcameras_nodes['cameraControls1'].node.setInput(0, cameras_nodes['perspectiveCamera_DEBUG'].node);\n\t\tcameras_nodes['merge1'].node.setInput(0, cameras_nodes['actor1'].node);\n\t\tcameras_nodes['merge1'].node.setInput(1, cameras_nodes['cameraControls1'].node);\n\t\tif (cameras.childrenController) {\n\t\t\tcameras.childrenController.selection.set([]);\n\t\t}\n\t\tcameras.uiData.setComment(\n\t\t\t'This node contains 2 cameras, the main one and the debug one.\\n\\n[Enter this node](.) to see how  they are set up.'\n\t\t);\n\t\tcameras.uiData.setPosition(-50, 150);\n\t\tcameras.flags.display.set(true);\n\t\tcameras.params.postCreateSpareParams();\n\t\tcameras.params.runOnSceneLoadHooks();\n\t\treturn {node: cameras, children: cameras_nodes};\n\t}\n\tfunction create_lights(parentNode: RootManagerNode) {\n\t\tvar lights = parentNode.createNode('geo');\n\t\tlights.setName('lights');\n\t\tconst lights_nodes: ReturnedNodeDataDict = {};\n\t\tfunction create_hemisphereLight1(lights: GeoObjNode) {\n\t\t\tvar hemisphereLight1 = lights.createNode('hemisphereLight');\n\t\t\themisphereLight1.setName('hemisphereLight1');\n\t\t\tconst hemisphereLight1_nodes: ReturnedNodeDataDict = {};\n\t\t\themisphereLight1.uiData.setPosition(0, -150);\n\t\t\themisphereLight1.flags.display.set(true);\n\t\t\themisphereLight1.params.postCreateSpareParams();\n\t\t\themisphereLight1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: hemisphereLight1, children: hemisphereLight1_nodes};\n\t\t}\n\t\tlights_nodes['hemisphereLight1'] = create_hemisphereLight1(lights);\n\t\tif (lights.childrenController) {\n\t\t\tlights.childrenController.selection.set([]);\n\t\t}\n\t\tlights.uiData.setPosition(-50, -250);\n\t\tlights.flags.display.set(true);\n\t\tlights.params.postCreateSpareParams();\n\t\tlights.params.runOnSceneLoadHooks();\n\t\treturn {node: lights, children: lights_nodes};\n\t}\n\tfunction create_grid(parentNode: RootManagerNode) {\n\t\tvar grid = parentNode.createNode('geo');\n\t\tgrid.setName('grid');\n\t\tconst grid_nodes: ReturnedNodeDataDict = {};\n\t\tfunction create_planeHelper1(grid: GeoObjNode) {\n\t\t\tvar planeHelper1 = grid.createNode('planeHelper');\n\t\t\tplaneHelper1.setName('planeHelper1');\n\t\t\tconst planeHelper1_nodes: ReturnedNodeDataDict = {};\n\t\t\tplaneHelper1.uiData.setPosition(-100, -150);\n\t\t\tplaneHelper1.flags.display.set(true);\n\t\t\tplaneHelper1.params.postCreateSpareParams();\n\t\t\tplaneHelper1.params.runOnSceneLoadHooks();\n\t\t\treturn {node: planeHelper1, children: planeHelper1_nodes};\n\t\t}\n\t\tgrid_nodes['planeHelper1'] = create_planeHelper1(grid);\n\t\tif (grid.childrenController) {\n\t\t\tgrid.childrenController.selection.set([]);\n\t\t}\n\t\tgrid.uiData.setPosition(-50, -350);\n\t\tgrid.flags.display.set(true);\n\t\tgrid.params.postCreateSpareParams();\n\t\tgrid.params.runOnSceneLoadHooks();\n\t\treturn {node: grid, children: grid_nodes};\n\t}\n\tscene_root_nodes['objects'] = create_objects(root);\n\tscene_root_nodes['cameras'] = create_cameras(root);\n\tscene_root_nodes['lights'] = create_lights(root);\n\tscene_root_nodes['grid'] = create_grid(root);\n\tscene.setFrame(0);\n\t// scene.play();\n\treturn {\n\t\tscene,\n\t\tcameraPath: '/cameras/cameras:sopGroup/perspectiveCamera_MAIN',\n\t\tfocusedNodes: [], //Object.values(scene_root_nodes['geo1'].children).map((n) => n.node),\n\t\tautoLayout: false,\n\t\tplayWhenLoaded: true,\n\t};\n}\n// export const sopPerspectiveCamera_lookAtClickedObject = [\n// \t// new Example({name: `${ExamplePrefix.BY_NODE}/sop/perspectiveCamera/lookAtClickedObject`, createData}),\n// \tnew Example({\n// \t\tname: `${ExamplePrefix.BY_NODE}/actor/setObjectLookAt/ClickedObject`,\n// \t\tcategories: [ExampleCategory.STATE_AND_EVENTS],\n// \t\tcreateData,\n// \t\trelatedNodes: [PerspectiveCameraSopNode, SetObjectLookAtActorNode],\n// \t\tlabel: 'Look at Clicked Object',\n// \t}),\n// \t// new Example(`${ExamplePrefix.BY_CATEGORY}/instancing/stairsAreFun/stairCaseMultiple`, createData),\n// ];\n"],"names":["objects","actor_appliedToIndividualObjects","actor_objectsParent","subnet1","create_sphere1","subnet_colors","MAT","meshStandardBuilder1","cameras","actor1","cameraControls1","lights","grid"],"sourceRoot":""}