@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
902 lines (897 loc) • 72.4 kB
text/typescript
import {CATEGORY_JS} from './Category';
import {AbsJsNode} from '../../../nodes/js/Abs';
import {AcosJsNode} from '../../../nodes/js/Acos';
import {AddJsNode} from '../../../nodes/js/Add';
import {AndJsNode} from '../../../nodes/js/And';
import {AnimationActionJsNode} from '../../../nodes/js/AnimationAction';
import {AnimationActionCrossFadeJsNode} from '../../../nodes/js/AnimationActionCrossFade';
import {AnimationActionFadeOutJsNode} from '../../../nodes/js/AnimationActionFadeOut';
import {AnimationActionFadeInJsNode} from '../../../nodes/js/AnimationActionFadeIn';
import {AnimationActionPlayJsNode} from '../../../nodes/js/AnimationActionPlay';
import {AnimationActionStopJsNode} from '../../../nodes/js/AnimationActionStop';
import {AnimationMixerJsNode} from '../../../nodes/js/AnimationMixer';
import {AnimationMixerUpdateJsNode} from '../../../nodes/js/AnimationMixerUpdate';
import {AnyTriggerJsNode} from '../../../nodes/js/AnyTrigger';
import {ArrayElementJsNode} from '../../../nodes/js/ArrayElement';
import {ArrayLengthJsNode} from '../../../nodes/js/ArrayLength';
import {ArrayPopJsNode} from '../../../nodes/js/ArrayPop';
import {ArrayShiftJsNode} from '../../../nodes/js/ArrayShift';
import {AsinJsNode} from '../../../nodes/js/Asin';
import {AtanJsNode} from '../../../nodes/js/Atan';
import {AttributeJsNode} from '../../../nodes/js/Attribute';
import {BoolToIntJsNode} from '../../../nodes/js/BoolToInt';
import {Box3JsNode} from '../../../nodes/js/Box3';
import {Box3ContainsPointJsNode} from '../../../nodes/js/Box3ContainsPoint';
import {Box3IntersectsBox3JsNode} from '../../../nodes/js/Box3IntersectsBox3';
import {Box3SetFromObjectJsNode} from '../../../nodes/js/Box3SetFromObject';
import {CatmullRomCurve3GetPointJsNode} from '../../../nodes/js/CatmullRomCurve3GetPoint';
import {CeilJsNode} from '../../../nodes/js/Ceil';
import {ClampJsNode} from '../../../nodes/js/Clamp';
import {ClothSolverResetJsNode} from '../../../nodes/js/ClothSolverReset';
import {ClothSolverStepSimulationJsNode} from '../../../nodes/js/ClothSolverStepSimulation';
import {ClothSolverUpdateMaterialJsNode} from '../../../nodes/js/ClothSolverUpdateMaterial';
import {CodeJsNode} from '../../../nodes/js/Code';
import {ColorToVec3JsNode} from '../../../nodes/js/ColorToVec3';
import {CompareJsNode} from '../../../nodes/js/Compare';
import {ComplementJsNode} from '../../../nodes/js/Complement';
import {ComputeVelocityJsNode} from '../../../nodes/js/ComputeVelocity';
import {ConstantJsNode} from '../../../nodes/js/Constant';
import {CookNodeJsNode} from '../../../nodes/js/CookNode';
import {CosJsNode} from '../../../nodes/js/Cos';
import {CreateClothConstraintJsNode} from '../../../nodes/js/CreateClothConstraint';
import {CreateObjectsJsNode} from '../../../nodes/js/CreateObjects';
import {CreatePhysicsRBDKinematicConstraintJsNode} from '../../../nodes/js/CreatePhysicsRBDKinematicConstraint';
import {CreatePhysicsRBDsJsNode} from '../../../nodes/js/CreatePhysicsRBDs';
import {CreateSoftBodyConstraintJsNode} from '../../../nodes/js/CreateSoftBodyConstraint';
import {CrossJsNode} from '../../../nodes/js/Cross';
import {CursorJsNode} from '../../../nodes/js/Cursor';
import {CursorToUvJsNode} from '../../../nodes/js/CursorToUv';
import {DebugJsNode} from '../../../nodes/js/Debug';
import {DeformGeometryCubeLatticeJsNode} from '../../../nodes/js/DeformGeometryCubeLattice';
import {DeleteClothConstraintJsNode} from '../../../nodes/js/DeleteClothConstraint';
import {DeleteObjectJsNode} from '../../../nodes/js/DeleteObject';
import {DeletePhysicsRBDJsNode} from '../../../nodes/js/DeletePhysicsRBD';
import {DeletePhysicsRBDKinematicConstraintJsNode} from '../../../nodes/js/DeletePhysicsRBDKinematicConstraint';
import {DeletePhysicsRBDConstraintsJsNode} from '../../../nodes/js/DeletePhysicsRBDConstraints';
import {DeleteSoftBodyConstraintJsNode} from '../../../nodes/js/DeleteSoftBodyConstraint';
import {DegToRadJsNode} from '../../../nodes/js/DegToRad';
import {DeviceOrientationJsNode} from '../../../nodes/js/DeviceOrientation';
import {DistanceJsNode} from '../../../nodes/js/Distance';
import {DivideJsNode} from '../../../nodes/js/Divide';
import {DotJsNode} from '../../../nodes/js/Dot';
import {EasingJsNode} from '../../../nodes/js/Easing';
import {ElementsToArrayJsNode} from '../../../nodes/js/ElementsToArray';
import {EulerJsNode} from '../../../nodes/js/Euler';
import {EulerFromQuaternionJsNode} from '../../../nodes/js/EulerFromQuaternion';
import {FitJsNode} from '../../../nodes/js/Fit';
import {FloatToColorJsNode} from '../../../nodes/js/FloatToColor';
import {FloatToIntJsNode} from '../../../nodes/js/FloatToInt';
import {FloatToVec2JsNode} from '../../../nodes/js/FloatToVec2';
import {FloatToVec3JsNode} from '../../../nodes/js/FloatToVec3';
import {FloatToVec4JsNode} from '../../../nodes/js/FloatToVec4';
import {FloorJsNode} from '../../../nodes/js/Floor';
import {ForLoopJsNode} from '../../../nodes/js/ForLoop';
import {GeolocationCurrentPositionJsNode} from '../../../nodes/js/GeolocationCurrentPosition';
import {GetBox3PropertyJsNode} from '../../../nodes/js/GetBox3Property';
import {GetChildrenAttributesJsNode} from '../../../nodes/js/GetChildrenAttributes';
import {GetChildrenPhysicsRBDPropertiesJsNode} from '../../../nodes/js/GetChildrenPhysicsRBDProperties';
import {GetChildrenPropertiesJsNode} from '../../../nodes/js/GetChildrenProperties';
import {GetDefaultCameraJsNode} from '../../../nodes/js/GetDefaultCamera';
import {GetGeometryBoundingBoxJsNode} from '../../../nodes/js/GetGeometryBoundingBox';
import {GetGeometryNodeObjectsJsNode} from '../../../nodes/js/GetGeometryNodeObjects';
import {GetGeometryPositionsJsNode} from '../../../nodes/js/GetGeometryPositions';
import {GetInstanceAttributeJsNode} from '../../../nodes/js/GetInstanceAttribute';
import {GetInstancePropertyJsNode} from '../../../nodes/js/GetInstanceProperty';
import {GetIntersectionAttributeJsNode} from '../../../nodes/js/GetIntersectionAttribute';
import {GetIntersectionPropertyJsNode} from '../../../nodes/js/GetIntersectionProperty';
import {GetMaterialJsNode} from '../../../nodes/js/GetMaterial';
import {GetNodeJsNode} from '../../../nodes/js/GetNode';
import {GetObjectJsNode} from '../../../nodes/js/GetObject';
import {GetObjectAttributeJsNode} from '../../../nodes/js/GetObjectAttribute';
import {GetObjectChildJsNode} from '../../../nodes/js/GetObjectChild';
import {GetObjectPropertyJsNode} from '../../../nodes/js/GetObjectProperty';
import {GetObjectUserDataJsNode} from '../../../nodes/js/GetObjectUserData';
import {GetObjectWorldPositionJsNode} from '../../../nodes/js/GetObjectWorldPosition';
import {GetParamJsNode} from '../../../nodes/js/GetParam';
import {GetParentJsNode} from '../../../nodes/js/GetParent';
import {GetPhysicsRBDJsNode} from '../../../nodes/js/GetPhysicsRBD';
import {GetPhysicsRBDConePropertyJsNode} from '../../../nodes/js/GetPhysicsRBDConeProperty';
import {GetPhysicsRBDCapsulePropertyJsNode} from '../../../nodes/js/GetPhysicsRBDCapsuleProperty';
import {GetPhysicsRBDCylinderPropertyJsNode} from '../../../nodes/js/GetPhysicsRBDCylinderProperty';
import {GetPhysicsRBDCuboidPropertyJsNode} from '../../../nodes/js/GetPhysicsRBDCuboidProperty';
import {GetPhysicsRBDSpherePropertyJsNode} from '../../../nodes/js/GetPhysicsRBDSphereProperty';
import {GetPhysicsRBDPropertyJsNode} from '../../../nodes/js/GetPhysicsRBDProperty';
import {GetPlanePropertyJsNode} from '../../../nodes/js/GetPlaneProperty';
import {GetPointAttributeJsNode} from '../../../nodes/js/GetPointAttribute';
import {GetPointPropertyJsNode} from '../../../nodes/js/GetPointProperty';
import {GetPrimitiveAttributeJsNode} from '../../../nodes/js/GetPrimitiveAttribute';
import {GetRayPropertyJsNode} from '../../../nodes/js/GetRayProperty';
import {GetSibblingJsNode} from '../../../nodes/js/GetSibbling';
import {GetSpherePropertyJsNode} from '../../../nodes/js/GetSphereProperty';
import {GetTextureJsNode} from '../../../nodes/js/GetTexture';
import {GetTrackedHandPropertyJsNode} from '../../../nodes/js/GetTrackedHandProperty';
import {GetVideoPropertyJsNode} from '../../../nodes/js/GetVideoProperty';
import {GetWebXRARSessionPropertyJsNode} from '../../../nodes/js/GetWebXRARSessionProperty';
import {GetWebXRControllerPropertyJsNode} from '../../../nodes/js/GetWebXRControllerProperty';
import {GetWebXRTrackedMarkerPropertyJsNode} from '../../../nodes/js/GetWebXRTrackedMarkerProperty';
import {GlobalsJsNode} from '../../../nodes/js/Globals';
import {GlobalsAmbientLightJsNode} from '../../../nodes/js/GlobalsAmbientLight';
import {GlobalsAreaLightJsNode} from '../../../nodes/js/GlobalsAreaLight';
import {GlobalsDirectionalLightJsNode} from '../../../nodes/js/GlobalsDirectionalLight';
import {GlobalsHemisphereLightJsNode} from '../../../nodes/js/GlobalsHemisphereLight';
import {GlobalsPointLightJsNode} from '../../../nodes/js/GlobalsPointLight';
import {GlobalsSpotLightJsNode} from '../../../nodes/js/GlobalsSpotLight';
import {HsvToRgbJsNode} from '../../../nodes/js/HsvToRgb';
import {ImportAttributeJsNode} from '../../../nodes/js/ImportAttribute';
import {IntToBoolJsNode} from '../../../nodes/js/IntToBool';
import {IntToFloatJsNode} from '../../../nodes/js/IntToFloat';
import {IsDefinedJsNode} from '../../../nodes/js/IsDefined';
import {IsTouchDeviceJsNode} from '../../../nodes/js/IsTouchDevice';
import {KeyframesJsNode} from '../../../nodes/js/Keyframes';
import {LengthJsNode} from '../../../nodes/js/Length';
import {LerpJsNode} from '../../../nodes/js/Lerp';
import {ManhattanDistanceJsNode} from '../../../nodes/js/ManhattanDistance';
import {Matrix4LookAtJsNode} from '../../../nodes/js/Matrix4LookAt';
import {Matrix4MakeTranslationJsNode} from '../../../nodes/js/Matrix4MakeTranslation';
import {Matrix4MultiplyJsNode} from '../../../nodes/js/Matrix4Multiply';
import {MaxJsNode} from '../../../nodes/js/Max';
import {MaxLengthJsNode} from '../../../nodes/js/MaxLength';
import {MinJsNode} from '../../../nodes/js/Min';
import {MixJsNode} from '../../../nodes/js/Mix';
import {ModJsNode} from '../../../nodes/js/Mod';
import {MultJsNode} from '../../../nodes/js/Mult';
import {MultAddJsNode} from '../../../nodes/js/MultAdd';
import {MultScalarJsNode} from '../../../nodes/js/MultScalar';
import {NearestPositionJsNode} from '../../../nodes/js/NearestPosition';
import {NegateJsNode} from '../../../nodes/js/Negate';
import {NoiseImprovedJsNode} from '../../../nodes/js/NoiseImproved';
import {NoiseSimplexJsNode} from '../../../nodes/js/NoiseSimplex';
import {NormalizeJsNode} from '../../../nodes/js/Normalize';
import {NullJsNode} from '../../../nodes/js/Null';
import {Object3DLocalToWorldJsNode} from '../../../nodes/js/Object3DLocalToWorld';
import {Object3DWorldToLocalJsNode} from '../../../nodes/js/Object3DWorldToLocal';
import {Object3DUpdateMatrixJsNode} from '../../../nodes/js/Object3DUpdateMatrix';
import {Object3DUpdateWorldMatrixJsNode} from '../../../nodes/js/Object3DUpdateWorldMatrix';
import {ObjectDispatchEventJsNode} from '../../../nodes/js/ObjectDispatchEvent';
import {OnChildAttributeUpdateJsNode} from '../../../nodes/js/OnChildAttributeUpdate';
import {OnKeyJsNode} from '../../../nodes/js/OnKey';
import {OnKeydownJsNode} from '../../../nodes/js/OnKeydown';
import {OnKeypressJsNode} from '../../../nodes/js/OnKeypress';
import {OnKeyupJsNode} from '../../../nodes/js/OnKeyup';
import {OnManualTriggerJsNode} from '../../../nodes/js/OnManualTrigger';
import {OnMapboxCameraMoveJsNode} from '../../../nodes/js/OnMapboxCameraMove';
import {OnMapboxCameraMoveEndJsNode} from '../../../nodes/js/OnMapboxCameraMoveEnd';
import {OnMapboxCameraMoveStartJsNode} from '../../../nodes/js/OnMapboxCameraMoveStart';
import {OnObjectAttributeUpdateJsNode} from '../../../nodes/js/OnObjectAttributeUpdate';
import {OnObjectBeforeDeleteJsNode} from '../../../nodes/js/OnObjectBeforeDelete';
import {OnObjectClickJsNode} from '../../../nodes/js/OnObjectClick';
import {OnObjectClickGPUJsNode} from '../../../nodes/js/OnObjectClickGPU';
import {OnObjectContextMenuJsNode} from '../../../nodes/js/OnObjectContextMenu';
import {OnObjectContextMenuGPUJsNode} from '../../../nodes/js/OnObjectContextMenuGPU';
import {OnObjectDoubleClickJsNode} from '../../../nodes/js/OnObjectDoubleClick';
import {OnObjectDispatchEventJsNode} from '../../../nodes/js/OnObjectDispatchEvent';
import {OnObjectHoverJsNode} from '../../../nodes/js/OnObjectHover';
import {OnObjectHoverGPUJsNode} from '../../../nodes/js/OnObjectHoverGPU';
import {OnObjectLongPressJsNode} from '../../../nodes/js/OnObjectLongPress';
import {OnObjectLongPressGPUJsNode} from '../../../nodes/js/OnObjectLongPressGPU';
import {OnObjectMouseClickJsNode} from '../../../nodes/js/OnObjectMouseClick';
import {OnObjectPointerdownJsNode} from '../../../nodes/js/OnObjectPointerdown';
import {OnObjectPointerdownGPUJsNode} from '../../../nodes/js/OnObjectPointerdownGPU';
import {OnObjectPointerupJsNode} from '../../../nodes/js/OnObjectPointerup';
import {OnObjectPointerupGPUJsNode} from '../../../nodes/js/OnObjectPointerupGPU';
import {OnObjectSwipeJsNode} from '../../../nodes/js/OnObjectSwipe';
import {OnObjectSwipeGPUJsNode} from '../../../nodes/js/OnObjectSwipeGPU';
// import {OnObjectSwipedownJsNode} from '../../../nodes/js/OnObjectSwipedown';
// import {OnObjectSwipeleftJsNode} from '../../../nodes/js/OnObjectSwipeleft';
// import {OnObjectSwiperightJsNode} from '../../../nodes/js/OnObjectSwiperight';
// import {OnObjectSwipeupJsNode} from '../../../nodes/js/OnObjectSwipeup';
import {OnPerformanceChangeJsNode} from '../../../nodes/js/OnPerformanceChange';
import {OnPointerdownJsNode} from '../../../nodes/js/OnPointerdown';
import {OnPointerupJsNode} from '../../../nodes/js/OnPointerup';
import {OnScenePauseJsNode} from '../../../nodes/js/OnScenePause';
import {OnScenePlayJsNode} from '../../../nodes/js/OnScenePlay';
import {OnSceneResetJsNode} from '../../../nodes/js/OnSceneReset';
import {OnScrollJsNode} from '../../../nodes/js/OnScroll';
import {OnTickJsNode} from '../../../nodes/js/OnTick';
import {OnVideoEventJsNode} from '../../../nodes/js/OnVideoEvent';
import {OnViewerControlsEventJsNode} from '../../../nodes/js/OnViewerControlsEvent';
import {OnWebXRControllerEventJsNode} from '../../../nodes/js/OnWebXRControllerEvent';
import {OrJsNode} from '../../../nodes/js/Or';
import {OutputJsNode} from '../../../nodes/js/Output';
import {OutputAmbientLightJsNode} from '../../../nodes/js/OutputAmbientLight';
import {OutputAreaLightJsNode} from '../../../nodes/js/OutputAreaLight';
import {OutputDirectionalLightJsNode} from '../../../nodes/js/OutputDirectionalLight';
import {OutputHemisphereLightJsNode} from '../../../nodes/js/OutputHemisphereLight';
import {OutputPointLightJsNode} from '../../../nodes/js/OutputPointLight';
import {OutputSpotLightJsNode} from '../../../nodes/js/OutputSpotLight';
import {ParamJsNode} from '../../../nodes/js/Param';
import {ParticlesSystemResetJsNode} from '../../../nodes/js/ParticlesSystemReset';
import {ParticlesSystemStepSimulationJsNode} from '../../../nodes/js/ParticlesSystemStepSimulation';
import {PauseAudioSourceJsNode} from '../../../nodes/js/PauseAudioSource';
import {PhysicsDebugUpdateJsNode} from '../../../nodes/js/PhysicsDebugUpdate';
import {PhysicsPlayerUpdateJsNode} from '../../../nodes/js/PhysicsPlayerUpdate';
import {PhysicsRBDAddForceJsNode} from '../../../nodes/js/PhysicsRBDAddForce';
import {PhysicsRBDAddForceAtPointJsNode} from '../../../nodes/js/PhysicsRBDAddForceAtPoint';
import {PhysicsRBDAddTorqueJsNode} from '../../../nodes/js/PhysicsRBDAddTorque';
import {PhysicsRBDApplyImpulseJsNode} from '../../../nodes/js/PhysicsRBDApplyImpulse';
import {PhysicsRBDApplyTorqueImpulseJsNode} from '../../../nodes/js/PhysicsRBDApplyTorqueImpulse';
import {PhysicsRBDApplyImpulseAtPointJsNode} from '../../../nodes/js/PhysicsRBDApplyImpulseAtPoint';
import {PhysicsRBDResetAllJsNode} from '../../../nodes/js/PhysicsRBDResetAll';
import {PhysicsRBDResetForcesJsNode} from '../../../nodes/js/PhysicsRBDResetForces';
import {PhysicsRBDResetTorquesJsNode} from '../../../nodes/js/PhysicsRBDResetTorques';
import {PhysicsWorldResetJsNode} from '../../../nodes/js/PhysicsWorldReset';
import {PhysicsWorldStepSimulationJsNode} from '../../../nodes/js/PhysicsWorldStepSimulation';
import {PlaneJsNode} from '../../../nodes/js/Plane';
import {PlayAnimationJsNode} from '../../../nodes/js/PlayAnimation';
import {PlayAudioSourceJsNode} from '../../../nodes/js/PlayAudioSource';
import {PlayerModeJsNode} from '../../../nodes/js/PlayerMode';
import {PlayerUpdateJsNode} from '../../../nodes/js/PlayerUpdate';
import {PlayInstrumentNoteJsNode} from '../../../nodes/js/PlayInstrumentNote';
import {PolarTransformJsNode} from '../../../nodes/js/PolarTransform';
import {PowJsNode} from '../../../nodes/js/Pow';
import {PressButtonParamJsNode} from '../../../nodes/js/PressButtonParam';
import {PreviousValueJsNode} from '../../../nodes/js/PreviousValue';
import {PrimitiveNeighbourIndexJsNode} from '../../../nodes/js/PrimitiveNeighbourIndex';
import {PrimitiveNeighboursCountJsNode} from '../../../nodes/js/PrimitiveNeighboursCount';
import {QuaternionJsNode} from '../../../nodes/js/Quaternion';
import {QuaternionAngleToJsNode} from '../../../nodes/js/QuaternionAngleTo';
import {QuaternionSlerpJsNode} from '../../../nodes/js/QuaternionSlerp';
import {RadToDegJsNode} from '../../../nodes/js/RadToDeg';
import {RandJsNode} from '../../../nodes/js/Rand';
import {RandomJsNode} from '../../../nodes/js/Random';
import {RayJsNode} from '../../../nodes/js/Ray';
import {RayFromCameraJsNode} from '../../../nodes/js/RayFromCamera';
import {RayFromCursorJsNode} from '../../../nodes/js/RayFromCursor';
import {RayIntersectBoxJsNode} from '../../../nodes/js/RayIntersectBox';
import {RayIntersectsBoxJsNode} from '../../../nodes/js/RayIntersectsBox';
import {RayIntersectObjectJsNode} from '../../../nodes/js/RayIntersectObject';
import {RayIntersectsObjectJsNode} from '../../../nodes/js/RayIntersectsObject';
import {RayDistanceToPlaneJsNode} from '../../../nodes/js/RayDistanceToPlane';
import {RayIntersectPlaneJsNode} from '../../../nodes/js/RayIntersectPlane';
import {RayIntersectsPlaneJsNode} from '../../../nodes/js/RayIntersectsPlane';
import {RayIntersectSphereJsNode} from '../../../nodes/js/RayIntersectSphere';
import {RayIntersectsSphereJsNode} from '../../../nodes/js/RayIntersectsSphere';
import {RenderPixelJsNode} from '../../../nodes/js/RenderPixel';
import {RotateJsNode} from '../../../nodes/js/Rotate';
import {RoundJsNode} from '../../../nodes/js/Round';
import {SDF2DBoxJsNode} from '../../../nodes/js/SDF2DBox';
import {SDF2DCircleJsNode} from '../../../nodes/js/SDF2DCircle';
import {SDF2DCrossJsNode} from '../../../nodes/js/SDF2DCross';
import {SDF2DHeartJsNode} from '../../../nodes/js/SDF2DHeart';
import {SDF2DRoundedXJsNode} from '../../../nodes/js/SDF2DRoundedX';
import {SDFBoxJsNode} from '../../../nodes/js/SDFBox';
import {SDFElongateJsNode} from '../../../nodes/js/SDFElongate';
import {SDFIntersectJsNode} from '../../../nodes/js/SDFIntersect';
import {SDFOnionJsNode} from '../../../nodes/js/SDFOnion';
import {SDFPlaneJsNode} from '../../../nodes/js/SDFPlane';
import {SDFRevolutionJsNode} from '../../../nodes/js/SDFRevolution';
import {SDFSphereJsNode} from '../../../nodes/js/SDFSphere';
import {SDFSubtractJsNode} from '../../../nodes/js/SDFSubtract';
import {SDFTorusJsNode} from '../../../nodes/js/SDFTorus';
import {SDFTransformJsNode} from '../../../nodes/js/SDFTransform';
import {SDFTubeJsNode} from '../../../nodes/js/SDFTube';
import {SDFUnionJsNode} from '../../../nodes/js/SDFUnion';
import {SetCameraViewOffsetJsNode} from '../../../nodes/js/SetCameraViewOffset';
import {SetClothConstraintPositionJsNode} from '../../../nodes/js/SetClothConstraintPosition';
import {SetCSSObjectClassJsNode} from '../../../nodes/js/SetCSSObjectClass';
import {SetGeometryInstanceAttributeJsNode} from '../../../nodes/js/SetGeometryInstanceAttribute';
import {SetGeometryInstancePositionsJsNode} from '../../../nodes/js/SetGeometryInstancePositions';
import {SetGeometryInstanceQuaternionsJsNode} from '../../../nodes/js/SetGeometryInstanceQuaternions';
import {SetGeometryInstanceScalesJsNode} from '../../../nodes/js/SetGeometryInstanceScales';
import {SetGeometryInstanceTransformsJsNode} from '../../../nodes/js/SetGeometryInstanceTransforms';
import {SetGeometryPositionsJsNode} from '../../../nodes/js/SetGeometryPositions';
import {SetInstanceAttributeJsNode} from '../../../nodes/js/SetInstanceAttribute';
import {SetInstanceLookAtJsNode} from '../../../nodes/js/SetInstanceLookAt';
import {SetInstancePositionJsNode} from '../../../nodes/js/SetInstancePosition';
import {SetInstanceQuaternionJsNode} from '../../../nodes/js/SetInstanceQuaternion';
import {SetInstanceScaleJsNode} from '../../../nodes/js/SetInstanceScale';
import {SetMaterialAlphaMapJsNode} from '../../../nodes/js/SetMaterialAlphaMap';
import {SetMaterialAOMapJsNode} from '../../../nodes/js/SetMaterialAOMap';
import {SetMaterialColorJsNode} from '../../../nodes/js/SetMaterialColor';
import {SetMaterialDisplacementMapJsNode} from '../../../nodes/js/SetMaterialDisplacementMap';
import {SetMaterialEmissiveColorJsNode} from '../../../nodes/js/SetMaterialEmissiveColor';
import {SetMaterialEnvMapJsNode} from '../../../nodes/js/SetMaterialEnvMap';
import {SetMaterialEmissiveMapJsNode} from '../../../nodes/js/SetMaterialEmissiveMap';
import {SetMaterialMapJsNode} from '../../../nodes/js/SetMaterialMap';
import {SetMaterialMetalnessMapJsNode} from '../../../nodes/js/SetMaterialMetalnessMap';
import {SetMaterialRoughnessMapJsNode} from '../../../nodes/js/SetMaterialRoughnessMap';
import {SetMaterialOpacityJsNode} from '../../../nodes/js/SetMaterialOpacity';
import {SetMaterialUniformJsNode} from '../../../nodes/js/SetMaterialUniform';
import {SetObjectAttributeJsNode} from '../../../nodes/js/SetObjectAttribute';
import {SetObjectCastShadowJsNode} from '../../../nodes/js/SetObjectCastShadow';
import {SetObjectFrustumCulledJsNode} from '../../../nodes/js/SetObjectFrustumCulled';
import {SetObjectLookAtJsNode} from '../../../nodes/js/SetObjectLookAt';
import {SetObjectMaterialJsNode} from '../../../nodes/js/SetObjectMaterial';
import {SetObjectMaterialColorJsNode} from '../../../nodes/js/SetObjectMaterialColor';
import {SetObjectMatrixJsNode} from '../../../nodes/js/SetObjectMatrix';
import {SetObjectMatrixAutoUpdateJsNode} from '../../../nodes/js/SetObjectMatrixAutoUpdate';
import {SetObjectPositionJsNode} from '../../../nodes/js/SetObjectPosition';
import {SetObjectReceiveShadowJsNode} from '../../../nodes/js/SetObjectReceiveShadow';
import {SetObjectRotationJsNode} from '../../../nodes/js/SetObjectRotation';
import {SetObjectQuaternionJsNode} from '../../../nodes/js/SetObjectQuaternion';
import {SetObjectPolarTransformJsNode} from '../../../nodes/js/SetObjectPolarTransform';
import {SetObjectScaleJsNode} from '../../../nodes/js/SetObjectScale';
import {SetObjectVisibleJsNode} from '../../../nodes/js/SetObjectVisible';
import {SetParamJsNode} from '../../../nodes/js/SetParam';
import {SetPerspectiveCameraFovJsNode} from '../../../nodes/js/SetPerspectiveCameraFov';
import {SetPerspectiveCameraNearFarJsNode} from '../../../nodes/js/SetPerspectiveCameraNearFar';
import {SetPhysicsRBDAngularVelocityJsNode} from '../../../nodes/js/SetPhysicsRBDAngularVelocity';
import {SetPhysicsRBDLinearVelocityJsNode} from '../../../nodes/js/SetPhysicsRBDLinearVelocity';
import {SetPhysicsRBDPositionJsNode} from '../../../nodes/js/SetPhysicsRBDPosition';
import {SetPhysicsRBDRotationJsNode} from '../../../nodes/js/SetPhysicsRBDRotation';
import {SetPhysicsRBDCapsulePropertyJsNode} from '../../../nodes/js/SetPhysicsRBDCapsuleProperty';
import {SetPhysicsRBDConePropertyJsNode} from '../../../nodes/js/SetPhysicsRBDConeProperty';
import {SetPhysicsRBDCylinderPropertyJsNode} from '../../../nodes/js/SetPhysicsRBDCylinderProperty';
import {SetPhysicsRBDCuboidPropertyJsNode} from '../../../nodes/js/SetPhysicsRBDCuboidProperty';
import {SetPhysicsRBDSpherePropertyJsNode} from '../../../nodes/js/SetPhysicsRBDSphereProperty';
import {SetPhysicsWorldGravityJsNode} from '../../../nodes/js/SetPhysicsWorldGravity';
import {SetPlayerInputJsNode} from '../../../nodes/js/SetPlayerInput';
import {SetPointAttributeJsNode} from '../../../nodes/js/SetPointAttribute';
import {SetPointPositionJsNode} from '../../../nodes/js/SetPointPosition';
import {SetSoftBodyPositionJsNode} from '../../../nodes/js/SetSoftBodyPosition';
import {SetSoftBodyVelocityJsNode} from '../../../nodes/js/SetSoftBodyVelocity';
import {SetSoftBodyConstraintPositionJsNode} from '../../../nodes/js/SetSoftBodyConstraintPosition';
import {SetSpotLightIntensityJsNode} from '../../../nodes/js/SetSpotLightIntensity';
import {SetViewerJsNode} from '../../../nodes/js/SetViewer';
import {SetViewerControlsJsNode} from '../../../nodes/js/SetViewerControls';
import {SetWFCSoftConstraintJsNode} from '../../../nodes/js/SetWFCSoftConstraint';
import {SignJsNode} from '../../../nodes/js/Sign';
import {SinJsNode} from '../../../nodes/js/Sin';
import {SmoothstepJsNode} from '../../../nodes/js/Smoothstep';
import {SmootherstepJsNode} from '../../../nodes/js/Smootherstep';
import {SoftBodySolverStepSimulationJsNode} from '../../../nodes/js/SoftBodySolverStepSimulation';
import {SphereJsNode} from '../../../nodes/js/Sphere';
import {SqrtJsNode} from '../../../nodes/js/Sqrt';
import {SubnetJsNode} from '../../../nodes/js/Subnet';
import {SubnetInputJsNode} from '../../../nodes/js/SubnetInput';
import {SubnetOutputJsNode} from '../../../nodes/js/SubnetOutput';
import {SubtractJsNode} from '../../../nodes/js/Subtract';
import {SwitchJsNode} from '../../../nodes/js/Switch';
import {TanJsNode} from '../../../nodes/js/Tan';
// import {TextureSDFJsNode} from '../../../nodes/js/TextureSDF';
import {TrackFaceJsNode} from '../../../nodes/js/TrackFace';
import {TrackHandJsNode} from '../../../nodes/js/TrackHand';
import {TriggerDelayJsNode} from '../../../nodes/js/TriggerDelay';
import {TriggerFilterJsNode} from '../../../nodes/js/TriggerFilter';
import {TriggerSwitchJsNode} from '../../../nodes/js/TriggerSwitch';
import {TriggerTwoWaySwitchJsNode} from '../../../nodes/js/TriggerTwoWaySwitch';
import {TwoWaySwitchJsNode} from '../../../nodes/js/TwoWaySwitch';
import {Vector3AngleToJsNode} from '../../../nodes/js/Vector3AngleTo';
import {Vector3ProjectJsNode} from '../../../nodes/js/Vector3Project';
import {Vector3ProjectOnPlaneJsNode} from '../../../nodes/js/Vector3ProjectOnPlane';
import {Vector3UnprojectJsNode} from '../../../nodes/js/Vector3Unproject';
import {Vec2ToFloatJsNode} from '../../../nodes/js/Vec2ToFloat';
import {Vec2ToVec3JsNode} from '../../../nodes/js/Vec2ToVec3';
import {Vec3ToFloatJsNode} from '../../../nodes/js/Vec3ToFloat';
import {Vec3ToColorJsNode} from '../../../nodes/js/Vec3ToColor';
import {Vec3ToVec2JsNode} from '../../../nodes/js/Vec3ToVec2';
import {Vec3ToVec4JsNode} from '../../../nodes/js/Vec3ToVec4';
import {Vec4ToFloatJsNode} from '../../../nodes/js/Vec4ToFloat';
import {Vec4ToVec3JsNode} from '../../../nodes/js/Vec4ToVec3';
import {Vector2JsNode} from '../../../nodes/js/Vector2';
import {Vector3JsNode} from '../../../nodes/js/Vector3';
import {Vector3ApplyMatrix4JsNode} from '../../../nodes/js/Vector3ApplyMatrix4';
import {Vector4JsNode} from '../../../nodes/js/Vector4';
import {WFCBuildJsNode} from '../../../nodes/js/WFCBuild';
export interface JsNodeChildrenMap {
abs: AbsJsNode;
add: AddJsNode;
acos: AcosJsNode;
and: AndJsNode;
animationAction: AnimationActionJsNode;
animationActionCrossFade: AnimationActionCrossFadeJsNode;
animationActionFadeOut: AnimationActionFadeOutJsNode;
animationActionFadeIn: AnimationActionFadeInJsNode;
animationActionPlay: AnimationActionPlayJsNode;
animationActionStop: AnimationActionStopJsNode;
animationMixer: AnimationMixerJsNode;
animationMixerUpdate: AnimationMixerUpdateJsNode;
anyTrigger: AnyTriggerJsNode;
arrayElement: ArrayElementJsNode;
arrayLength: ArrayLengthJsNode;
arrayPop: ArrayPopJsNode;
arrayShift: ArrayShiftJsNode;
asin: AsinJsNode;
atan: AtanJsNode;
attribute: AttributeJsNode;
boolToInt: BoolToIntJsNode;
box3: Box3JsNode;
box3ContainsPoint: Box3ContainsPointJsNode;
box3IntersectsBox3: Box3IntersectsBox3JsNode;
box3SetFromObject: Box3SetFromObjectJsNode;
catmullRomCurve3GetPoint: CatmullRomCurve3GetPointJsNode;
ceil: CeilJsNode;
clamp: ClampJsNode;
clothSolverReset: ClothSolverResetJsNode;
clothSolverStepSimulation: ClothSolverStepSimulationJsNode;
clothSolverUpdateMaterial: ClothSolverUpdateMaterialJsNode;
code: CodeJsNode;
compare: CompareJsNode;
complement: ComplementJsNode;
computeVelocity: ComputeVelocityJsNode;
cookNode: CookNodeJsNode;
colorToVec3: ColorToVec3JsNode;
constant: ConstantJsNode;
cos: CosJsNode;
createClothConstraint: CreateClothConstraintJsNode;
createObjects: CreateObjectsJsNode;
createPhysicsRBDKinematicConstraint: CreatePhysicsRBDKinematicConstraintJsNode;
createPhysicsRBDs: CreatePhysicsRBDsJsNode;
createSoftBodyConstraint: CreateSoftBodyConstraintJsNode;
cross: CrossJsNode;
cursor: CursorJsNode;
cursorToUv: CursorToUvJsNode;
debug: DebugJsNode;
deformGeometryCubeLattice: DeformGeometryCubeLatticeJsNode;
deleteClothConstraint: DeleteClothConstraintJsNode;
deleteObject: DeleteObjectJsNode;
deletePhysicsRBD: DeletePhysicsRBDJsNode;
deletePhysicsRBDKinematicConstraint: DeletePhysicsRBDKinematicConstraintJsNode;
deletePhysicsRBDConstraints: DeletePhysicsRBDConstraintsJsNode;
deleteSoftBodyConstraint: DeleteSoftBodyConstraintJsNode;
degToRad: DegToRadJsNode;
deviceOrientation: DeviceOrientationJsNode;
dot: DotJsNode;
distance: DistanceJsNode;
divide: DivideJsNode;
easing: EasingJsNode;
elementsToArray: ElementsToArrayJsNode;
euler: EulerJsNode;
eulerFromQuaternion: EulerFromQuaternionJsNode;
fit: FitJsNode;
floatToColor: FloatToColorJsNode;
floatToInt: FloatToIntJsNode;
floatToVec2: FloatToVec2JsNode;
floatToVec3: FloatToVec3JsNode;
floatToVec4: FloatToVec4JsNode;
floor: FloorJsNode;
forLoop: ForLoopJsNode;
geolocationCurrentPosition: GeolocationCurrentPositionJsNode;
getBox3Property: GetBox3PropertyJsNode;
getChildrenAttributes: GetChildrenAttributesJsNode;
getChildrenPhysicsRBDProperties: GetChildrenPhysicsRBDPropertiesJsNode;
getChildrenProperties: GetChildrenPropertiesJsNode;
getDefaultCamera: GetDefaultCameraJsNode;
getGeometryBoundingBox: GetGeometryBoundingBoxJsNode;
getGeometryNodeObjects: GetGeometryNodeObjectsJsNode;
getGeometryPositions: GetGeometryPositionsJsNode;
getInstanceAttribute: GetInstanceAttributeJsNode;
getInstanceProperty: GetInstancePropertyJsNode;
getIntersectionAttribute: GetIntersectionAttributeJsNode;
getIntersectionProperty: GetIntersectionPropertyJsNode;
getMaterial: GetMaterialJsNode;
getNode: GetNodeJsNode;
getObject: GetObjectJsNode;
getObjectAttribute: GetObjectAttributeJsNode;
getObjectChild: GetObjectChildJsNode;
getObjectProperty: GetObjectPropertyJsNode;
getObjectUserData: GetObjectUserDataJsNode;
getObjectWorldPosition: GetObjectWorldPositionJsNode;
getParam: GetParamJsNode;
getParent: GetParentJsNode;
getPlaneProperty: GetPlanePropertyJsNode;
getPhysicsRBD: GetPhysicsRBDJsNode;
getPhysicsRBDCapsuleProperty: GetPhysicsRBDCapsulePropertyJsNode;
getPhysicsRBDConeProperty: GetPhysicsRBDConePropertyJsNode;
getPhysicsRBDCylinderProperty: GetPhysicsRBDCylinderPropertyJsNode;
getPhysicsRBDCuboidProperty: GetPhysicsRBDCuboidPropertyJsNode;
getPhysicsRBDSphereProperty: GetPhysicsRBDSpherePropertyJsNode;
getPhysicsRBDProperty: GetPhysicsRBDPropertyJsNode;
getPointAttribute: GetPointAttributeJsNode;
getPointProperty: GetPointPropertyJsNode;
getPrimitiveAttribute: GetPrimitiveAttributeJsNode;
getRayProperty: GetRayPropertyJsNode;
getSibbling: GetSibblingJsNode;
getSphereProperty: GetSpherePropertyJsNode;
getTexture: GetTextureJsNode;
getTrackedHandProperty: GetTrackedHandPropertyJsNode;
getVideoProperty: GetVideoPropertyJsNode;
getWebXRARSessionProperty: GetWebXRARSessionPropertyJsNode;
getWebXRControllerProperty: GetWebXRControllerPropertyJsNode;
getWebXRTrackedMarkerProperty: GetWebXRTrackedMarkerPropertyJsNode;
globals: GlobalsJsNode;
globalsAmbientLight: GlobalsAmbientLightJsNode;
globalsAreaLight: GlobalsAreaLightJsNode;
globalsDirectionalLight: GlobalsDirectionalLightJsNode;
globalsHemisphereLight: GlobalsHemisphereLightJsNode;
globalsPointLight: GlobalsPointLightJsNode;
globalsSpotLight: GlobalsSpotLightJsNode;
hsvToRgb: HsvToRgbJsNode;
importAttribute: ImportAttributeJsNode;
intToBool: IntToBoolJsNode;
intToFloat: IntToFloatJsNode;
isDefined: IsDefinedJsNode;
IsTouchDevice: IsTouchDeviceJsNode;
keyframes: KeyframesJsNode;
length: LengthJsNode;
lerp: LerpJsNode;
manhattanDistance: ManhattanDistanceJsNode;
matrix4LookAt: Matrix4LookAtJsNode;
matrix4MakeTranslation: Matrix4MakeTranslationJsNode;
matrix4Multiply: Matrix4MultiplyJsNode;
max: MaxJsNode;
maxLength: MaxLengthJsNode;
min: MinJsNode;
mix: MixJsNode;
mod: ModJsNode;
mult: MultJsNode;
multAdd: MultAddJsNode;
multScalar: MultScalarJsNode;
nearestPosition: NearestPositionJsNode;
negate: NegateJsNode;
noiseImproved: NoiseImprovedJsNode;
noiseSimplex: NoiseSimplexJsNode;
normalize: NormalizeJsNode;
null: NullJsNode;
object3DLocalToWorld: Object3DLocalToWorldJsNode;
object3DWorldToLocal: Object3DWorldToLocalJsNode;
object3DUpdateMatrix: Object3DUpdateMatrixJsNode;
object3DUpdateWorldMatrix: Object3DUpdateWorldMatrixJsNode;
objectDispatchEvent: ObjectDispatchEventJsNode;
onChildAttributeUpdate: OnChildAttributeUpdateJsNode;
onKey: OnKeyJsNode;
onKeydown: OnKeydownJsNode;
onKeypress: OnKeypressJsNode;
onKeyup: OnKeyupJsNode;
onManualTrigger: OnManualTriggerJsNode;
onMapboxCameraMove: OnMapboxCameraMoveJsNode;
onMapboxCameraMoveEnd: OnMapboxCameraMoveEndJsNode;
onMapboxCameraMoveStart: OnMapboxCameraMoveStartJsNode;
onObjectAttributeUpdate: OnObjectAttributeUpdateJsNode;
onObjectBeforeDelete: OnObjectBeforeDeleteJsNode;
onObjectClick: OnObjectClickJsNode;
onObjectClickGPU: OnObjectClickGPUJsNode;
onObjectContextMenu: OnObjectContextMenuJsNode;
onObjectContextMenuGPU: OnObjectContextMenuGPUJsNode;
onObjectDoubleClick: OnObjectDoubleClickJsNode;
onObjectDispatchEvent: OnObjectDispatchEventJsNode;
onObjectHover: OnObjectHoverJsNode;
onObjectHoverGPU: OnObjectHoverGPUJsNode;
onObjectLongPress: OnObjectLongPressJsNode;
onObjectLongPressGPU: OnObjectLongPressGPUJsNode;
onObjectMouseClick: OnObjectMouseClickJsNode;
onObjectPointerdown: OnObjectPointerdownJsNode;
onObjectPointerdownGPU: OnObjectPointerdownGPUJsNode;
onObjectPointerup: OnObjectPointerupJsNode;
onObjectPointerupGPU: OnObjectPointerupGPUJsNode;
onObjectSwipe: OnObjectSwipeJsNode;
onObjectSwipeGPU: OnObjectSwipeGPUJsNode;
// onObjectSwipedown: OnObjectSwipedownJsNode;
// onObjectSwipeleft: OnObjectSwipeleftJsNode;
// onObjectSwiperight: OnObjectSwiperightJsNode;
// onObjectSwipeup: OnObjectSwipeupJsNode;
onPerformanceChange: OnPerformanceChangeJsNode;
onPointerdown: OnPointerdownJsNode;
onPointerup: OnPointerupJsNode;
onScenePause: OnScenePauseJsNode;
onScenePlay: OnScenePlayJsNode;
onSceneReset: OnSceneResetJsNode;
onScroll: OnScrollJsNode;
onTick: OnTickJsNode;
onVideoEvent: OnVideoEventJsNode;
onViewerControlsEvent: OnViewerControlsEventJsNode;
onWebXRControllerEvent: OnWebXRControllerEventJsNode;
or: OrJsNode;
output: OutputJsNode;
outputAmbientLight: OutputAmbientLightJsNode;
outputAreaLight: OutputAreaLightJsNode;
outputDirectionalLight: OutputDirectionalLightJsNode;
outputHemisphereLight: OutputHemisphereLightJsNode;
outputPointLight: OutputPointLightJsNode;
outputSpotLight: OutputSpotLightJsNode;
param: ParamJsNode;
particlesSystemReset: ParticlesSystemResetJsNode;
particlesSystemStepSimulation: ParticlesSystemStepSimulationJsNode;
pauseAudioSource: PauseAudioSourceJsNode;
physicsDebugUpdate: PhysicsDebugUpdateJsNode;
physicsPlayerUpdate: PhysicsPlayerUpdateJsNode;
physicsRBDAddForce: PhysicsRBDAddForceJsNode;
physicsRBDAddForceAtPoint: PhysicsRBDAddForceAtPointJsNode;
physicsRBDAddTorque: PhysicsRBDAddTorqueJsNode;
physicsRBDApplyImpulse: PhysicsRBDApplyImpulseJsNode;
physicsRBDApplyTorqueImpulse: PhysicsRBDApplyTorqueImpulseJsNode;
physicsRBDApplyImpulseAtPoint: PhysicsRBDApplyImpulseAtPointJsNode;
physicsRBDResetAll: PhysicsRBDResetAllJsNode;
physicsRBDResetForces: PhysicsRBDResetForcesJsNode;
physicsRBDResetTorques: PhysicsRBDResetTorquesJsNode;
physicsWorldReset: PhysicsWorldResetJsNode;
physicsWorldStepSimulation: PhysicsWorldStepSimulationJsNode;
plane: PlaneJsNode;
playAnimation: PlayAnimationJsNode;
playAudioSource: PlayAudioSourceJsNode;
playerMode: PlayerModeJsNode;
playInstrumentNote: PlayInstrumentNoteJsNode;
playerUpdate: PlayerUpdateJsNode;
polarTransform: PolarTransformJsNode;
pow: PowJsNode;
pressButtonParam: PressButtonParamJsNode;
previousValue: PreviousValueJsNode;
primitiveNeighbourIndex: PrimitiveNeighbourIndexJsNode;
primitiveNeighboursCount: PrimitiveNeighboursCountJsNode;
quaternion: QuaternionJsNode;
quaternionAngleTo: QuaternionAngleToJsNode;
quaternionSlerp: QuaternionSlerpJsNode;
radToDeg: RadToDegJsNode;
rand: RandJsNode;
random: RandomJsNode;
ray: RayJsNode;
rayFromCamera: RayFromCameraJsNode;
rayFromCursor: RayFromCursorJsNode;
rayIntersectBox: RayIntersectBoxJsNode;
rayIntersectsBox: RayIntersectsBoxJsNode;
rayIntersectObject: RayIntersectObjectJsNode;
rayIntersectsObject: RayIntersectsObjectJsNode;
rayDistanceToPlane: RayDistanceToPlaneJsNode;
rayIntersectPlane: RayIntersectPlaneJsNode;
rayIntersectsPlane: RayIntersectsPlaneJsNode;
rayIntersectSphere: RayIntersectSphereJsNode;
rayIntersectsSphere: RayIntersectsSphereJsNode;
renderPixel: RenderPixelJsNode;
rotate: RotateJsNode;
round: RoundJsNode;
SDF2DBox: SDF2DBoxJsNode;
SDF2DCircle: SDF2DCircleJsNode;
SDF2DCross: SDF2DCrossJsNode;
SDF2DHeart: SDF2DHeartJsNode;
SDF2DRoundedX: SDF2DRoundedXJsNode;
SDFBox: SDFBoxJsNode;
SDFElongate: SDFElongateJsNode;
SDFIntersect: SDFIntersectJsNode;
SDFOnion: SDFOnionJsNode;
SDFPlane: SDFPlaneJsNode;
SDFRevolution: SDFRevolutionJsNode;
SDFSphere: SDFSphereJsNode;
SDFSubtract: SDFSubtractJsNode;
SDFTorus: SDFTorusJsNode;
SDFTransform: SDFTransformJsNode;
SDFTube: SDFTubeJsNode;
SDFUnion: SDFUnionJsNode;
setCameraViewOffset: SetCameraViewOffsetJsNode;
setCSSObjectClass: SetCSSObjectClassJsNode;
setGeometryInstanceAttribute: SetGeometryInstanceAttributeJsNode;
setGeometryInstancePositions: SetGeometryInstancePositionsJsNode;
setGeometryInstanceQuaternions: SetGeometryInstanceQuaternionsJsNode;
setGeometryInstanceScales: SetGeometryInstanceScalesJsNode;
setGeometryInstanceTransforms: SetGeometryInstanceTransformsJsNode;
setGeometryPositions: SetGeometryPositionsJsNode;
setInstanceAttribute: SetInstanceAttributeJsNode;
setInstanceLookAt: SetInstanceLookAtJsNode;
setInstancePosition: SetInstancePositionJsNode;
setInstanceQuaternion: SetInstanceQuaternionJsNode;
setInstanceScale: SetInstanceScaleJsNode;
setMaterialAlphaMap: SetMaterialAlphaMapJsNode;
setMaterialAOMap: SetMaterialAOMapJsNode;
setMaterialColor: SetMaterialColorJsNode;
setMaterialDisplacementMap: SetMaterialDisplacementMapJsNode;
setMaterialEmissiveColor: SetMaterialEmissiveColorJsNode;
setMaterialEnvMapJsNode: SetMaterialEnvMapJsNode;
setMaterialEmissiveMapJsNode: SetMaterialEmissiveMapJsNode;
setMaterialMap: SetMaterialMapJsNode;
setMaterialMetalnessMap: SetMaterialMetalnessMapJsNode;
setMaterialRoughnessMap: SetMaterialRoughnessMapJsNode;
setMaterialOpacity: SetMaterialOpacityJsNode;
setMaterialUniform: SetMaterialUniformJsNode;
setObjectAttribute: SetObjectAttributeJsNode;
setObjectCastShadow: SetObjectCastShadowJsNode;
setObjectFrustumCulled: SetObjectFrustumCulledJsNode;
setObjectLookAt: SetObjectLookAtJsNode;
setObjectMaterial: SetObjectMaterialJsNode;
setObjectMaterialColor: SetObjectMaterialColorJsNode;
setObjectMatrix: SetObjectMatrixJsNode;
setObjectMatrixAutoUpdate: SetObjectMatrixAutoUpdateJsNode;
setObjectPosition: SetObjectPositionJsNode;
setObjectPolarTransform: SetObjectPolarTransformJsNode;
setObjectQuaternion: SetObjectQuaternionJsNode;
setObjectRotation: SetObjectRotationJsNode;
setObjectReceiveShadow: SetObjectReceiveShadowJsNode;
setObjectScale: SetObjectScaleJsNode;
setObjectVisible: SetObjectVisibleJsNode;
setParam: SetParamJsNode;
setPerspectiveCameraFov: SetPerspectiveCameraFovJsNode;
setPerspectiveCameraNearFar: SetPerspectiveCameraNearFarJsNode;
setPhysicsRBDAngularVelocity: SetPhysicsRBDAngularVelocityJsNode;
setPhysicsRBDLinearVelocity: SetPhysicsRBDLinearVelocityJsNode;
setPhysicsRBDPosition: SetPhysicsRBDPositionJsNode;
setPhysicsRBDRotation: SetPhysicsRBDRotationJsNode;
setPhysicsRBDCapsuleProperty: SetPhysicsRBDCapsulePropertyJsNode;
setPhysicsRBDConeProperty: SetPhysicsRBDConePropertyJsNode;
setPhysicsRBDCylinderProperty: SetPhysicsRBDCylinderPropertyJsNode;
setPhysicsRBDCuboidProperty: SetPhysicsRBDCuboidPropertyJsNode;
setPhysicsRBDSphereProperty: SetPhysicsRBDSpherePropertyJsNode;
setPhysicsWorldGravity: SetPhysicsWorldGravityJsNode;
setPlayerInput: SetPlayerInputJsNode;
setPointAttribute: SetPointAttributeJsNode;
setPointPosition: SetPointPositionJsNode;
setClothConstraintPosition: SetClothConstraintPositionJsNode;
setSoftBodyPosition: SetSoftBodyPositionJsNode;
setSoftBodyVelocity: SetSoftBodyVelocityJsNode;
setSoftBodyConstraintPosition: SetSoftBodyConstraintPositionJsNode;
setSpotLightIntensity: SetSpotLightIntensityJsNode;
setViewer: SetViewerJsNode;
setViewerControls: SetViewerControlsJsNode;
SetWFCSoftConstraint: SetWFCSoftConstraintJsNode;
sign: SignJsNode;
sin: SinJsNode;
smoothstep: SmoothstepJsNode;
smootherstep: SmootherstepJsNode;
softBodySolverStepSimulation: SoftBodySolverStepSimulationJsNode;
sphere: SphereJsNode;
sqrt: SqrtJsNode;
subnet: SubnetJsNode;
subnetInput: SubnetInputJsNode;
subnetOutput: SubnetOutputJsNode;
subtract: SubtractJsNode;
switch: SwitchJsNode;
tan: TanJsNode;
// textureSDF: TextureSDFJsNode;
trackFace: TrackFaceJsNode;
trackHand: TrackHandJsNode;
triggerDelay: TriggerDelayJsNode;
triggerFilter: TriggerFilterJsNode;
triggerSwitch: TriggerSwitchJsNode;
triggerTwoWaySwitch: TriggerTwoWaySwitchJsNode;
twoWaySwitch: TwoWaySwitchJsNode;
vector3AngleTo: Vector3AngleToJsNode;
vector3Project: Vector3ProjectJsNode;
vector3ProjectOnPlane: Vector3ProjectOnPlaneJsNode;
vector3Unproject: Vector3UnprojectJsNode;
vec2ToFloat: Vec2ToFloatJsNode;
vec2ToVec3: Vec2ToVec3JsNode;
vec3ToColor: Vec3ToColorJsNode;
vec3ToFloat: Vec3ToFloatJsNode;
vec3ToVec2: Vec3ToVec2JsNode;
vec3ToVec4: Vec3ToVec4JsNode;
vec4ToFloat: Vec4ToFloatJsNode;
vec4ToVec3: Vec4ToVec3JsNode;
vector2: Vector2JsNode;
vector3: Vector3JsNode;
vector3ApplyMatrix4: Vector3ApplyMatrix4JsNode;
vector4: Vector4JsNode;
WFCBuild: WFCBuildJsNode;
}
import {PolyEngine} from '../../../Poly';
import {SopType} from './types/Sop';
import {NetworkNodeType, NodeContext} from '../../NodeContext';
import {JsType} from './types/Js';
const sopType = (type: SopType) => `${NodeContext.SOP}/${type}`;
const jsType = (type: JsType | NetworkNodeType) => `${NodeContext.JS}/${type}`;
const JS_SUBNET_TYPE = jsType(NetworkNodeType.SUBNET);
const JS_FOR_LOOP_TYPE = jsType(JsType.FOR_LOOP);
const JS_SUBNET_TYPES = [JS_SUBNET_TYPE, JS_FOR_LOOP_TYPE];
const SUBNET_CHILD_OPTION = {
only: JS_SUBNET_TYPES,
};
const ONLY_WITH_GLOBALS = {
only: [
sopType(SopType.ENTITY_BUILDER),
sopType(SopType.INSTANCE_BUILDER),
sopType(SopType.OBJECT_BUILDER),
sopType(SopType.POINT_BUILDER),
sopType(SopType.SDF_BUILDER),
sopType(SopType.TET_SOFT_BODY_SOLVER),
],
};
const ONLY_OBJECT_BUILDER = {
only: [sopType(SopType.OBJECT_BUILDER), ...JS_SUBNET_TYPES],
};
const ONLY_ENTITY_BUILDERS = {
only: [
sopType(SopType.ENTITY_BUILDER),
sopType(SopType.INSTANCE_BUILDER),
sopType(SopType.OBJECT_BUILDER),
sopType(SopType.POINT_BUILDER),
...JS_SUBNET_TYPES,
],
};
const ONLY_ENTITY_BUILDER = {
only: [sopType(SopType.ENTITY_BUILDER), ...JS_SUBNET_TYPES],
};
const ACTOR_OBJECTS = [
sopType(SopType.ACTOR),
sopType(SopType.PHYSICS_WORLD),
sopType(SopType.PHYSICS_DEBUG),
sopType(SopType.PHYSICS_PLAYER),
// sopType(SopType.TET_SOFT_BODY_SOLVER),
...[
NodeContext.ANIM,
NodeContext.AUDIO,
NodeContext.COP,
NodeContext.EVENT,
NodeContext.MAT,
NodeContext.OBJ,
NodeContext.POST,
NodeContext.ROP,
NodeContext.SOP,
].map((c) => `${c}/${NetworkNodeType.ACTOR}`),
];
const ACTOR_POINTS = [sopType(SopType.ACTOR_POINT)];
const ACTOR_INSTANCES = [sopType(SopType.ACTOR_INSTANCE)];
// const SDF_BUILDERs = [sopType(SopType.SDF_BUILDER)];
const ONLY_ACTOR = {
only: ACTOR_OBJECTS,
};
const ONLY_ACTOR_POINT = {
only: ACTOR_POINTS,
};
const ONLY_ACTOR_INSTANCE = {
only: ACTOR_INSTANCES,
};
const ONLY_ACTOR_AND_POINT = {
only: [...ACTOR_OBJECTS, ...ACTOR_POINTS, ...ACTOR_INSTANCES],
};
// const ONLY_ACTOR_AND_SDF = {
// only: [...ACTOR_OBJECTS, ...SDF_BUILDERs],
// };
export class JsRegister {
static run(poly: PolyEngine) {
poly.registerNode(AttributeJsNode, CATEGORY_JS.GLOBALS, ONLY_ENTITY_BUILDERS);
poly.registerNode(AbsJsNode, CATEGORY_JS.MATH);
poly.registerNode(AcosJsNode, CATEGORY_JS.MATH);
poly.registerNode(AddJsNode, CATEGORY_JS.MATH);
poly.registerNode(AndJsNode, CATEGORY_JS.LOGIC);
poly.registerNode(AnimationActionJsNode, CATEGORY_JS.ANIMATION, ONLY_ACTOR);
poly.registerNode(AnimationActionCrossFadeJsNode, CATEGORY_JS.ANIMATION, ONLY_ACTOR);
poly.registerNode(AnimationActionFadeOutJsNode, CATEGORY_JS.ANIMATION, ONLY_ACTOR);
poly.registerNode(AnimationActionFadeInJsNode, CATEGORY_JS.ANIMATION, ONLY_ACTOR);
poly.registerNode(AnimationActionPlayJsNode, CATEGORY_JS.ANIMATION, ONLY_ACTOR);
poly.registerNode(AnimationActionStopJsNode, CATEGORY_JS.ANIMATION, ONLY_ACTOR);
poly.registerNode(AnimationMixerJsNode, CATEGORY_JS.ANIMATION, ONLY_ACTOR);
poly.registerNode(AnimationMixerUpdateJsNode, CATEGORY_JS.ANIMATION, ONLY_ACTOR);
poly.registerNode(AnyTriggerJsNode, CATEGORY_JS.ANIMATION, ONLY_ACTOR);
poly.registerNode(ArrayElementJsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(ArrayLengthJsNode, CATEGORY_JS.LOGIC);
poly.registerNode(ArrayPopJsNode, CATEGORY_JS.LOGIC);
poly.registerNode(ArrayShiftJsNode, CATEGORY_JS.LOGIC);
poly.registerNode(AsinJsNode, CATEGORY_JS.MATH);
poly.registerNode(AtanJsNode, CATEGORY_JS.MATH);
poly.registerNode(BoolToIntJsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(Box3JsNode, CATEGORY_JS.MATH);
poly.registerNode(Box3ContainsPointJsNode, CATEGORY_JS.MATH);
poly.registerNode(Box3IntersectsBox3JsNode, CATEGORY_JS.MATH);
poly.registerNode(Box3SetFromObjectJsNode, CATEGORY_JS.MATH);
poly.registerNode(CatmullRomCurve3GetPointJsNode, CATEGORY_JS.MATH);
poly.registerNode(CeilJsNode, CATEGORY_JS.MATH);
poly.registerNode(ClampJsNode, CATEGORY_JS.MATH);
poly.registerNode(ClothSolverResetJsNode, CATEGORY_JS.PHYSICS);
poly.registerNode(ClothSolverStepSimulationJsNode, CATEGORY_JS.PHYSICS);
poly.registerNode(ClothSolverUpdateMaterialJsNode, CATEGORY_JS.PHYSICS);
poly.registerNode(CodeJsNode, CATEGORY_JS.ADVANCED, ONLY_ACTOR);
poly.registerNode(ColorToVec3JsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(CompareJsNode, CATEGORY_JS.LOGIC);
poly.registerNode(ComplementJsNode, CATEGORY_JS.MATH);
poly.registerNode(ComputeVelocityJsNode, CATEGORY_JS.MATH);
poly.registerNode(ConstantJsNode, CATEGORY_JS.GLOBALS);
poly.registerNode(CookNodeJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(CosJsNode, CATEGORY_JS.MATH);
poly.registerNode(CreateClothConstraintJsNode, CATEGORY_JS.PHYSICS);
poly.registerNode(CreateObjectsJsNode, CATEGORY_JS.ACTION);
poly.registerNode(CreatePhysicsRBDKinematicConstraintJsNode, CATEGORY_JS.PHYSICS);
poly.registerNode(CreatePhysicsRBDsJsNode, CATEGORY_JS.PHYSICS);
poly.registerNode(CreateSoftBodyConstraintJsNode, CATEGORY_JS.PHYSICS);
poly.registerNode(CrossJsNode, CATEGORY_JS.MATH);
poly.registerNode(CursorJsNode, CATEGORY_JS.INPUTS, ONLY_ACTOR);
poly.registerNode(CursorToUvJsNode, CATEGORY_JS.INPUTS);
poly.registerNode(DebugJsNode, CATEGORY_JS.FLOW, ONLY_ACTOR);
poly.registerNode(DeformGeometryCubeLatticeJsNode, CATEGORY_JS.GEOMETRY, ONLY_ACTOR);
poly.registerNode(DeleteClothConstraintJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(DeleteObjectJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(DeletePhysicsRBDJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(DeletePhysicsRBDKinematicConstraintJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(DeletePhysicsRBDConstraintsJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(DeleteSoftBodyConstraintJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(DegToRadJsNode, CATEGORY_JS.MATH);
poly.registerNode(DeviceOrientationJsNode, CATEGORY_JS.GLOBALS, ONLY_ACTOR);
poly.registerNode(DistanceJsNode, CATEGORY_JS.MATH);
poly.registerNode(DivideJsNode, CATEGORY_JS.MATH);
poly.registerNode(DotJsNode, CATEGORY_JS.MATH);
poly.registerNode(EasingJsNode, CATEGORY_JS.MATH);
poly.registerNode(ElementsToArrayJsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(EulerJsNode, CATEGORY_JS.MATH);
poly.registerNode(EulerFromQuaternionJsNode, CATEGORY_JS.MATH);
poly.registerNode(FitJsNode, CATEGORY_JS.MATH);
poly.registerNode(FloatToColorJsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(FloatToIntJsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(FloatToVec2JsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(FloatToVec3JsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(FloatToVec4JsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(FloorJsNode, CATEGORY_