UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

902 lines (897 loc) 72.4 kB
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_