@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
716 lines • 57.3 kB
JavaScript
"use strict";
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 { 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 "../../../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 { 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 "../../../nodes/js/WFCBuild";
import { SopType } from "./types/Sop";
import { NetworkNodeType, NodeContext } from "../../NodeContext";
import { JsType } from "./types/Js";
const sopType = (type) => `${NodeContext.SOP}/${type}`;
const jsType = (type) => `${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 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]
};
export class JsRegister {
static run(poly) {
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_JS.MATH);
poly.registerNode(ForLoopJsNode, CATEGORY_JS.FLOW, ONLY_ENTITY_BUILDER);
poly.registerNode(GeolocationCurrentPositionJsNode, CATEGORY_JS.GLOBALS, ONLY_ACTOR);
poly.registerNode(GetBox3PropertyJsNode, CATEGORY_JS.MATH);
poly.registerNode(GetChildrenAttributesJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetChildrenPhysicsRBDPropertiesJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(GetChildrenPropertiesJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetDefaultCameraJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetGeometryBoundingBoxJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetGeometryNodeObjectsJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetGeometryPositionsJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetIntersectionAttributeJsNode, CATEGORY_JS.GET);
poly.registerNode(GetIntersectionPropertyJsNode, CATEGORY_JS.GET);
poly.registerNode(GetInstanceAttributeJsNode, CATEGORY_JS.GET, ONLY_ACTOR_INSTANCE);
poly.registerNode(GetInstancePropertyJsNode, CATEGORY_JS.GET, ONLY_ACTOR_INSTANCE);
poly.registerNode(GetMaterialJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetObjectChildJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetObjectJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetObjectAttributeJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetObjectPropertyJsNode, CATEGORY_JS.GET);
poly.registerNode(GetObjectUserDataJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetObjectWorldPositionJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetNodeJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetParamJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetParentJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetPlanePropertyJsNode, CATEGORY_JS.MATH);
poly.registerNode(GetPhysicsRBDJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(GetPhysicsRBDCapsulePropertyJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(GetPhysicsRBDConePropertyJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(GetPhysicsRBDCylinderPropertyJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(GetPhysicsRBDCuboidPropertyJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(GetPhysicsRBDSpherePropertyJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(GetPhysicsRBDPropertyJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(GetRayPropertyJsNode, CATEGORY_JS.MATH);
poly.registerNode(GetPointAttributeJsNode, CATEGORY_JS.GET, ONLY_ACTOR_POINT);
poly.registerNode(GetPointPropertyJsNode, CATEGORY_JS.GET, ONLY_ACTOR_POINT);
poly.registerNode(GetPrimitiveAttributeJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetSibblingJsNode, CATEGORY_JS.GET);
poly.registerNode(GetSpherePropertyJsNode, CATEGORY_JS.MATH);
poly.registerNode(GetTextureJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetTrackedHandPropertyJsNode, CATEGORY_JS.COMPUTER_VISION, ONLY_ACTOR);
poly.registerNode(GetVideoPropertyJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(GetWebXRARSessionPropertyJsNode, CATEGORY_JS.WEBXR, ONLY_ACTOR);
poly.registerNode(GetWebXRControllerPropertyJsNode, CATEGORY_JS.WEBXR, ONLY_ACTOR);
poly.registerNode(GetWebXRTrackedMarkerPropertyJsNode, CATEGORY_JS.WEBXR, ONLY_ACTOR);
poly.registerNode(GlobalsJsNode, CATEGORY_JS.GLOBALS, ONLY_WITH_GLOBALS);
poly.registerNode(GlobalsAmbientLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(GlobalsAreaLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(GlobalsDirectionalLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(GlobalsHemisphereLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(GlobalsPointLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(GlobalsSpotLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(HsvToRgbJsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(ImportAttributeJsNode, CATEGORY_JS.GLOBALS, ONLY_ENTITY_BUILDER);
poly.registerNode(IntToBoolJsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(IntToFloatJsNode, CATEGORY_JS.CONVERSION);
poly.registerNode(IsDefinedJsNode, CATEGORY_JS.FLOW);
poly.registerNode(IsTouchDeviceJsNode, CATEGORY_JS.FLOW);
poly.registerNode(KeyframesJsNode, CATEGORY_JS.ANIMATION);
poly.registerNode(LengthJsNode, CATEGORY_JS.MATH);
poly.registerNode(LerpJsNode, CATEGORY_JS.MATH);
poly.registerNode(ManhattanDistanceJsNode, CATEGORY_JS.MATH);
poly.registerNode(Matrix4LookAtJsNode, CATEGORY_JS.MATH);
poly.registerNode(Matrix4MakeTranslationJsNode, CATEGORY_JS.MATH);
poly.registerNode(Matrix4MultiplyJsNode, CATEGORY_JS.MATH);
poly.registerNode(MaxJsNode, CATEGORY_JS.MATH);
poly.registerNode(MaxLengthJsNode, CATEGORY_JS.MATH);
poly.registerNode(MinJsNode, CATEGORY_JS.MATH);
poly.registerNode(MixJsNode, CATEGORY_JS.MATH);
poly.registerNode(ModJsNode, CATEGORY_JS.MATH);
poly.registerNode(MultJsNode, CATEGORY_JS.MATH);
poly.registerNode(MultAddJsNode, CATEGORY_JS.MATH);
poly.registerNode(MultScalarJsNode, CATEGORY_JS.MATH);
poly.registerNode(NearestPositionJsNode, CATEGORY_JS.MATH);
poly.registerNode(NegateJsNode, CATEGORY_JS.MATH);
poly.registerNode(NoiseImprovedJsNode, CATEGORY_JS.MATH);
poly.registerNode(NoiseSimplexJsNode, CATEGORY_JS.MATH);
poly.registerNode(NormalizeJsNode, CATEGORY_JS.MATH);
poly.registerNode(NullJsNode, CATEGORY_JS.FLOW);
poly.registerNode(Object3DLocalToWorldJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(Object3DWorldToLocalJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(Object3DUpdateMatrixJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(Object3DUpdateWorldMatrixJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(ObjectDispatchEventJsNode, CATEGORY_JS.GET, ONLY_ACTOR);
poly.registerNode(OnChildAttributeUpdateJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnKeyJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnKeydownJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnKeypressJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnKeyupJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnManualTriggerJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnMapboxCameraMoveJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnMapboxCameraMoveEndJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnMapboxCameraMoveStartJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectAttributeUpdateJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectBeforeDeleteJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectClickJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectClickGPUJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectContextMenuJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectContextMenuGPUJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectDoubleClickJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectDispatchEventJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectHoverJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectHoverGPUJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectLongPressJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectLongPressGPUJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectMouseClickJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectPointerdownJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectPointerdownGPUJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectPointerupJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectPointerupGPUJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectSwipeJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnObjectSwipeGPUJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnPerformanceChangeJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnPointerdownJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnPointerupJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnScenePauseJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnScenePlayJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnSceneResetJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnScrollJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnTickJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR_AND_POINT);
poly.registerNode(OnVideoEventJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnViewerControlsEventJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OnWebXRControllerEventJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(OrJsNode, CATEGORY_JS.LOGIC);
poly.registerNode(OutputJsNode, CATEGORY_JS.GLOBALS, ONLY_WITH_GLOBALS);
poly.registerNode(OutputAmbientLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(OutputAreaLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(OutputDirectionalLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(OutputHemisphereLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(OutputPointLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(OutputSpotLightJsNode, CATEGORY_JS.GLOBALS, ONLY_OBJECT_BUILDER);
poly.registerNode(ParamJsNode, CATEGORY_JS.GLOBALS);
poly.registerNode(ParticlesSystemResetJsNode, CATEGORY_JS.PARTICLES, ONLY_ACTOR);
poly.registerNode(ParticlesSystemStepSimulationJsNode, CATEGORY_JS.PARTICLES, ONLY_ACTOR);
poly.registerNode(PauseAudioSourceJsNode, CATEGORY_JS.AUDIO, ONLY_ACTOR);
poly.registerNode(PhysicsDebugUpdateJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsPlayerUpdateJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsRBDAddForceJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsRBDAddForceAtPointJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsRBDAddTorqueJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsRBDApplyImpulseJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsRBDApplyTorqueImpulseJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsRBDApplyImpulseAtPointJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsRBDResetAllJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsRBDResetForcesJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsRBDResetTorquesJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsWorldResetJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PhysicsWorldStepSimulationJsNode, CATEGORY_JS.PHYSICS, ONLY_ACTOR);
poly.registerNode(PlaneJsNode, CATEGORY_JS.MATH);
poly.registerNode(PlayAnimationJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(PlayAudioSourceJsNode, CATEGORY_JS.AUDIO, ONLY_ACTOR);
poly.registerNode(PlayInstrumentNoteJsNode, CATEGORY_JS.AUDIO, ONLY_ACTOR);
poly.registerNode(PlayerModeJsNode, CATEGORY_JS.LOGIC);
poly.registerNode(PlayerUpdateJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(PolarTransformJsNode, CATEGORY_JS.MATH);
poly.registerNode(PowJsNode, CATEGORY_JS.MATH);
poly.registerNode(PressButtonParamJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(PreviousValueJsNode, CATEGORY_JS.ADVANCED, ONLY_ACTOR);
poly.registerNode(PrimitiveNeighbourIndexJsNode, CATEGORY_JS.ADVANCED, ONLY_ENTITY_BUILDER);
poly.registerNode(PrimitiveNeighboursCountJsNode, CATEGORY_JS.ADVANCED, ONLY_ENTITY_BUILDER);
poly.registerNode(QuaternionJsNode, CATEGORY_JS.MATH);
poly.registerNode(QuaternionAngleToJsNode, CATEGORY_JS.MATH);
poly.registerNode(QuaternionSlerpJsNode, CATEGORY_JS.MATH);
poly.registerNode(RadToDegJsNode, CATEGORY_JS.MATH);
poly.registerNode(RandJsNode, CATEGORY_JS.MATH);
poly.registerNode(RandomJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayFromCameraJsNode, CATEGORY_JS.INPUTS);
poly.registerNode(RayFromCursorJsNode, CATEGORY_JS.INPUTS);
poly.registerNode(RayIntersectBoxJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayIntersectsBoxJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayIntersectObjectJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayIntersectsObjectJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayDistanceToPlaneJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayIntersectPlaneJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayIntersectsPlaneJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayIntersectSphereJsNode, CATEGORY_JS.MATH);
poly.registerNode(RayIntersectsSphereJsNode, CATEGORY_JS.MATH);
poly.registerNode(RenderPixelJsNode, CATEGORY_JS.ADVANCED, ONLY_ACTOR);
poly.registerNode(RotateJsNode, CATEGORY_JS.MATH);
poly.registerNode(RoundJsNode, CATEGORY_JS.MATH);
poly.registerNode(SDF2DBoxJsNode, CATEGORY_JS.SDF_PRIMITIVES_2D);
poly.registerNode(SDF2DCircleJsNode, CATEGORY_JS.SDF_PRIMITIVES_2D);
poly.registerNode(SDF2DCrossJsNode, CATEGORY_JS.SDF_PRIMITIVES_2D);
poly.registerNode(SDF2DHeartJsNode, CATEGORY_JS.SDF_PRIMITIVES_2D);
poly.registerNode(SDF2DRoundedXJsNode, CATEGORY_JS.SDF_PRIMITIVES_2D);
poly.registerNode(SDFBoxJsNode, CATEGORY_JS.SDF_PRIMITIVES);
poly.registerNode(SDFElongateJsNode, CATEGORY_JS.SDF_MODIFIERS);
poly.registerNode(SDFIntersectJsNode, CATEGORY_JS.SDF_MODIFIERS);
poly.registerNode(SDFOnionJsNode, CATEGORY_JS.SDF_PRIMITIVES);
poly.registerNode(SDFPlaneJsNode, CATEGORY_JS.SDF_PRIMITIVES);
poly.registerNode(SDFRevolutionJsNode, CATEGORY_JS.SDF_MODIFIERS);
poly.registerNode(SDFSphereJsNode, CATEGORY_JS.SDF_PRIMITIVES);
poly.registerNode(SDFSubtractJsNode, CATEGORY_JS.SDF_MODIFIERS);
poly.registerNode(SDFTorusJsNode, CATEGORY_JS.SDF_PRIMITIVES);
poly.registerNode(SDFTransformJsNode, CATEGORY_JS.SDF_PRIMITIVES);
poly.registerNode(SDFTubeJsNode, CATEGORY_JS.SDF_PRIMITIVES);
poly.registerNode(SDFUnionJsNode, CATEGORY_JS.SDF_MODIFIERS);
poly.registerNode(SetCameraViewOffsetJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(SetClothConstraintPositionJsNode, CATEGORY_JS.EVENTS, ONLY_ACTOR);
poly.registerNode(SetCSSObjectClassJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(SetGeometryInstanceAttributeJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(SetGeometryInstancePositionsJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(SetGeometryInstanceQuaternionsJsNode, CATEGORY_JS.ACTION, ONLY_ACTOR);
poly.registerNode(SetGeometryInstanceScalesJsNode, CATEGORY_JS.ACTION, ONLY