@relu-interactives/spatial-ecs 0.11.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{System-BldSHxZV.d.cts → System-D8vm-Jvv.d.cts} +110 -3
- package/dist/{System-CADhPyQs.d.ts → System-ttkDQCrj.d.ts} +110 -3
- package/dist/{XRHandPose-D3Ab1Dfs.d.cts → XRHandPose-C97XVW2R.d.cts} +2 -41
- package/dist/{XRHandPose-BNSwd1y9.d.ts → XRHandPose-CxXtWF1y.d.ts} +2 -41
- package/dist/animation/index.cjs +33 -1
- package/dist/animation/index.cjs.map +1 -1
- package/dist/animation/index.js +1 -1
- package/dist/{chunk-TY3XCHOR.js → chunk-2DJBNWBB.js} +56 -15
- package/dist/chunk-2DJBNWBB.js.map +1 -0
- package/dist/{chunk-WWP46AEF.js → chunk-4FHJA6U4.js} +8 -4
- package/dist/chunk-4FHJA6U4.js.map +1 -0
- package/dist/{chunk-GSWC6LLD.js → chunk-GMSFEXUZ.js} +35 -3
- package/dist/chunk-GMSFEXUZ.js.map +1 -0
- package/dist/{chunk-JEPUCLZX.js → chunk-QAZCVCMP.js} +88 -27
- package/dist/chunk-QAZCVCMP.js.map +1 -0
- package/dist/{chunk-NXASMBDS.js → chunk-SM5KGNYX.js} +4 -4
- package/dist/{chunk-NXASMBDS.js.map → chunk-SM5KGNYX.js.map} +1 -1
- package/dist/{chunk-JNYPJB55.js → chunk-T7SRBLPJ.js} +24 -4
- package/dist/chunk-T7SRBLPJ.js.map +1 -0
- package/dist/components/index.cjs +21 -1
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.cts +3 -3
- package/dist/components/index.d.ts +3 -3
- package/dist/components/index.js +1 -1
- package/dist/docs/api/Behaviour/classes/Behaviour.md +187 -46
- package/dist/docs/api/Behaviour/type-aliases/UiInteractionEvent.md +5 -5
- package/dist/docs/api/Component/classes/Component.md +7 -1
- package/dist/docs/api/components/classes/AnimationComponent.md +26 -26
- package/dist/docs/api/components/classes/AudioComponent.md +20 -19
- package/dist/docs/api/components/classes/BoneAttachmentComponent.md +65 -0
- package/dist/docs/api/components/classes/CameraComponent.md +14 -14
- package/dist/docs/api/components/classes/EntityType.md +3 -3
- package/dist/docs/api/components/classes/Environment.md +3 -3
- package/dist/docs/api/components/classes/IKComponent.md +59 -0
- package/dist/docs/api/components/classes/ImageComponent.md +7 -7
- package/dist/docs/api/components/classes/ImageTarget.md +7 -7
- package/dist/docs/api/components/classes/ImageTargetAnchor.md +4 -4
- package/dist/docs/api/components/classes/InstanceSlotComponent.md +4 -4
- package/dist/docs/api/components/classes/InstancedMeshComponent.md +10 -10
- package/dist/docs/api/components/classes/LightComponent.md +6 -6
- package/dist/docs/api/components/classes/MaterialComponent.md +14 -14
- package/dist/docs/api/components/classes/MeshComponent.md +3 -3
- package/dist/docs/api/components/classes/MeshGeometryComponent.md +9 -9
- package/dist/docs/api/components/classes/ModelComponent.md +6 -6
- package/dist/docs/api/components/classes/Name.md +3 -3
- package/dist/docs/api/components/classes/NetworkIdentityComponent.md +42 -0
- package/dist/docs/api/components/classes/NetworkSpawnerComponent.md +48 -0
- package/dist/docs/api/components/classes/NetworkTransformComponent.md +51 -0
- package/dist/docs/api/components/classes/NetworkedPropsComponent.md +47 -0
- package/dist/docs/api/components/classes/Object3DRef.md +4 -4
- package/dist/docs/api/components/classes/ParentId.md +3 -3
- package/dist/docs/api/components/classes/PhysicsComponent.md +7 -7
- package/dist/docs/api/components/classes/Postprocessing.md +3 -3
- package/dist/docs/api/components/classes/PrefabInstance.md +5 -5
- package/dist/docs/api/components/classes/PrefabNode.md +3 -3
- package/dist/docs/api/components/classes/ScriptComponent.md +5 -5
- package/dist/docs/api/components/classes/ScriptObjectComponent.md +9 -9
- package/dist/docs/api/components/classes/Selectable.md +3 -3
- package/dist/docs/api/components/classes/SelectionTransformState.md +5 -5
- package/dist/docs/api/components/classes/SpriteComponent.md +7 -7
- package/dist/docs/api/components/classes/TransformComponent.md +12 -12
- package/dist/docs/api/components/classes/UIButtonComponent.md +18 -14
- package/dist/docs/api/components/classes/UIPanelComponent.md +13 -11
- package/dist/docs/api/components/classes/UISliderComponent.md +16 -11
- package/dist/docs/api/components/classes/UITextComponent.md +14 -12
- package/dist/docs/api/components/classes/UIToggleComponent.md +12 -9
- package/dist/docs/api/components/classes/VRTeleportAreaComponent.md +6 -6
- package/dist/docs/api/components/classes/VideoComponent.md +28 -28
- package/dist/docs/api/components/classes/XRAnchorComponent.md +3 -3
- package/dist/docs/api/components/classes/XREnvironmentComponent.md +5 -5
- package/dist/docs/api/components/classes/XRHandPoseComponent.md +4 -4
- package/dist/docs/api/components/classes/XRInteractableComponent.md +28 -28
- package/dist/docs/api/components/classes/XRInteractorComponent.md +10 -10
- package/dist/docs/api/components/classes/XRInteractorSideComponent.md +3 -3
- package/dist/docs/api/components/classes/XRRigComponent.md +17 -17
- package/dist/docs/api/components/functions/createAttachPoint.md +1 -1
- package/dist/docs/api/components/functions/createHandPoseEntry.md +1 -1
- package/dist/docs/api/components/functions/defaultMaterialValue.md +1 -1
- package/dist/docs/api/components/functions/handPoseDefinitionFor.md +1 -1
- package/dist/docs/api/components/functions/normalizeBoneHold.md +25 -0
- package/dist/docs/api/components/functions/normalizeEnvironmentLighting.md +1 -1
- package/dist/docs/api/components/functions/normalizeIKChain.md +25 -0
- package/dist/docs/api/components/functions/normalizePhysicsState.md +1 -1
- package/dist/docs/api/components/functions/setModelLoadState.md +1 -1
- package/dist/docs/api/components/functions/setPhysicsLiveRef.md +1 -1
- package/dist/docs/api/components/index.md +18 -0
- package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +9 -9
- package/dist/docs/api/components/type-aliases/BoneAttachmentOptions.md +35 -0
- package/dist/docs/api/components/type-aliases/BoneHold.md +34 -0
- package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +13 -13
- package/dist/docs/api/components/type-aliases/CameraProjection.md +1 -1
- package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +1 -1
- package/dist/docs/api/components/type-aliases/ColliderShape.md +1 -1
- package/dist/docs/api/components/type-aliases/ColliderState.md +20 -20
- package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +4 -4
- package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +8 -8
- package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentLightingState.md +9 -9
- package/dist/docs/api/components/type-aliases/EnvironmentSkyboxImageProjection.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +8 -8
- package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentState.md +6 -6
- package/dist/docs/api/components/type-aliases/EnvironmentToneMapping.md +1 -1
- package/dist/docs/api/components/type-aliases/IKChain.md +37 -0
- package/dist/docs/api/components/type-aliases/IKLimb.md +15 -0
- package/dist/docs/api/components/type-aliases/IKOptions.md +27 -0
- package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +3 -3
- package/dist/docs/api/components/type-aliases/ImageTargetReference.md +7 -7
- package/dist/docs/api/components/type-aliases/InstanceTransform.md +13 -13
- package/dist/docs/api/components/type-aliases/InstancedMeshKind.md +1 -1
- package/dist/docs/api/components/type-aliases/LightShadowState.md +8 -8
- package/dist/docs/api/components/type-aliases/LightValueState.md +12 -12
- package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +1 -1
- package/dist/docs/api/components/type-aliases/MaterialValueState.md +28 -28
- package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +1 -1
- package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +7 -7
- package/dist/docs/api/components/type-aliases/ModelLoadState.md +1 -1
- package/dist/docs/api/components/type-aliases/NetValue.md +23 -0
- package/dist/docs/api/components/type-aliases/NetworkTransformOptions.md +18 -0
- package/dist/docs/api/components/type-aliases/PhysicsState.md +3 -3
- package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +3 -3
- package/dist/docs/api/components/type-aliases/PostprocessingState.md +62 -62
- package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +3 -3
- package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +2 -2
- package/dist/docs/api/components/type-aliases/RigidbodyState.md +17 -17
- package/dist/docs/api/components/type-aliases/RigidbodyType.md +1 -1
- package/dist/docs/api/components/type-aliases/ScriptEntry.md +8 -8
- package/dist/docs/api/components/type-aliases/ScriptObjectComponentInput.md +1 -1
- package/dist/docs/api/components/type-aliases/ScriptObjectRuntimeState.md +1 -1
- package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +1 -1
- package/dist/docs/api/components/type-aliases/TransformData.md +4 -4
- package/dist/docs/api/components/type-aliases/TransformModeValue.md +1 -1
- package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +1 -1
- package/dist/docs/api/components/type-aliases/UIButtonOptions.md +21 -13
- package/dist/docs/api/components/type-aliases/UIPanelOptions.md +14 -10
- package/dist/docs/api/components/type-aliases/UISliderOptions.md +20 -10
- package/dist/docs/api/components/type-aliases/UITextOptions.md +15 -11
- package/dist/docs/api/components/type-aliases/UIToggleOptions.md +14 -8
- package/dist/docs/api/components/type-aliases/UiFollowMode.md +1 -1
- package/dist/docs/api/components/type-aliases/UiIconPosition.md +13 -0
- package/dist/docs/api/components/type-aliases/UiSliderVariant.md +13 -0
- package/dist/docs/api/components/type-aliases/UiTextAlign.md +1 -1
- package/dist/docs/api/components/type-aliases/UiTextVAlign.md +1 -1
- package/dist/docs/api/components/type-aliases/UiToggleVariant.md +13 -0
- package/dist/docs/api/components/type-aliases/VRTeleportAreaOptions.md +5 -5
- package/dist/docs/api/components/type-aliases/Vec3.md +4 -4
- package/dist/docs/api/components/type-aliases/VrTeleportShape.md +1 -1
- package/dist/docs/api/components/type-aliases/XRAnchorOptions.md +2 -2
- package/dist/docs/api/components/type-aliases/XRHandPoseOptions.md +3 -3
- package/dist/docs/api/components/type-aliases/XRInteractableOptions.md +27 -27
- package/dist/docs/api/components/type-aliases/XRInteractorOptions.md +9 -9
- package/dist/docs/api/components/type-aliases/XRRigOptions.md +16 -16
- package/dist/docs/api/components/type-aliases/XrAttachPoint.md +13 -13
- package/dist/docs/api/components/type-aliases/XrDistanceGrabBehavior.md +1 -1
- package/dist/docs/api/components/type-aliases/XrEnvironmentKind.md +1 -1
- package/dist/docs/api/components/type-aliases/XrEnvironmentOrientation.md +1 -1
- package/dist/docs/api/components/type-aliases/XrEnvironmentPhysics.md +1 -1
- package/dist/docs/api/components/type-aliases/XrGrabGesture.md +1 -1
- package/dist/docs/api/components/type-aliases/XrGrabHands.md +1 -1
- package/dist/docs/api/components/type-aliases/XrGrabReach.md +1 -1
- package/dist/docs/api/components/type-aliases/XrHandPoseEntry.md +12 -12
- package/dist/docs/api/components/type-aliases/XrHandPreset.md +1 -1
- package/dist/docs/api/components/type-aliases/XrInteractorSide.md +1 -1
- package/dist/docs/api/components/type-aliases/XrInteractorType.md +1 -1
- package/dist/docs/api/components/type-aliases/XrLocomotionMode.md +1 -1
- package/dist/docs/api/components/type-aliases/XrTrackingOrigin.md +1 -1
- package/dist/docs/api/components/type-aliases/XrTwoHandRotation.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_LIGHTING.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_INSTANCED_MESH_PARAMETERS.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_INSTANCE_TRANSFORM.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_POSE_CURLS.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_POSE_DIRECTIONS.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +1 -1
- package/dist/docs/api/components/variables/MODEL_NO_PATH_MESSAGE.md +1 -1
- package/dist/docs/api/index/classes/AnimationStateMachine.md +16 -16
- package/dist/docs/api/index/classes/AnimationStateManager.md +13 -13
- package/dist/docs/api/index/classes/AnimationSystem.md +3 -3
- package/dist/docs/api/index/classes/AudioMixer.md +161 -0
- package/dist/docs/api/index/classes/AudioSystem.md +138 -4
- package/dist/docs/api/index/classes/BoneHoldSystem.md +54 -0
- package/dist/docs/api/index/classes/CameraSyncSystem.md +2 -2
- package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +4 -4
- package/dist/docs/api/index/classes/HandPoseTracker.md +6 -6
- package/dist/docs/api/index/classes/IKSystem.md +98 -0
- package/dist/docs/api/index/classes/InputSystem.md +33 -33
- package/dist/docs/api/index/classes/InstancedMeshSystem.md +2 -2
- package/dist/docs/api/index/classes/LightSyncSystem.md +2 -2
- package/dist/docs/api/index/classes/MaterialSyncSystem.md +3 -3
- package/dist/docs/api/index/classes/MeshGeometrySystem.md +2 -2
- package/dist/docs/api/index/classes/ObjectManagementSystem.md +269 -14
- package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +2 -2
- package/dist/docs/api/index/classes/PhysicsSyncSystem.md +4 -4
- package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +4 -4
- package/dist/docs/api/index/classes/RenderSystem.md +3 -3
- package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +4 -4
- package/dist/docs/api/index/classes/ScriptObject.md +10 -10
- package/dist/docs/api/index/classes/ScriptObjectSystem.md +6 -6
- package/dist/docs/api/index/classes/SlotChooser.md +59 -0
- package/dist/docs/api/index/classes/TeleportAimGate.md +4 -4
- package/dist/docs/api/index/classes/ThrowVelocityTracker.md +4 -4
- package/dist/docs/api/index/classes/TransformSyncSystem.md +2 -2
- package/dist/docs/api/index/classes/UIInteractionSystem.md +3 -3
- package/dist/docs/api/index/classes/UIPanelSystem.md +4 -4
- package/dist/docs/api/index/classes/VRTeleportAreaSystem.md +2 -2
- package/dist/docs/api/index/classes/VideoSystem.md +4 -4
- package/dist/docs/api/index/classes/World.md +168 -98
- package/dist/docs/api/index/classes/XRAnchorSystem.md +4 -4
- package/dist/docs/api/index/classes/XRControllerVisualSystem.md +4 -4
- package/dist/docs/api/index/classes/XREnvironmentSystem.md +7 -7
- package/dist/docs/api/index/classes/XRHandPoseSystem.md +5 -5
- package/dist/docs/api/index/classes/XRHitTestSystem.md +4 -4
- package/dist/docs/api/index/classes/XRHoverVisualSystem.md +4 -4
- package/dist/docs/api/index/classes/XRInputSystem.md +9 -9
- package/dist/docs/api/index/classes/XRInteractionSystem.md +18 -18
- package/dist/docs/api/index/classes/XRLocomotionSystem.md +7 -7
- package/dist/docs/api/index/classes/XRSessionSystem.md +6 -6
- package/dist/docs/api/index/classes/XRTeleportVisualSystem.md +4 -4
- package/dist/docs/api/index/functions/angularVelocityFrom.md +1 -1
- package/dist/docs/api/index/functions/applyHandMaterial.md +1 -1
- package/dist/docs/api/index/functions/applyPrefabToSnapshotInstances.md +1 -1
- package/dist/docs/api/index/functions/arcGroundCrossing.md +1 -1
- package/dist/docs/api/index/functions/buildComponentValueMaps.md +1 -1
- package/dist/docs/api/index/functions/buildNodeKeyMapsFromSnapshot.md +1 -1
- package/dist/docs/api/index/functions/buildNodeMapsFromSnapshot.md +1 -1
- package/dist/docs/api/index/functions/canonicalizeComponentValue.md +1 -1
- package/dist/docs/api/index/functions/clearModelCache.md +1 -1
- package/dist/docs/api/index/functions/clearPrefabCache.md +1 -1
- package/dist/docs/api/index/functions/cloneHandPose.md +1 -1
- package/dist/docs/api/index/functions/collectDiffPaths.md +1 -1
- package/dist/docs/api/index/functions/collectDirectPrefabDependencies.md +1 -1
- package/dist/docs/api/index/functions/collectEntitySubtree.md +1 -1
- package/dist/docs/api/index/functions/collectSnapshotSubtreeIds.md +1 -1
- package/dist/docs/api/index/functions/computeFingerCurl.md +1 -1
- package/dist/docs/api/index/functions/computeHandShape.md +1 -1
- package/dist/docs/api/index/functions/computeInstanceOverrides.md +1 -1
- package/dist/docs/api/index/functions/computePalmPose.md +1 -1
- package/dist/docs/api/index/functions/computePalmWidth.md +1 -1
- package/dist/docs/api/index/functions/computePinch.md +1 -1
- package/dist/docs/api/index/functions/computeSpread.md +1 -1
- package/dist/docs/api/index/functions/createAnimationComponent.md +1 -1
- package/dist/docs/api/index/functions/createAudioComponent.md +1 -1
- package/dist/docs/api/index/functions/createBoneAttachmentComponent.md +28 -0
- package/dist/docs/api/index/functions/createCameraComponent.md +1 -1
- package/dist/docs/api/index/functions/createEntityTypeComponent.md +1 -1
- package/dist/docs/api/index/functions/createEnvironmentComponent.md +1 -1
- package/dist/docs/api/index/functions/createGLTFLoader.md +30 -0
- package/dist/docs/api/index/functions/createHandMaterial.md +1 -1
- package/dist/docs/api/index/functions/createIKComponent.md +28 -0
- package/dist/docs/api/index/functions/createImageComponent.md +1 -1
- package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +1 -1
- package/dist/docs/api/index/functions/createImageTargetComponent.md +1 -1
- package/dist/docs/api/index/functions/createInstanceSlotComponent.md +1 -1
- package/dist/docs/api/index/functions/createInstancedMeshComponent.md +1 -1
- package/dist/docs/api/index/functions/createLightComponent.md +1 -1
- package/dist/docs/api/index/functions/createMaterialComponent.md +1 -1
- package/dist/docs/api/index/functions/createMeshComponent.md +1 -1
- package/dist/docs/api/index/functions/createMeshGeometryComponent.md +1 -1
- package/dist/docs/api/index/functions/createModelComponent.md +1 -1
- package/dist/docs/api/index/functions/createNameComponent.md +1 -1
- package/dist/docs/api/index/functions/createNetworkIdentityComponent.md +24 -0
- package/dist/docs/api/index/functions/createNetworkSpawnerComponent.md +28 -0
- package/dist/docs/api/index/functions/createNetworkTransformComponent.md +28 -0
- package/dist/docs/api/index/functions/createNetworkedPropsComponent.md +28 -0
- package/dist/docs/api/index/functions/createObject3DRefComponent.md +1 -1
- package/dist/docs/api/index/functions/createParentIdComponent.md +1 -1
- package/dist/docs/api/index/functions/createPhysicsComponent.md +1 -1
- package/dist/docs/api/index/functions/createPostprocessingComponent.md +1 -1
- package/dist/docs/api/index/functions/createScriptComponent.md +1 -1
- package/dist/docs/api/index/functions/createScriptObjectComponent.md +1 -1
- package/dist/docs/api/index/functions/createSelectableComponent.md +1 -1
- package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +1 -1
- package/dist/docs/api/index/functions/createSpriteComponent.md +1 -1
- package/dist/docs/api/index/functions/createTransformComponent.md +1 -1
- package/dist/docs/api/index/functions/createUIButtonComponent.md +1 -1
- package/dist/docs/api/index/functions/createUIPanelComponent.md +1 -1
- package/dist/docs/api/index/functions/createUISliderComponent.md +1 -1
- package/dist/docs/api/index/functions/createUITextComponent.md +1 -1
- package/dist/docs/api/index/functions/createUIToggleComponent.md +1 -1
- package/dist/docs/api/index/functions/createVRTeleportAreaComponent.md +1 -1
- package/dist/docs/api/index/functions/createVideoComponent.md +1 -1
- package/dist/docs/api/index/functions/createXRAnchorComponent.md +1 -1
- package/dist/docs/api/index/functions/createXRHandPoseComponent.md +1 -1
- package/dist/docs/api/index/functions/createXRInteractableComponent.md +1 -1
- package/dist/docs/api/index/functions/createXRInteractorComponent.md +1 -1
- package/dist/docs/api/index/functions/createXRInteractorSideComponent.md +1 -1
- package/dist/docs/api/index/functions/createXRRigComponent.md +1 -1
- package/dist/docs/api/index/functions/decanonicalizeComponentValue.md +1 -1
- package/dist/docs/api/index/functions/despawnPrefab.md +1 -1
- package/dist/docs/api/index/functions/encodeOverride.md +1 -1
- package/dist/docs/api/index/functions/estimateHandScale.md +1 -1
- package/dist/docs/api/index/functions/findModelBone.md +30 -0
- package/dist/docs/api/index/functions/findSnapshotRootEntityIds.md +1 -1
- package/dist/docs/api/index/functions/findTopLevelNestedRegions.md +1 -1
- package/dist/docs/api/index/functions/getHandPosePreset.md +1 -1
- package/dist/docs/api/index/functions/gripQuaternion.md +36 -0
- package/dist/docs/api/index/functions/groupOverridePaths.md +1 -1
- package/dist/docs/api/index/functions/handPoseFromCurls.md +1 -1
- package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +1 -1
- package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +1 -1
- package/dist/docs/api/index/functions/indexSnapshotByEntity.md +1 -1
- package/dist/docs/api/index/functions/instantiateSubtree.md +1 -1
- package/dist/docs/api/index/functions/listModelBones.md +25 -0
- package/dist/docs/api/index/functions/loadPrefab.md +1 -1
- package/dist/docs/api/index/functions/loadSharedGltf.md +1 -1
- package/dist/docs/api/index/functions/matchHandPose.md +1 -1
- package/dist/docs/api/index/functions/mergeComponentValue.md +1 -1
- package/dist/docs/api/index/functions/parseOverride.md +1 -1
- package/dist/docs/api/index/functions/parsePrefabAsset.md +1 -1
- package/dist/docs/api/index/functions/prefabFileVersionFor.md +1 -1
- package/dist/docs/api/index/functions/readXrCapabilities.md +1 -1
- package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +1 -1
- package/dist/docs/api/index/functions/registerDefaultFactories.md +1 -1
- package/dist/docs/api/index/functions/remapSnapshotEntityIds.md +3 -3
- package/dist/docs/api/index/functions/resolveDracoDecoderPath.md +1 -1
- package/dist/docs/api/index/functions/restoreComponentState.md +1 -1
- package/dist/docs/api/index/functions/restorePostCreateComponents.md +1 -1
- package/dist/docs/api/index/functions/sampleTeleportArc.md +1 -1
- package/dist/docs/api/index/functions/serializeEntitySubtree.md +1 -1
- package/dist/docs/api/index/functions/setDracoDecoderPath.md +1 -1
- package/dist/docs/api/index/functions/setPrefabAssetUrlResolver.md +1 -1
- package/dist/docs/api/index/functions/setWorldQuaternion.md +26 -0
- package/dist/docs/api/index/functions/soundBankFiles.md +25 -0
- package/dist/docs/api/index/functions/spawnPrefab.md +1 -1
- package/dist/docs/api/index/functions/twoBoneIK.md +41 -0
- package/dist/docs/api/index/index.md +31 -0
- package/dist/docs/api/index/interfaces/ChromaKeyOptions.md +5 -5
- package/dist/docs/api/index/interfaces/EcsSystem.md +3 -3
- package/dist/docs/api/index/interfaces/NetworkHandle.md +180 -0
- package/dist/docs/api/index/interfaces/PostprocessingBuildContext.md +6 -6
- package/dist/docs/api/index/interfaces/PostprocessingPipeline.md +5 -5
- package/dist/docs/api/index/interfaces/RenderBackend.md +8 -8
- package/dist/docs/api/index/interfaces/SoundBankAsset.md +18 -0
- package/dist/docs/api/index/interfaces/SoundSlot.md +31 -0
- package/dist/docs/api/index/interfaces/SoundTake.md +18 -0
- package/dist/docs/api/index/interfaces/StateMachine.md +13 -13
- package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +4 -4
- package/dist/docs/api/index/type-aliases/ApplyPrefabToSnapshotResult.md +3 -3
- package/dist/docs/api/index/type-aliases/AudioBus.md +15 -0
- package/dist/docs/api/index/type-aliases/ComponentFactory.md +1 -1
- package/dist/docs/api/index/type-aliases/ComponentValueMaps.md +50 -38
- package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +7 -1
- package/dist/docs/api/index/type-aliases/EcsRenderer.md +1 -1
- package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +3 -3
- package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +4 -4
- package/dist/docs/api/index/type-aliases/ExternalRefWarning.md +5 -5
- package/dist/docs/api/index/type-aliases/HandMaterialOptions.md +4 -4
- package/dist/docs/api/index/type-aliases/HandPoseTrackerOptions.md +5 -5
- package/dist/docs/api/index/type-aliases/HydrateOptions.md +3 -3
- package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +4 -4
- package/dist/docs/api/index/type-aliases/InstantiateSubtreeResult.md +3 -3
- package/dist/docs/api/index/type-aliases/KeyboardKey.md +1 -1
- package/dist/docs/api/index/type-aliases/ModelBoneInfo.md +29 -0
- package/dist/docs/api/index/type-aliases/ModuleLoader.md +1 -1
- package/dist/docs/api/index/type-aliases/MouseButton.md +1 -1
- package/dist/docs/api/index/type-aliases/NestedRegion.md +5 -5
- package/dist/docs/api/index/type-aliases/NetSpawnOptions.md +41 -0
- package/dist/docs/api/index/type-aliases/NodeKeyMaps.md +5 -5
- package/dist/docs/api/index/type-aliases/NodeMaps.md +4 -4
- package/dist/docs/api/index/type-aliases/PlaySlotOptions.md +32 -0
- package/dist/docs/api/index/type-aliases/PrefabAsset.md +5 -5
- package/dist/docs/api/index/type-aliases/RemapSnapshotOptions.md +2 -2
- package/dist/docs/api/index/type-aliases/RendererKind.md +1 -1
- package/dist/docs/api/index/type-aliases/ScriptBehaviourSystemOptions.md +2 -2
- package/dist/docs/api/index/type-aliases/ScriptErrorEvent.md +9 -9
- package/dist/docs/api/index/type-aliases/ScriptErrorListener.md +1 -1
- package/dist/docs/api/index/type-aliases/ScriptErrorPhase.md +1 -1
- package/dist/docs/api/index/type-aliases/ScriptErrorReport.md +6 -6
- package/dist/docs/api/index/type-aliases/ScriptErrorSource.md +1 -1
- package/dist/docs/api/index/type-aliases/SelectionContext.md +4 -4
- package/dist/docs/api/index/type-aliases/SerializeEntitySubtreeResult.md +4 -4
- package/dist/docs/api/index/type-aliases/SpawnPrefabOptions.md +5 -5
- package/dist/docs/api/index/type-aliases/SpawnPrefabSource.md +1 -1
- package/dist/docs/api/index/type-aliases/SubtreeSnapshot.md +4 -3
- package/dist/docs/api/index/type-aliases/UiCanvasLike.md +4 -4
- package/dist/docs/api/index/type-aliases/UiColorStop.md +37 -0
- package/dist/docs/api/index/type-aliases/UiPaint.md +81 -0
- package/dist/docs/api/index/type-aliases/UiShadow.md +27 -0
- package/dist/docs/api/index/type-aliases/UiStyle.md +43 -0
- package/dist/docs/api/index/type-aliases/UiTextStyle.md +33 -0
- package/dist/docs/api/index/type-aliases/UiTokens.md +13 -0
- package/dist/docs/api/index/type-aliases/VelocitySample.md +3 -3
- package/dist/docs/api/index/type-aliases/XrCapabilities.md +9 -9
- package/dist/docs/api/index/type-aliases/XrFinger.md +1 -1
- package/dist/docs/api/index/type-aliases/XrFingerCurl.md +4 -4
- package/dist/docs/api/index/type-aliases/XrFingerTarget.md +6 -6
- package/dist/docs/api/index/type-aliases/XrHandJointName.md +1 -1
- package/dist/docs/api/index/type-aliases/XrHandJoints.md +1 -1
- package/dist/docs/api/index/type-aliases/XrHandPoseAxis.md +1 -1
- package/dist/docs/api/index/type-aliases/XrHandPoseContext.md +2 -2
- package/dist/docs/api/index/type-aliases/XrHandPoseDefinition.md +11 -11
- package/dist/docs/api/index/type-aliases/XrHandPoseDirection.md +1 -1
- package/dist/docs/api/index/type-aliases/XrHandPoseEvent.md +1 -1
- package/dist/docs/api/index/type-aliases/XrHandPoseEventDetail.md +5 -5
- package/dist/docs/api/index/type-aliases/XrHandPoseMatch.md +4 -4
- package/dist/docs/api/index/type-aliases/XrHandPoseOrientation.md +4 -4
- package/dist/docs/api/index/type-aliases/XrHandShape.md +13 -13
- package/dist/docs/api/index/type-aliases/XrHandedness.md +1 -1
- package/dist/docs/api/index/type-aliases/XrHitResult.md +3 -3
- package/dist/docs/api/index/type-aliases/XrInputKind.md +1 -1
- package/dist/docs/api/index/type-aliases/XrInputState.md +18 -18
- package/dist/docs/api/index/type-aliases/XrPalmPose.md +6 -6
- package/dist/docs/api/index/variables/ADDED_NODE_MARKER_COMPONENT.md +1 -1
- package/dist/docs/api/index/variables/ARC_GRAVITY.md +1 -1
- package/dist/docs/api/index/variables/ARC_MAX_TIME.md +1 -1
- package/dist/docs/api/index/variables/ARC_SPEED.md +1 -1
- package/dist/docs/api/index/variables/ARC_STEPS.md +1 -1
- package/dist/docs/api/index/variables/CURLED_COS.md +1 -1
- package/dist/docs/api/index/variables/DEFAULT_DIRECTION_TOLERANCE.md +1 -1
- package/dist/docs/api/index/variables/DEFAULT_ENTER_CONFIDENCE.md +1 -1
- package/dist/docs/api/index/variables/DEFAULT_EXIT_CONFIDENCE.md +1 -1
- package/dist/docs/api/index/variables/DEFAULT_LOST_GRACE_SECONDS.md +1 -1
- package/dist/docs/api/index/variables/DEFAULT_MIN_HOLD_SECONDS.md +1 -1
- package/dist/docs/api/index/variables/DEFAULT_SCRIPT_ERROR_RETRY_DELAY.md +1 -1
- package/dist/docs/api/index/variables/FALLBACK_HAND_SCALE.md +1 -1
- package/dist/docs/api/index/variables/HAND_POSE_PRESETS.md +1 -1
- package/dist/docs/api/index/variables/HAND_POSE_PRESET_IDS.md +1 -1
- package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +1 -1
- package/dist/docs/api/index/variables/KeyboardKeys.md +89 -89
- package/dist/docs/api/index/variables/MATCH_FALLOFF.md +1 -1
- package/dist/docs/api/index/variables/MAX_PLAUSIBLE_SPEED.md +1 -1
- package/dist/docs/api/index/variables/MAX_SAMPLE_AGE_SECONDS.md +1 -1
- package/dist/docs/api/index/variables/NODE_KEY_SEPARATOR.md +1 -1
- package/dist/docs/api/index/variables/NO_XR_CAPABILITIES.md +1 -1
- package/dist/docs/api/index/variables/OVERRIDE_DIFF_EXCLUDED_COMPONENTS.md +1 -1
- package/dist/docs/api/index/variables/OVERRIDE_ROOT_EXCLUDED_COMPONENTS.md +1 -1
- package/dist/docs/api/index/variables/PINCH_FINGERS.md +1 -1
- package/dist/docs/api/index/variables/PREFAB_FILE_VERSION.md +1 -1
- package/dist/docs/api/index/variables/PREFAB_FILE_VERSION_NESTED.md +1 -1
- package/dist/docs/api/index/variables/SCRIPT_OBJECT_ROOT_FLAG.md +1 -1
- package/dist/docs/api/index/variables/SHARED_MODEL_RESOURCE_FLAG.md +1 -1
- package/dist/docs/api/index/variables/STRAIGHT_COS.md +1 -1
- package/dist/docs/api/index/variables/VELOCITY_SAMPLES.md +1 -1
- package/dist/docs/api/index/variables/XR_FINGERS.md +1 -1
- package/dist/docs/api/index/variables/XR_HOVER_SHELL_FLAG.md +1 -1
- package/dist/docs/api/index/variables/webglBackend.md +1 -1
- package/dist/docs/api/typedoc-sidebar.json +1 -1
- package/dist/docs/api/types/type-aliases/AssetInput.md +3 -3
- package/dist/docs/api/types/type-aliases/CheckboxInput.md +3 -3
- package/dist/docs/api/types/type-aliases/ColorInput.md +1 -1
- package/dist/docs/api/types/type-aliases/ComponentInput.md +4 -4
- package/dist/docs/api/types/type-aliases/ComponentKind.md +1 -1
- package/dist/docs/api/types/type-aliases/DropdownInput.md +3 -3
- package/dist/docs/api/types/type-aliases/DropdownOption.md +3 -3
- package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +1 -1
- package/dist/docs/api/types/type-aliases/EcsEntityKind.md +1 -1
- package/dist/docs/api/types/type-aliases/EntityId.md +1 -1
- package/dist/docs/api/types/type-aliases/EntityInput.md +3 -3
- package/dist/docs/api/types/type-aliases/FloatInput.md +1 -1
- package/dist/docs/api/types/type-aliases/IntersectionResult.md +3 -3
- package/dist/docs/api/types/type-aliases/ParentLookup.md +3 -3
- package/dist/docs/api/types/type-aliases/SelectionListener.md +1 -1
- package/dist/docs/api/types/type-aliases/SliderInput.md +5 -5
- package/dist/docs/api/types/type-aliases/TextInput.md +1 -1
- package/dist/docs/api/types/type-aliases/ToggleInput.md +1 -1
- package/dist/docs/api/types/type-aliases/Vec3.md +1 -1
- package/dist/docs/api/types/type-aliases/Vector2Input.md +3 -3
- package/dist/docs/api/types/type-aliases/Vector3Input.md +4 -4
- package/dist/docs/api/types/type-aliases/WorldEntityView.md +1 -1
- package/dist/docs/guide/bone-attachments-and-ik.md +51 -0
- package/dist/docs/guide/components/audio.md +1 -1
- package/dist/factories/index.cjs +29 -1
- package/dist/factories/index.cjs.map +1 -1
- package/dist/factories/index.d.cts +2 -2
- package/dist/factories/index.d.ts +2 -2
- package/dist/factories/index.js +4 -4
- package/dist/{index-BXjwEdNq.d.cts → index-BbrnjNXy.d.ts} +5 -3
- package/dist/{index-CVG-hREM.d.ts → index-DD7aHv0p.d.cts} +5 -3
- package/dist/{index-6pZO_gV7.d.ts → index-OgOoIpEI.d.ts} +14 -2
- package/dist/{index-BdghvXKE.d.cts → index-xyqzT0PQ.d.cts} +14 -2
- package/dist/index.cjs +174 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -9
- package/dist/index.d.ts +10 -9
- package/dist/index.js +13 -11
- package/dist/index.js.map +1 -1
- package/dist/network/index.cjs +70 -38
- package/dist/network/index.cjs.map +1 -1
- package/dist/network/index.d.cts +2 -2
- package/dist/network/index.d.ts +2 -2
- package/dist/network/index.js +4 -4
- package/dist/systems/index.cjs +171 -13
- package/dist/systems/index.cjs.map +1 -1
- package/dist/systems/index.d.cts +2 -2
- package/dist/systems/index.d.ts +2 -2
- package/dist/systems/index.js +5 -5
- package/dist/types.d.cts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/webgpu/index.d.ts +2 -2
- package/dist/worldSnapshotUtils.d.cts +1 -1
- package/dist/worldSnapshotUtils.d.ts +1 -1
- package/package.json +2 -1
- package/dist/chunk-GSWC6LLD.js.map +0 -1
- package/dist/chunk-JEPUCLZX.js.map +0 -1
- package/dist/chunk-JNYPJB55.js.map +0 -1
- package/dist/chunk-TY3XCHOR.js.map +0 -1
- package/dist/chunk-WWP46AEF.js.map +0 -1
package/dist/network/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { F as NetworkTransport, G as NetEntityView, H as NetPose, J as NetSound, K as VoiceFromRoom, L as VoiceToRoom, M as VoiceHandle, O as VoicePeer, Q as EcsSystem, R as NetworkService, W as World, S as EntityId, U as NetworkHandle } from '../System-D8vm-Jvv.cjs';
|
|
2
|
+
export { X as NetSpawnOptions, Y as VoiceSignal } from '../System-D8vm-Jvv.cjs';
|
|
3
3
|
import 'three';
|
|
4
4
|
import '@dimforge/rapier3d-compat';
|
|
5
5
|
import '../animation/index.cjs';
|
package/dist/network/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { L as NetworkTransport, M as NetEntityView, O as NetPose, Q as NetSound, S as VoiceFromRoom, U as VoiceToRoom, W as VoiceHandle, X as VoicePeer, Y as EcsSystem, Z as NetworkService, _ as World, $ as EntityId, a0 as NetworkHandle } from '../System-ttkDQCrj.js';
|
|
2
|
+
export { a1 as NetSpawnOptions, a2 as VoiceSignal } from '../System-ttkDQCrj.js';
|
|
3
3
|
import 'three';
|
|
4
4
|
import '@dimforge/rapier3d-compat';
|
|
5
5
|
import '../animation/index.js';
|
package/dist/network/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { spawnPrefab, despawnPrefab, Behaviour, reportBehaviourHookError } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import { NetworkIdentityComponent, TransformComponent, NetworkedPropsComponent, NetworkSpawnerComponent, NetworkTransformComponent, ScriptComponent } from '../chunk-
|
|
1
|
+
import { spawnPrefab, despawnPrefab, Behaviour, reportBehaviourHookError } from '../chunk-4FHJA6U4.js';
|
|
2
|
+
import '../chunk-QAZCVCMP.js';
|
|
3
|
+
import { NetworkIdentityComponent, TransformComponent, NetworkedPropsComponent, NetworkSpawnerComponent, NetworkTransformComponent, ScriptComponent } from '../chunk-T7SRBLPJ.js';
|
|
4
4
|
import '../chunk-CKTHDXPS.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-GMSFEXUZ.js';
|
|
6
6
|
import { __name } from '../chunk-XE4OXN2W.js';
|
|
7
7
|
import { Client, Callbacks } from '@colyseus/sdk';
|
|
8
8
|
import * as THREE from 'three';
|
package/dist/systems/index.cjs
CHANGED
|
@@ -91,6 +91,7 @@ function restPositions(root) {
|
|
|
91
91
|
return out;
|
|
92
92
|
}
|
|
93
93
|
__name(restPositions, "restPositions");
|
|
94
|
+
var NUMBERED_NAME = /_\d+$/;
|
|
94
95
|
function splitBoneName(raw) {
|
|
95
96
|
let n = raw.replace(/^.*[:|]/, "").replace(/^(mixamorig\d*|def[-_]|org[-_]|mch[-_]|bip\d*[ _]|b[-_])/i, "").trim();
|
|
96
97
|
let side = null;
|
|
@@ -192,6 +193,37 @@ function findHips(root) {
|
|
|
192
193
|
__name(findHips, "findHips");
|
|
193
194
|
var isSpineLike = /* @__PURE__ */ __name((base) => /^(spine|chest|upperchest|torso|back)\d*$/.test(base), "isSpineLike");
|
|
194
195
|
function detectRig(root) {
|
|
196
|
+
const plain = readRig(root);
|
|
197
|
+
if (plain.missing.length === 0) return plain;
|
|
198
|
+
const stems = /* @__PURE__ */ new Map();
|
|
199
|
+
const count = /* @__PURE__ */ __name((n) => {
|
|
200
|
+
const stem = n.name.replace(NUMBERED_NAME, "");
|
|
201
|
+
stems.set(stem, (stems.get(stem) ?? 0) + 1);
|
|
202
|
+
n.children.forEach(count);
|
|
203
|
+
}, "count");
|
|
204
|
+
count(root);
|
|
205
|
+
const real = /* @__PURE__ */ new Map();
|
|
206
|
+
const strip = /* @__PURE__ */ __name((n) => {
|
|
207
|
+
const stem = n.name.replace(NUMBERED_NAME, "");
|
|
208
|
+
const name = stems.get(stem) === 1 ? stem : n.name;
|
|
209
|
+
real.set(name, n.name);
|
|
210
|
+
return { ...n, name, children: n.children.map(strip) };
|
|
211
|
+
}, "strip");
|
|
212
|
+
const found = readRig(strip(root));
|
|
213
|
+
if (found.missing.length >= plain.missing.length) return plain;
|
|
214
|
+
const realName = /* @__PURE__ */ __name((name) => real.get(name) ?? name, "realName");
|
|
215
|
+
const bones = {};
|
|
216
|
+
for (const [bone, name] of Object.entries(found.bones)) {
|
|
217
|
+
bones[bone] = realName(name);
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
...found,
|
|
221
|
+
bones,
|
|
222
|
+
byName: new Map([...found.byName].map(([name, bone]) => [realName(name), bone]))
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
__name(detectRig, "detectRig");
|
|
226
|
+
function readRig(root) {
|
|
195
227
|
const all = [];
|
|
196
228
|
const collect = /* @__PURE__ */ __name((n) => {
|
|
197
229
|
all.push(n);
|
|
@@ -265,7 +297,7 @@ function detectRig(root) {
|
|
|
265
297
|
missing: REQUIRED_HUMANOID_BONES.filter((b) => !bones[b])
|
|
266
298
|
};
|
|
267
299
|
}
|
|
268
|
-
__name(
|
|
300
|
+
__name(readRig, "readRig");
|
|
269
301
|
function skeletonFromObject3D(object) {
|
|
270
302
|
const o = object;
|
|
271
303
|
return {
|
|
@@ -2541,6 +2573,21 @@ __name(_XRAnchorComponent, "XRAnchorComponent");
|
|
|
2541
2573
|
var XRAnchorComponent = _XRAnchorComponent;
|
|
2542
2574
|
|
|
2543
2575
|
// core/components/BoneAttachment.ts
|
|
2576
|
+
var xyz = /* @__PURE__ */ __name((value) => {
|
|
2577
|
+
const v = value;
|
|
2578
|
+
return typeof v?.x === "number" && typeof v.y === "number" && typeof v.z === "number" ? { x: v.x, y: v.y, z: v.z } : null;
|
|
2579
|
+
}, "xyz");
|
|
2580
|
+
function normalizeBoneHold(hold) {
|
|
2581
|
+
return {
|
|
2582
|
+
clips: Array.isArray(hold.clips) ? hold.clips.filter((c) => typeof c === "string") : [],
|
|
2583
|
+
bone: typeof hold.bone === "string" && hold.bone ? hold.bone : null,
|
|
2584
|
+
humanoid: typeof hold.humanoid === "string" && hold.humanoid ? hold.humanoid : null,
|
|
2585
|
+
hidden: hold.hidden === true,
|
|
2586
|
+
position: xyz(hold.position),
|
|
2587
|
+
rotation: xyz(hold.rotation)
|
|
2588
|
+
};
|
|
2589
|
+
}
|
|
2590
|
+
__name(normalizeBoneHold, "normalizeBoneHold");
|
|
2544
2591
|
var _BoneAttachmentComponent = class _BoneAttachmentComponent extends Component {
|
|
2545
2592
|
constructor(options) {
|
|
2546
2593
|
super();
|
|
@@ -2548,6 +2595,8 @@ var _BoneAttachmentComponent = class _BoneAttachmentComponent extends Component
|
|
|
2548
2595
|
this.humanoid = options?.humanoid ?? null;
|
|
2549
2596
|
this.compensateScale = options?.compensateScale ?? true;
|
|
2550
2597
|
this.enabled = options?.enabled ?? true;
|
|
2598
|
+
this.holds = (options?.holds ?? []).map(normalizeBoneHold);
|
|
2599
|
+
this.hideInOtherClips = options?.hideInOtherClips ?? false;
|
|
2551
2600
|
}
|
|
2552
2601
|
};
|
|
2553
2602
|
__name(_BoneAttachmentComponent, "BoneAttachmentComponent");
|
|
@@ -2562,7 +2611,9 @@ function normalizeIKChain(chain) {
|
|
|
2562
2611
|
pole: typeof chain.pole === "number" ? chain.pole : null,
|
|
2563
2612
|
weight: Math.min(1, Math.max(0, weight)),
|
|
2564
2613
|
matchRotation: chain.matchRotation ?? false,
|
|
2565
|
-
enabled: chain.enabled ?? true
|
|
2614
|
+
enabled: chain.enabled ?? true,
|
|
2615
|
+
clips: Array.isArray(chain.clips) ? chain.clips.filter((c) => typeof c === "string") : null,
|
|
2616
|
+
fade: typeof chain.fade === "number" && Number.isFinite(chain.fade) && chain.fade >= 0 ? chain.fade : null
|
|
2566
2617
|
};
|
|
2567
2618
|
}
|
|
2568
2619
|
__name(normalizeIKChain, "normalizeIKChain");
|
|
@@ -3172,6 +3223,15 @@ __name(reloadModelEntity, "reloadModelEntity");
|
|
|
3172
3223
|
var BONE_SOCKET_FLAG = "__reluBoneSocket";
|
|
3173
3224
|
var _boneScale = new THREE37__namespace.Vector3();
|
|
3174
3225
|
var _anchorScale = new THREE37__namespace.Vector3();
|
|
3226
|
+
var _holdPosition = new THREE37__namespace.Vector3();
|
|
3227
|
+
var _holdRotation = new THREE37__namespace.Quaternion();
|
|
3228
|
+
var _heldPosition = new THREE37__namespace.Vector3();
|
|
3229
|
+
var _heldRotation = new THREE37__namespace.Quaternion();
|
|
3230
|
+
var _holdMatrix = new THREE37__namespace.Matrix4();
|
|
3231
|
+
var _heldMatrix = new THREE37__namespace.Matrix4();
|
|
3232
|
+
var _holdEuler = new THREE37__namespace.Euler();
|
|
3233
|
+
var _unitScale = new THREE37__namespace.Vector3(1, 1, 1);
|
|
3234
|
+
var _ignoredScale = new THREE37__namespace.Vector3();
|
|
3175
3235
|
function applyTransform(object, transform) {
|
|
3176
3236
|
object.position.set(
|
|
3177
3237
|
transform.position.x,
|
|
@@ -3194,6 +3254,8 @@ var _ObjectManagementSystem = class _ObjectManagementSystem {
|
|
|
3194
3254
|
this.boneSockets = /* @__PURE__ */ new Map();
|
|
3195
3255
|
/** Attachments whose bone wasn't found in a given model (skip re-searching every frame). */
|
|
3196
3256
|
this.boneMisses = /* @__PURE__ */ new Map();
|
|
3257
|
+
/** Attachments with holds, and which one the current clip calls for (`null`: none). */
|
|
3258
|
+
this.boneHolds = /* @__PURE__ */ new Map();
|
|
3197
3259
|
this.scene = scene;
|
|
3198
3260
|
this.camera = camera;
|
|
3199
3261
|
this.isEditor = isEditor;
|
|
@@ -3380,6 +3442,9 @@ var _ObjectManagementSystem = class _ObjectManagementSystem {
|
|
|
3380
3442
|
for (const entityId of [...this.boneSockets.keys()]) {
|
|
3381
3443
|
if (!world.hasEntity(entityId)) this.dropBoneSocket(entityId);
|
|
3382
3444
|
}
|
|
3445
|
+
for (const entityId of [...this.boneHolds.keys()]) {
|
|
3446
|
+
if (!world.hasEntity(entityId)) this.boneHolds.delete(entityId);
|
|
3447
|
+
}
|
|
3383
3448
|
for (const [entityId, object] of worldObjects.entries()) {
|
|
3384
3449
|
const parentEntityId = world.getComponent(entityId, ParentId)?.value;
|
|
3385
3450
|
const parentObject = typeof parentEntityId === "number" ? worldObjects.get(parentEntityId) : void 0;
|
|
@@ -3413,6 +3478,7 @@ var _ObjectManagementSystem = class _ObjectManagementSystem {
|
|
|
3413
3478
|
if (!attachment) {
|
|
3414
3479
|
if (this.boneSockets.has(entityId)) this.dropBoneSocket(entityId);
|
|
3415
3480
|
this.boneMisses.delete(entityId);
|
|
3481
|
+
this.boneHolds.delete(entityId);
|
|
3416
3482
|
return null;
|
|
3417
3483
|
}
|
|
3418
3484
|
const root = attachment.enabled && parentEntityId !== null ? world.getComponent(parentEntityId, ModelComponent)?.object ?? null : null;
|
|
@@ -3420,7 +3486,9 @@ var _ObjectManagementSystem = class _ObjectManagementSystem {
|
|
|
3420
3486
|
this.dropBoneSocket(entityId);
|
|
3421
3487
|
return null;
|
|
3422
3488
|
}
|
|
3423
|
-
const
|
|
3489
|
+
const hold = this.boneHolds.get(entityId);
|
|
3490
|
+
const ref = hold?.bone || hold?.humanoid ? hold : attachment;
|
|
3491
|
+
const key = `${ref.bone ?? ""}|${ref.humanoid ?? ""}|${attachment.compensateScale}`;
|
|
3424
3492
|
const current = this.boneSockets.get(entityId);
|
|
3425
3493
|
if (current && current.modelUuid === root.uuid && current.key === key && current.socket.parent === current.bone) {
|
|
3426
3494
|
this.fitSocketScale(world, current, parentEntityId, attachment.compensateScale);
|
|
@@ -3429,7 +3497,7 @@ var _ObjectManagementSystem = class _ObjectManagementSystem {
|
|
|
3429
3497
|
this.dropBoneSocket(entityId);
|
|
3430
3498
|
const missKey = `${root.uuid}|${key}`;
|
|
3431
3499
|
if (this.boneMisses.get(entityId) === missKey) return null;
|
|
3432
|
-
const bone = findModelBone(root,
|
|
3500
|
+
const bone = findModelBone(root, ref);
|
|
3433
3501
|
if (!bone) {
|
|
3434
3502
|
this.boneMisses.set(entityId, missKey);
|
|
3435
3503
|
return null;
|
|
@@ -3467,6 +3535,50 @@ var _ObjectManagementSystem = class _ObjectManagementSystem {
|
|
|
3467
3535
|
_anchorScale.z / safe(_boneScale.z)
|
|
3468
3536
|
);
|
|
3469
3537
|
}
|
|
3538
|
+
/** Whether {@link applyBoneHold} is managing this attachment. */
|
|
3539
|
+
hasBoneHold(entityId) {
|
|
3540
|
+
return this.boneHolds.has(entityId);
|
|
3541
|
+
}
|
|
3542
|
+
/**
|
|
3543
|
+
* Put an attachment in a hold for the clip now playing (`hold` null: the
|
|
3544
|
+
* attachment's own bone and Transform), moving it to the hold's bone if that
|
|
3545
|
+
* changed. Called each frame, since a socket can be rebuilt under it.
|
|
3546
|
+
*/
|
|
3547
|
+
applyBoneHold(world, entityId, hold, hidden) {
|
|
3548
|
+
const before = this.boneHolds.get(entityId) ?? null;
|
|
3549
|
+
this.boneHolds.set(entityId, hold);
|
|
3550
|
+
if ((before?.bone ?? null) !== (hold?.bone ?? null) || (before?.humanoid ?? null) !== (hold?.humanoid ?? null)) {
|
|
3551
|
+
this.boneMisses.delete(entityId);
|
|
3552
|
+
this.reconcileSceneFromWorld(world);
|
|
3553
|
+
}
|
|
3554
|
+
const socket = this.boneSockets.get(entityId)?.socket;
|
|
3555
|
+
if (!socket) return;
|
|
3556
|
+
socket.visible = !hidden;
|
|
3557
|
+
if (!hold?.position && !hold?.rotation) {
|
|
3558
|
+
socket.position.set(0, 0, 0);
|
|
3559
|
+
socket.quaternion.identity();
|
|
3560
|
+
return;
|
|
3561
|
+
}
|
|
3562
|
+
const held = world.getComponent(entityId, TransformComponent);
|
|
3563
|
+
if (!held) return;
|
|
3564
|
+
const own = held.position;
|
|
3565
|
+
_heldPosition.set(own.x, own.y, own.z);
|
|
3566
|
+
_heldRotation.setFromEuler(_holdEuler.set(held.rotation.x, held.rotation.y, held.rotation.z));
|
|
3567
|
+
if (hold.position) _holdPosition.set(hold.position.x, hold.position.y, hold.position.z);
|
|
3568
|
+
else _holdPosition.copy(_heldPosition);
|
|
3569
|
+
if (hold.rotation) {
|
|
3570
|
+
_holdRotation.setFromEuler(_holdEuler.set(hold.rotation.x, hold.rotation.y, hold.rotation.z));
|
|
3571
|
+
} else {
|
|
3572
|
+
_holdRotation.copy(_heldRotation);
|
|
3573
|
+
}
|
|
3574
|
+
_holdMatrix.compose(_holdPosition, _holdRotation, _unitScale).multiply(_heldMatrix.compose(_heldPosition, _heldRotation, _unitScale).invert()).decompose(socket.position, socket.quaternion, _ignoredScale);
|
|
3575
|
+
socket.position.multiply(socket.scale);
|
|
3576
|
+
}
|
|
3577
|
+
/** Stop managing an attachment that no longer has holds, and put it back. */
|
|
3578
|
+
releaseBoneHold(world, entityId) {
|
|
3579
|
+
this.applyBoneHold(world, entityId, null, false);
|
|
3580
|
+
this.boneHolds.delete(entityId);
|
|
3581
|
+
}
|
|
3470
3582
|
/**
|
|
3471
3583
|
* Load a model entity's file again and swap it in (the file was rewritten);
|
|
3472
3584
|
* the entity, its components and children stay, attachments re-home.
|
|
@@ -7503,6 +7615,10 @@ function restorePostCreateComponents(world, objectManagementSystem, targetEntity
|
|
|
7503
7615
|
if (typeof source.humanoid === "string" || source.humanoid === null) attachment.humanoid = source.humanoid;
|
|
7504
7616
|
if (typeof source.compensateScale === "boolean") attachment.compensateScale = source.compensateScale;
|
|
7505
7617
|
if (typeof source.enabled === "boolean") attachment.enabled = source.enabled;
|
|
7618
|
+
if (Array.isArray(source.holds)) {
|
|
7619
|
+
attachment.holds = source.holds.map((raw) => asRecord3(raw)).filter((h) => !!h).map((h) => normalizeBoneHold(h));
|
|
7620
|
+
}
|
|
7621
|
+
if (typeof source.hideInOtherClips === "boolean") attachment.hideInOtherClips = source.hideInOtherClips;
|
|
7506
7622
|
}
|
|
7507
7623
|
}
|
|
7508
7624
|
if (values.networkIdentityValues.has(sourceEntityId) && !world.getComponent(targetEntityId, NetworkIdentityComponent)) {
|
|
@@ -15003,6 +15119,29 @@ var _XRAnchorSystem = class _XRAnchorSystem {
|
|
|
15003
15119
|
};
|
|
15004
15120
|
__name(_XRAnchorSystem, "XRAnchorSystem");
|
|
15005
15121
|
var XRAnchorSystem = _XRAnchorSystem;
|
|
15122
|
+
|
|
15123
|
+
// core/systems/BoneHoldSystem.ts
|
|
15124
|
+
var _BoneHoldSystem = class _BoneHoldSystem {
|
|
15125
|
+
update(world) {
|
|
15126
|
+
const oms = world.getObjectManagementSystem();
|
|
15127
|
+
if (!oms) return;
|
|
15128
|
+
for (const id of world.query(BoneAttachmentComponent)) {
|
|
15129
|
+
const attachment = world.getComponent(id, BoneAttachmentComponent);
|
|
15130
|
+
if (!attachment) continue;
|
|
15131
|
+
if (attachment.holds.length === 0 && !attachment.hideInOtherClips) {
|
|
15132
|
+
if (oms.hasBoneHold(id)) oms.releaseBoneHold(world, id);
|
|
15133
|
+
continue;
|
|
15134
|
+
}
|
|
15135
|
+
const character = world.getComponent(id, ParentId)?.value;
|
|
15136
|
+
const clip = typeof character === "number" ? world.getComponent(character, AnimationComponent)?.active?.clip.name : void 0;
|
|
15137
|
+
const hold = clip === void 0 ? void 0 : attachment.holds.find((h) => h.clips.includes(clip));
|
|
15138
|
+
const hidden = hold ? hold.hidden : clip !== void 0 && attachment.hideInOtherClips;
|
|
15139
|
+
oms.applyBoneHold(world, id, hold ?? null, hidden);
|
|
15140
|
+
}
|
|
15141
|
+
}
|
|
15142
|
+
};
|
|
15143
|
+
__name(_BoneHoldSystem, "BoneHoldSystem");
|
|
15144
|
+
var BoneHoldSystem = _BoneHoldSystem;
|
|
15006
15145
|
var _q = new THREE37__namespace.Quaternion();
|
|
15007
15146
|
var _q2 = new THREE37__namespace.Quaternion();
|
|
15008
15147
|
var _s = new THREE37__namespace.Vector3();
|
|
@@ -15010,6 +15149,7 @@ var _e = new THREE37__namespace.Vector3();
|
|
|
15010
15149
|
var _w = new THREE37__namespace.Vector3();
|
|
15011
15150
|
var _v = new THREE37__namespace.Vector3();
|
|
15012
15151
|
var _p = new THREE37__namespace.Vector3();
|
|
15152
|
+
var FORWARD = new THREE37__namespace.Vector3(0, 0, 1);
|
|
15013
15153
|
function setWorldQuaternion(o, q) {
|
|
15014
15154
|
if (o.parent) {
|
|
15015
15155
|
o.parent.getWorldQuaternion(_q2).invert();
|
|
@@ -15025,7 +15165,7 @@ function turn(o, q) {
|
|
|
15025
15165
|
setWorldQuaternion(o, q.clone().multiply(_q));
|
|
15026
15166
|
}
|
|
15027
15167
|
__name(turn, "turn");
|
|
15028
|
-
function twoBoneIK(upper, lower, end, target, pole) {
|
|
15168
|
+
function twoBoneIK(upper, lower, end, target, pole, forward = FORWARD) {
|
|
15029
15169
|
upper.getWorldPosition(_s);
|
|
15030
15170
|
lower.getWorldPosition(_e);
|
|
15031
15171
|
end.getWorldPosition(_w);
|
|
@@ -15038,7 +15178,10 @@ function twoBoneIK(upper, lower, end, target, pole) {
|
|
|
15038
15178
|
const dir = toT.divideScalar(want || 1).clone();
|
|
15039
15179
|
const pv = _p.subVectors(pole, _s);
|
|
15040
15180
|
pv.addScaledVector(dir, -pv.dot(dir));
|
|
15041
|
-
if (pv.lengthSq() < 1e-8)
|
|
15181
|
+
if (pv.lengthSq() < 1e-8) {
|
|
15182
|
+
if (Math.abs(dir.y) > 0.9) pv.copy(forward).addScaledVector(dir, -dir.dot(forward));
|
|
15183
|
+
else pv.set(0, -1, 0).addScaledVector(dir, dir.y);
|
|
15184
|
+
}
|
|
15042
15185
|
pv.normalize();
|
|
15043
15186
|
const cosA = THREE37__namespace.MathUtils.clamp((a * a + c * c - b * b) / (2 * a * c), -1, 1);
|
|
15044
15187
|
const joint = _s.clone().addScaledVector(dir, a * cosA).addScaledVector(pv, a * Math.sqrt(1 - cosA * cosA));
|
|
@@ -15062,6 +15205,7 @@ var _t = new THREE37__namespace.Vector3();
|
|
|
15062
15205
|
var _p2 = new THREE37__namespace.Vector3();
|
|
15063
15206
|
var _q3 = new THREE37__namespace.Quaternion();
|
|
15064
15207
|
var _pq = new THREE37__namespace.Quaternion();
|
|
15208
|
+
var _forward = new THREE37__namespace.Vector3();
|
|
15065
15209
|
var _IKSystem = class _IKSystem {
|
|
15066
15210
|
constructor() {
|
|
15067
15211
|
this.runtimes = /* @__PURE__ */ new Map();
|
|
@@ -15079,7 +15223,18 @@ var _IKSystem = class _IKSystem {
|
|
|
15079
15223
|
}
|
|
15080
15224
|
runtime.written.clear();
|
|
15081
15225
|
}
|
|
15082
|
-
|
|
15226
|
+
/** How strongly a chain applies now, moving its fade on by `deltaTime`. */
|
|
15227
|
+
fadeOf(runtime, chain, animation, deltaTime) {
|
|
15228
|
+
if (!chain.clips) return 1;
|
|
15229
|
+
const clip = animation?.active?.clip.name;
|
|
15230
|
+
const wanted = clip !== void 0 && chain.clips.includes(clip) ? 1 : 0;
|
|
15231
|
+
const was = runtime.fades.get(chain);
|
|
15232
|
+
const seconds = chain.fade ?? animation?.crossFadeDuration ?? 0;
|
|
15233
|
+
const next = was === void 0 || seconds <= 0 ? wanted : was + Math.sign(wanted - was) * Math.min(Math.abs(wanted - was), deltaTime / seconds);
|
|
15234
|
+
runtime.fades.set(chain, next);
|
|
15235
|
+
return THREE37__namespace.MathUtils.smoothstep(next, 0, 1);
|
|
15236
|
+
}
|
|
15237
|
+
update(world, deltaTime = 0) {
|
|
15083
15238
|
const ids = world.query(IKComponent, ModelComponent);
|
|
15084
15239
|
const alive = new Set(ids);
|
|
15085
15240
|
for (const [id, runtime] of this.runtimes) {
|
|
@@ -15097,7 +15252,7 @@ var _IKSystem = class _IKSystem {
|
|
|
15097
15252
|
let runtime = this.runtimes.get(id);
|
|
15098
15253
|
if (!runtime || runtime.rootUuid !== root.uuid) {
|
|
15099
15254
|
if (runtime) this.restore(runtime);
|
|
15100
|
-
runtime = { rootUuid: root.uuid, limbs: /* @__PURE__ */ new Map(), written: /* @__PURE__ */ new Map(), reach: /* @__PURE__ */ new Map() };
|
|
15255
|
+
runtime = { rootUuid: root.uuid, limbs: /* @__PURE__ */ new Map(), written: /* @__PURE__ */ new Map(), reach: /* @__PURE__ */ new Map(), fades: /* @__PURE__ */ new WeakMap() };
|
|
15101
15256
|
this.runtimes.set(id, runtime);
|
|
15102
15257
|
}
|
|
15103
15258
|
for (const [bone, w] of runtime.written) {
|
|
@@ -15106,13 +15261,15 @@ var _IKSystem = class _IKSystem {
|
|
|
15106
15261
|
runtime.written.clear();
|
|
15107
15262
|
runtime.reach.clear();
|
|
15108
15263
|
if (!ik.enabled) continue;
|
|
15109
|
-
const
|
|
15264
|
+
const animation = world.getComponent(id, AnimationComponent);
|
|
15265
|
+
const active = ik.chains.map((chain) => ({ chain, weight: chain.weight * this.fadeOf(runtime, chain, animation, deltaTime) })).filter(({ chain, weight }) => chain.enabled && weight > 0 && typeof chain.target === "number");
|
|
15110
15266
|
if (active.length === 0) continue;
|
|
15111
15267
|
if (!matricesFresh) {
|
|
15112
15268
|
world.getScene().updateMatrixWorld(true);
|
|
15113
15269
|
matricesFresh = true;
|
|
15114
15270
|
}
|
|
15115
|
-
|
|
15271
|
+
root.getWorldDirection(_forward);
|
|
15272
|
+
for (const { chain, weight } of active) {
|
|
15116
15273
|
let limb = runtime.limbs.get(chain.limb);
|
|
15117
15274
|
if (!limb) {
|
|
15118
15275
|
const names = LIMB_BONES[chain.limb];
|
|
@@ -15133,16 +15290,16 @@ var _IKSystem = class _IKSystem {
|
|
|
15133
15290
|
const poleObject = typeof chain.pole === "number" ? world.getComponent(chain.pole, Object3DRef)?.object : null;
|
|
15134
15291
|
if (poleObject) poleObject.getWorldPosition(_p2);
|
|
15135
15292
|
else lower.getWorldPosition(_p2);
|
|
15136
|
-
const miss = twoBoneIK(upper, lower, end, _t, _p2);
|
|
15293
|
+
const miss = twoBoneIK(upper, lower, end, _t, _p2, _forward);
|
|
15137
15294
|
runtime.reach.set(chain.limb, Math.max(0, miss));
|
|
15138
15295
|
if (chain.matchRotation) {
|
|
15139
15296
|
target.getWorldQuaternion(_q3);
|
|
15140
15297
|
end.parent?.getWorldQuaternion(_pq);
|
|
15141
15298
|
end.quaternion.copy(_pq.invert().multiply(_q3));
|
|
15142
15299
|
}
|
|
15143
|
-
if (
|
|
15300
|
+
if (weight < 1) {
|
|
15144
15301
|
[upper, lower, end].forEach((bone, i) => {
|
|
15145
|
-
bone.quaternion.copy(animated[i].slerp(bone.quaternion,
|
|
15302
|
+
bone.quaternion.copy(animated[i].slerp(bone.quaternion, weight));
|
|
15146
15303
|
});
|
|
15147
15304
|
}
|
|
15148
15305
|
for (const bone of [upper, lower, end]) {
|
|
@@ -16403,6 +16560,7 @@ var XRHoverVisualSystem = _XRHoverVisualSystem;
|
|
|
16403
16560
|
|
|
16404
16561
|
exports.AnimationSystem = AnimationSystem;
|
|
16405
16562
|
exports.AudioSystem = AudioSystem;
|
|
16563
|
+
exports.BoneHoldSystem = BoneHoldSystem;
|
|
16406
16564
|
exports.CameraSyncSystem = CameraSyncSystem;
|
|
16407
16565
|
exports.DEFAULT_SCRIPT_ERROR_RETRY_DELAY = DEFAULT_SCRIPT_ERROR_RETRY_DELAY;
|
|
16408
16566
|
exports.EnvironmentSyncSystem = EnvironmentSyncSystem;
|