@relu-interactives/spatial-ecs 0.10.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
|
@@ -599,6 +599,85 @@ declare class TransformComponent extends Component {
|
|
|
599
599
|
setRotation(input: TransformInput, order?: EulerOrder): this;
|
|
600
600
|
}
|
|
601
601
|
|
|
602
|
+
/** Three numbers, as {@link TransformComponent} keeps them. */
|
|
603
|
+
type Xyz = {
|
|
604
|
+
x: number;
|
|
605
|
+
y: number;
|
|
606
|
+
z: number;
|
|
607
|
+
};
|
|
608
|
+
/**
|
|
609
|
+
* Where an attached entity goes while certain clips play: a rifle slung on the
|
|
610
|
+
* back in Idle, a sword hidden in Swim.
|
|
611
|
+
*/
|
|
612
|
+
type BoneHold = {
|
|
613
|
+
/** The clips this hold is for. */
|
|
614
|
+
clips: string[];
|
|
615
|
+
/** Another bone, by node name, for these clips. Unset: the attachment's own. */
|
|
616
|
+
bone: string | null;
|
|
617
|
+
/** Another bone by humanoid name, used when the node name isn't found (another rig). */
|
|
618
|
+
humanoid: string | null;
|
|
619
|
+
/** Hide the entity in these clips. */
|
|
620
|
+
hidden: boolean;
|
|
621
|
+
/** Offset from the bone in these clips, instead of the entity's Transform position. */
|
|
622
|
+
position: Xyz | null;
|
|
623
|
+
/** Rotation from the bone in radians, instead of the entity's Transform rotation. */
|
|
624
|
+
rotation: Xyz | null;
|
|
625
|
+
};
|
|
626
|
+
/** A hold with every field filled in. */
|
|
627
|
+
declare function normalizeBoneHold(hold: Partial<BoneHold>): BoneHold;
|
|
628
|
+
/** Optional initializer for {@link BoneAttachmentComponent}. */
|
|
629
|
+
type BoneAttachmentOptions = {
|
|
630
|
+
/** The bone's node name in the parent's model (as three.js names it). */
|
|
631
|
+
bone?: string;
|
|
632
|
+
/** The bone's humanoid name (`rightHand`, `head` …), used when the node name isn't found (another rig). */
|
|
633
|
+
humanoid?: string | null;
|
|
634
|
+
/** Cancel the bone's world scale so offsets are in metres on any rig. Defaults to `true`. */
|
|
635
|
+
compensateScale?: boolean;
|
|
636
|
+
/** Turn the attachment off without removing it. Defaults to `true`. */
|
|
637
|
+
enabled?: boolean;
|
|
638
|
+
/** Where it goes in particular clips. Defaults to none. */
|
|
639
|
+
holds?: Array<Partial<BoneHold> & {
|
|
640
|
+
clips: string[];
|
|
641
|
+
}>;
|
|
642
|
+
/** Hide it while a clip no hold names is playing. Defaults to `false`. */
|
|
643
|
+
hideInOtherClips?: boolean;
|
|
644
|
+
};
|
|
645
|
+
/**
|
|
646
|
+
* Fixes an entity to a bone of its PARENT's model — a sword in a hand, a hat
|
|
647
|
+
* on a head, a backpack on the chest — so it moves with every animation.
|
|
648
|
+
*
|
|
649
|
+
* The entity's `ParentId` stays the character; this names the bone. The
|
|
650
|
+
* `ObjectManagementSystem` then parents the entity's object under that bone
|
|
651
|
+
* (through a small socket that cancels the rig's scale), and the entity's
|
|
652
|
+
* Transform becomes its offset FROM the bone: position in metres, rotation
|
|
653
|
+
* relative to the bone. Until the model has loaded, or when the bone isn't
|
|
654
|
+
* found, the entity sits under the character as an ordinary child.
|
|
655
|
+
*
|
|
656
|
+
* `holds` change that per clip of the character's Animation component, so a
|
|
657
|
+
* rifle can be in the hands in the rifle clips, on the back in Idle and hidden
|
|
658
|
+
* in the rest. With no clip playing the attachment is as its own fields say.
|
|
659
|
+
*
|
|
660
|
+
* Attach and detach with `ObjectManagementSystem.attachToBone` /
|
|
661
|
+
* `detachFromBone`, which can keep the entity where it is in the world.
|
|
662
|
+
*
|
|
663
|
+
* @category Components
|
|
664
|
+
*/
|
|
665
|
+
declare class BoneAttachmentComponent extends Component {
|
|
666
|
+
/** The bone's node name in the parent's model. */
|
|
667
|
+
bone: string;
|
|
668
|
+
/** The bone's humanoid name, the fallback when the node name isn't found. */
|
|
669
|
+
humanoid: string | null;
|
|
670
|
+
/** Cancel the bone's world scale (offsets in metres on a centimetre rig). */
|
|
671
|
+
compensateScale: boolean;
|
|
672
|
+
/** Whether the entity follows the bone. Off: an ordinary child of the character. */
|
|
673
|
+
enabled: boolean;
|
|
674
|
+
/** Where the entity goes in particular clips; the first hold naming the clip wins. */
|
|
675
|
+
holds: BoneHold[];
|
|
676
|
+
/** Hide the entity while a clip no hold names is playing. */
|
|
677
|
+
hideInOtherClips: boolean;
|
|
678
|
+
constructor(options?: BoneAttachmentOptions);
|
|
679
|
+
}
|
|
680
|
+
|
|
602
681
|
/** The limb a chain moves: its end bone, by humanoid name. */
|
|
603
682
|
type IKLimb = "leftHand" | "rightHand" | "leftFoot" | "rightFoot";
|
|
604
683
|
/** One limb reaching for an entity. */
|
|
@@ -615,6 +694,14 @@ type IKChain = {
|
|
|
615
694
|
matchRotation: boolean;
|
|
616
695
|
/** Whether this chain runs. */
|
|
617
696
|
enabled: boolean;
|
|
697
|
+
/** Only while one of these clips plays (`null` = whatever plays). */
|
|
698
|
+
clips: string[] | null;
|
|
699
|
+
/**
|
|
700
|
+
* Seconds a chain with `clips` takes to fade in or out when the clip changes;
|
|
701
|
+
* `null` follows the Animation component's cross-fade, so the IK and the clip
|
|
702
|
+
* change together.
|
|
703
|
+
*/
|
|
704
|
+
fade: number | null;
|
|
618
705
|
};
|
|
619
706
|
/** Optional initializer for {@link IKComponent}. */
|
|
620
707
|
type IKOptions = {
|
|
@@ -635,6 +722,11 @@ declare function normalizeIKChain(chain: Partial<IKChain> & {
|
|
|
635
722
|
* otherwise. Bones are found by humanoid name, so any rig the editor
|
|
636
723
|
* recognises works (Mixamo, auto-rigs, Unreal, VRM).
|
|
637
724
|
*
|
|
725
|
+
* A chain with `clips` runs only while one of those clips plays, fading in and
|
|
726
|
+
* out as the clip changes: a left hand on a rifle's grip in the rifle clips,
|
|
727
|
+
* free in the rest. Without an Animation component no clip is playing, so such
|
|
728
|
+
* a chain stays off.
|
|
729
|
+
*
|
|
638
730
|
* The `IKSystem` runs it right after the `AnimationSystem`; objects attached
|
|
639
731
|
* to the moved bones follow.
|
|
640
732
|
*
|
|
@@ -1229,6 +1321,8 @@ declare class ObjectManagementSystem implements EcsSystem {
|
|
|
1229
1321
|
private readonly boneSockets;
|
|
1230
1322
|
/** Attachments whose bone wasn't found in a given model (skip re-searching every frame). */
|
|
1231
1323
|
private readonly boneMisses;
|
|
1324
|
+
/** Attachments with holds, and which one the current clip calls for (`null`: none). */
|
|
1325
|
+
private readonly boneHolds;
|
|
1232
1326
|
constructor(scene: THREE.Scene, camera: THREE.PerspectiveCamera, isEditor?: boolean);
|
|
1233
1327
|
register(kind: EcsEntityKind, factory: EntityFactory): void;
|
|
1234
1328
|
registerComponentFactory(kind: EcsComponentFactoryKind, factory: ComponentFactory): void;
|
|
@@ -1280,6 +1374,16 @@ declare class ObjectManagementSystem implements EcsSystem {
|
|
|
1280
1374
|
* still applies, as it does to any child.
|
|
1281
1375
|
*/
|
|
1282
1376
|
private fitSocketScale;
|
|
1377
|
+
/** Whether {@link applyBoneHold} is managing this attachment. */
|
|
1378
|
+
hasBoneHold(entityId: EntityId): boolean;
|
|
1379
|
+
/**
|
|
1380
|
+
* Put an attachment in a hold for the clip now playing (`hold` null: the
|
|
1381
|
+
* attachment's own bone and Transform), moving it to the hold's bone if that
|
|
1382
|
+
* changed. Called each frame, since a socket can be rebuilt under it.
|
|
1383
|
+
*/
|
|
1384
|
+
applyBoneHold(world: World, entityId: EntityId, hold: BoneHold | null, hidden: boolean): void;
|
|
1385
|
+
/** Stop managing an attachment that no longer has holds, and put it back. */
|
|
1386
|
+
releaseBoneHold(world: World, entityId: EntityId): void;
|
|
1283
1387
|
/**
|
|
1284
1388
|
* Load a model entity's file again and swap it in (the file was rewritten);
|
|
1285
1389
|
* the entity, its components and children stay, attachments re-home.
|
|
@@ -1615,7 +1719,8 @@ declare class TransformSyncSystem implements EcsSystem {
|
|
|
1615
1719
|
* Runs each {@link IKComponent}'s chains after the animation: hands and feet
|
|
1616
1720
|
* reach their target entities. Bones the animation doesn't drive would keep
|
|
1617
1721
|
* last frame's IK pose and drift, so every bone IK touched is put back to its
|
|
1618
|
-
* pre-IK rotation first unless the animation already overwrote it.
|
|
1722
|
+
* pre-IK rotation first unless the animation already overwrote it. A chain
|
|
1723
|
+
* with `clips` fades with the clip that's playing.
|
|
1619
1724
|
*
|
|
1620
1725
|
* @category Systems
|
|
1621
1726
|
*/
|
|
@@ -1627,7 +1732,9 @@ declare class IKSystem implements EcsSystem {
|
|
|
1627
1732
|
*/
|
|
1628
1733
|
getReachError(entityId: EntityId, limb: IKLimb): number | null;
|
|
1629
1734
|
private restore;
|
|
1630
|
-
|
|
1735
|
+
/** How strongly a chain applies now, moving its fade on by `deltaTime`. */
|
|
1736
|
+
private fadeOf;
|
|
1737
|
+
update(world: World, deltaTime?: number): void;
|
|
1631
1738
|
dispose(): void;
|
|
1632
1739
|
}
|
|
1633
1740
|
|
|
@@ -2013,4 +2120,4 @@ interface EcsSystem {
|
|
|
2013
2120
|
dispose?(world: World): void;
|
|
2014
2121
|
}
|
|
2015
2122
|
|
|
2016
|
-
export { type
|
|
2123
|
+
export { type SpawnPrefabOptions as $, normalizeIKChain as A, BoneAttachmentComponent as B, Component as C, DEFAULT_ENVIRONMENT_LIGHTING as D, Environment as E, type NetworkTransport as F, type NetEntityView as G, type NetPose as H, type IKChain as I, type NetSound as J, type VoiceFromRoom as K, type VoiceToRoom as L, type VoiceHandle as M, type NetValue as N, type VoicePeer as O, ParentId as P, type EcsSystem as Q, type NetworkService as R, type EntityId as S, TransformComponent as T, type NetworkHandle as U, type Vec3$1 as V, World as W, type NetSpawnOptions as X, type VoiceSignal as Y, type WorldEntityView$1 as Z, type SpawnPrefabSource as _, type BoneAttachmentOptions as a, prefabFileVersionFor as a$, type PlaySlotOptions as a0, type ComponentClass as a1, type ParentLookup as a2, type RenderBackend as a3, type EcsEntityKind as a4, ObjectManagementSystem as a5, type SubtreeSnapshot as a6, type ExternalRefWarning as a7, type AssetInput as a8, type AudioBus as a9, type PrefabAsset as aA, type RemapSnapshotOptions as aB, RenderSystem as aC, type RendererKind as aD, type ScriptErrorEvent as aE, type ScriptErrorListener as aF, type ScriptErrorPhase as aG, type ScriptErrorReport as aH, type ScriptErrorSource as aI, type SelectionListener as aJ, type SliderInput as aK, SlotChooser as aL, type SoundBankAsset as aM, type SoundSlot as aN, type SoundTake as aO, type TextInput as aP, type ToggleInput as aQ, TransformSyncSystem as aR, type Vec3 as aS, type Vector2Input as aT, type Vector3Input as aU, clearPrefabCache as aV, despawnPrefab as aW, findModelBone as aX, listModelBones as aY, loadPrefab as aZ, parsePrefabAsset as a_, AudioMixer as aa, AudioSystem as ab, type CheckboxInput as ac, type ChromaKeyOptions as ad, type ColorInput as ae, type ComponentFactory as af, type ComponentInput as ag, type ComponentKind as ah, type DropdownInput as ai, type DropdownOption as aj, type EcsComponentFactoryKind as ak, type EcsEntityEditorKind as al, type EcsRenderer as am, type EntityInput as an, type FloatInput as ao, IKSystem as ap, InputSystem as aq, type IntersectionResult as ar, type KeyboardKey as as, KeyboardKeys as at, type ModelBoneInfo as au, type MouseButton as av, PREFAB_FILE_VERSION as aw, PREFAB_FILE_VERSION_NESTED as ax, type PostprocessingBuildContext as ay, type PostprocessingPipeline as az, type BoneHold as b, remapSnapshotEntityIds as b0, setPrefabAssetUrlResolver as b1, soundBankFiles as b2, spawnPrefab as b3, type AnyComponent as b4, DEBUG_CHANGE_IGNORED_SYSTEMS as b5, type WorldHistorySnapshot as b6, cloneHistoryValue as b7, normalizeDebugValue as b8, DEFAULT_ENVIRONMENT_STATE as c, DEFAULT_POSTPROCESSING_STATE as d, type EnvironmentFogState as e, type EnvironmentFogType as f, type EnvironmentGradientEffect as g, type EnvironmentLightingState as h, type EnvironmentSkyboxImageProjection as i, type EnvironmentSkyboxState as j, type EnvironmentSkyboxType as k, type EnvironmentState as l, type EnvironmentToneMapping as m, IKComponent as n, type IKLimb as o, type IKOptions as p, NetworkIdentityComponent as q, NetworkSpawnerComponent as r, NetworkTransformComponent as s, type NetworkTransformOptions as t, NetworkedPropsComponent as u, Postprocessing as v, type PostprocessingState as w, type TransformData as x, normalizeBoneHold as y, normalizeEnvironmentLighting as z };
|
|
@@ -599,6 +599,85 @@ declare class TransformComponent extends Component {
|
|
|
599
599
|
setRotation(input: TransformInput, order?: EulerOrder): this;
|
|
600
600
|
}
|
|
601
601
|
|
|
602
|
+
/** Three numbers, as {@link TransformComponent} keeps them. */
|
|
603
|
+
type Xyz = {
|
|
604
|
+
x: number;
|
|
605
|
+
y: number;
|
|
606
|
+
z: number;
|
|
607
|
+
};
|
|
608
|
+
/**
|
|
609
|
+
* Where an attached entity goes while certain clips play: a rifle slung on the
|
|
610
|
+
* back in Idle, a sword hidden in Swim.
|
|
611
|
+
*/
|
|
612
|
+
type BoneHold = {
|
|
613
|
+
/** The clips this hold is for. */
|
|
614
|
+
clips: string[];
|
|
615
|
+
/** Another bone, by node name, for these clips. Unset: the attachment's own. */
|
|
616
|
+
bone: string | null;
|
|
617
|
+
/** Another bone by humanoid name, used when the node name isn't found (another rig). */
|
|
618
|
+
humanoid: string | null;
|
|
619
|
+
/** Hide the entity in these clips. */
|
|
620
|
+
hidden: boolean;
|
|
621
|
+
/** Offset from the bone in these clips, instead of the entity's Transform position. */
|
|
622
|
+
position: Xyz | null;
|
|
623
|
+
/** Rotation from the bone in radians, instead of the entity's Transform rotation. */
|
|
624
|
+
rotation: Xyz | null;
|
|
625
|
+
};
|
|
626
|
+
/** A hold with every field filled in. */
|
|
627
|
+
declare function normalizeBoneHold(hold: Partial<BoneHold>): BoneHold;
|
|
628
|
+
/** Optional initializer for {@link BoneAttachmentComponent}. */
|
|
629
|
+
type BoneAttachmentOptions = {
|
|
630
|
+
/** The bone's node name in the parent's model (as three.js names it). */
|
|
631
|
+
bone?: string;
|
|
632
|
+
/** The bone's humanoid name (`rightHand`, `head` …), used when the node name isn't found (another rig). */
|
|
633
|
+
humanoid?: string | null;
|
|
634
|
+
/** Cancel the bone's world scale so offsets are in metres on any rig. Defaults to `true`. */
|
|
635
|
+
compensateScale?: boolean;
|
|
636
|
+
/** Turn the attachment off without removing it. Defaults to `true`. */
|
|
637
|
+
enabled?: boolean;
|
|
638
|
+
/** Where it goes in particular clips. Defaults to none. */
|
|
639
|
+
holds?: Array<Partial<BoneHold> & {
|
|
640
|
+
clips: string[];
|
|
641
|
+
}>;
|
|
642
|
+
/** Hide it while a clip no hold names is playing. Defaults to `false`. */
|
|
643
|
+
hideInOtherClips?: boolean;
|
|
644
|
+
};
|
|
645
|
+
/**
|
|
646
|
+
* Fixes an entity to a bone of its PARENT's model — a sword in a hand, a hat
|
|
647
|
+
* on a head, a backpack on the chest — so it moves with every animation.
|
|
648
|
+
*
|
|
649
|
+
* The entity's `ParentId` stays the character; this names the bone. The
|
|
650
|
+
* `ObjectManagementSystem` then parents the entity's object under that bone
|
|
651
|
+
* (through a small socket that cancels the rig's scale), and the entity's
|
|
652
|
+
* Transform becomes its offset FROM the bone: position in metres, rotation
|
|
653
|
+
* relative to the bone. Until the model has loaded, or when the bone isn't
|
|
654
|
+
* found, the entity sits under the character as an ordinary child.
|
|
655
|
+
*
|
|
656
|
+
* `holds` change that per clip of the character's Animation component, so a
|
|
657
|
+
* rifle can be in the hands in the rifle clips, on the back in Idle and hidden
|
|
658
|
+
* in the rest. With no clip playing the attachment is as its own fields say.
|
|
659
|
+
*
|
|
660
|
+
* Attach and detach with `ObjectManagementSystem.attachToBone` /
|
|
661
|
+
* `detachFromBone`, which can keep the entity where it is in the world.
|
|
662
|
+
*
|
|
663
|
+
* @category Components
|
|
664
|
+
*/
|
|
665
|
+
declare class BoneAttachmentComponent extends Component {
|
|
666
|
+
/** The bone's node name in the parent's model. */
|
|
667
|
+
bone: string;
|
|
668
|
+
/** The bone's humanoid name, the fallback when the node name isn't found. */
|
|
669
|
+
humanoid: string | null;
|
|
670
|
+
/** Cancel the bone's world scale (offsets in metres on a centimetre rig). */
|
|
671
|
+
compensateScale: boolean;
|
|
672
|
+
/** Whether the entity follows the bone. Off: an ordinary child of the character. */
|
|
673
|
+
enabled: boolean;
|
|
674
|
+
/** Where the entity goes in particular clips; the first hold naming the clip wins. */
|
|
675
|
+
holds: BoneHold[];
|
|
676
|
+
/** Hide the entity while a clip no hold names is playing. */
|
|
677
|
+
hideInOtherClips: boolean;
|
|
678
|
+
constructor(options?: BoneAttachmentOptions);
|
|
679
|
+
}
|
|
680
|
+
|
|
602
681
|
/** The limb a chain moves: its end bone, by humanoid name. */
|
|
603
682
|
type IKLimb = "leftHand" | "rightHand" | "leftFoot" | "rightFoot";
|
|
604
683
|
/** One limb reaching for an entity. */
|
|
@@ -615,6 +694,14 @@ type IKChain = {
|
|
|
615
694
|
matchRotation: boolean;
|
|
616
695
|
/** Whether this chain runs. */
|
|
617
696
|
enabled: boolean;
|
|
697
|
+
/** Only while one of these clips plays (`null` = whatever plays). */
|
|
698
|
+
clips: string[] | null;
|
|
699
|
+
/**
|
|
700
|
+
* Seconds a chain with `clips` takes to fade in or out when the clip changes;
|
|
701
|
+
* `null` follows the Animation component's cross-fade, so the IK and the clip
|
|
702
|
+
* change together.
|
|
703
|
+
*/
|
|
704
|
+
fade: number | null;
|
|
618
705
|
};
|
|
619
706
|
/** Optional initializer for {@link IKComponent}. */
|
|
620
707
|
type IKOptions = {
|
|
@@ -635,6 +722,11 @@ declare function normalizeIKChain(chain: Partial<IKChain> & {
|
|
|
635
722
|
* otherwise. Bones are found by humanoid name, so any rig the editor
|
|
636
723
|
* recognises works (Mixamo, auto-rigs, Unreal, VRM).
|
|
637
724
|
*
|
|
725
|
+
* A chain with `clips` runs only while one of those clips plays, fading in and
|
|
726
|
+
* out as the clip changes: a left hand on a rifle's grip in the rifle clips,
|
|
727
|
+
* free in the rest. Without an Animation component no clip is playing, so such
|
|
728
|
+
* a chain stays off.
|
|
729
|
+
*
|
|
638
730
|
* The `IKSystem` runs it right after the `AnimationSystem`; objects attached
|
|
639
731
|
* to the moved bones follow.
|
|
640
732
|
*
|
|
@@ -1229,6 +1321,8 @@ declare class ObjectManagementSystem implements EcsSystem {
|
|
|
1229
1321
|
private readonly boneSockets;
|
|
1230
1322
|
/** Attachments whose bone wasn't found in a given model (skip re-searching every frame). */
|
|
1231
1323
|
private readonly boneMisses;
|
|
1324
|
+
/** Attachments with holds, and which one the current clip calls for (`null`: none). */
|
|
1325
|
+
private readonly boneHolds;
|
|
1232
1326
|
constructor(scene: THREE.Scene, camera: THREE.PerspectiveCamera, isEditor?: boolean);
|
|
1233
1327
|
register(kind: EcsEntityKind, factory: EntityFactory): void;
|
|
1234
1328
|
registerComponentFactory(kind: EcsComponentFactoryKind, factory: ComponentFactory): void;
|
|
@@ -1280,6 +1374,16 @@ declare class ObjectManagementSystem implements EcsSystem {
|
|
|
1280
1374
|
* still applies, as it does to any child.
|
|
1281
1375
|
*/
|
|
1282
1376
|
private fitSocketScale;
|
|
1377
|
+
/** Whether {@link applyBoneHold} is managing this attachment. */
|
|
1378
|
+
hasBoneHold(entityId: EntityId): boolean;
|
|
1379
|
+
/**
|
|
1380
|
+
* Put an attachment in a hold for the clip now playing (`hold` null: the
|
|
1381
|
+
* attachment's own bone and Transform), moving it to the hold's bone if that
|
|
1382
|
+
* changed. Called each frame, since a socket can be rebuilt under it.
|
|
1383
|
+
*/
|
|
1384
|
+
applyBoneHold(world: World, entityId: EntityId, hold: BoneHold | null, hidden: boolean): void;
|
|
1385
|
+
/** Stop managing an attachment that no longer has holds, and put it back. */
|
|
1386
|
+
releaseBoneHold(world: World, entityId: EntityId): void;
|
|
1283
1387
|
/**
|
|
1284
1388
|
* Load a model entity's file again and swap it in (the file was rewritten);
|
|
1285
1389
|
* the entity, its components and children stay, attachments re-home.
|
|
@@ -1615,7 +1719,8 @@ declare class TransformSyncSystem implements EcsSystem {
|
|
|
1615
1719
|
* Runs each {@link IKComponent}'s chains after the animation: hands and feet
|
|
1616
1720
|
* reach their target entities. Bones the animation doesn't drive would keep
|
|
1617
1721
|
* last frame's IK pose and drift, so every bone IK touched is put back to its
|
|
1618
|
-
* pre-IK rotation first unless the animation already overwrote it.
|
|
1722
|
+
* pre-IK rotation first unless the animation already overwrote it. A chain
|
|
1723
|
+
* with `clips` fades with the clip that's playing.
|
|
1619
1724
|
*
|
|
1620
1725
|
* @category Systems
|
|
1621
1726
|
*/
|
|
@@ -1627,7 +1732,9 @@ declare class IKSystem implements EcsSystem {
|
|
|
1627
1732
|
*/
|
|
1628
1733
|
getReachError(entityId: EntityId, limb: IKLimb): number | null;
|
|
1629
1734
|
private restore;
|
|
1630
|
-
|
|
1735
|
+
/** How strongly a chain applies now, moving its fade on by `deltaTime`. */
|
|
1736
|
+
private fadeOf;
|
|
1737
|
+
update(world: World, deltaTime?: number): void;
|
|
1631
1738
|
dispose(): void;
|
|
1632
1739
|
}
|
|
1633
1740
|
|
|
@@ -2013,4 +2120,4 @@ interface EcsSystem {
|
|
|
2013
2120
|
dispose?(world: World): void;
|
|
2014
2121
|
}
|
|
2015
2122
|
|
|
2016
|
-
export { type
|
|
2123
|
+
export { type EntityId as $, ParentId as A, BoneAttachmentComponent as B, type ChromaKeyOptions as C, DEFAULT_ENVIRONMENT_LIGHTING as D, type EcsRenderer as E, Postprocessing as F, type TransformData as G, normalizeBoneHold as H, type IKChain as I, normalizeEnvironmentLighting as J, normalizeIKChain as K, type NetworkTransport as L, type NetEntityView as M, type NetValue as N, type NetPose as O, type PostprocessingPipeline as P, type NetSound as Q, type RenderBackend as R, type VoiceFromRoom as S, TransformComponent as T, type VoiceToRoom as U, type Vec3$1 as V, type VoiceHandle as W, type VoicePeer as X, type EcsSystem as Y, type NetworkService as Z, World as _, type PostprocessingBuildContext as a, prefabFileVersionFor as a$, type NetworkHandle as a0, type NetSpawnOptions as a1, type VoiceSignal as a2, type WorldEntityView$1 as a3, type SpawnPrefabSource as a4, type SpawnPrefabOptions as a5, type PlaySlotOptions as a6, type ComponentClass as a7, type ParentLookup as a8, type EcsEntityKind as a9, PREFAB_FILE_VERSION_NESTED as aA, type PrefabAsset as aB, type RemapSnapshotOptions as aC, RenderSystem as aD, type ScriptErrorEvent as aE, type ScriptErrorListener as aF, type ScriptErrorPhase as aG, type ScriptErrorReport as aH, type ScriptErrorSource as aI, type SelectionListener as aJ, type SliderInput as aK, SlotChooser as aL, type SoundBankAsset as aM, type SoundSlot as aN, type SoundTake as aO, type TextInput as aP, type ToggleInput as aQ, TransformSyncSystem as aR, type Vec3 as aS, type Vector2Input as aT, type Vector3Input as aU, clearPrefabCache as aV, despawnPrefab as aW, findModelBone as aX, listModelBones as aY, loadPrefab as aZ, parsePrefabAsset as a_, ObjectManagementSystem as aa, type SubtreeSnapshot as ab, type ExternalRefWarning as ac, type AssetInput as ad, type AudioBus as ae, AudioMixer as af, AudioSystem as ag, type CheckboxInput as ah, type ColorInput as ai, type ComponentFactory as aj, type ComponentInput as ak, type ComponentKind as al, type DropdownInput as am, type DropdownOption as an, type EcsComponentFactoryKind as ao, type EcsEntityEditorKind as ap, type EntityInput as aq, type FloatInput as ar, IKSystem as as, InputSystem as at, type IntersectionResult as au, type KeyboardKey as av, KeyboardKeys as aw, type ModelBoneInfo as ax, type MouseButton as ay, PREFAB_FILE_VERSION as az, type PostprocessingState as b, remapSnapshotEntityIds as b0, setPrefabAssetUrlResolver as b1, soundBankFiles as b2, spawnPrefab as b3, type AnyComponent as b4, DEBUG_CHANGE_IGNORED_SYSTEMS as b5, type WorldHistorySnapshot as b6, cloneHistoryValue as b7, normalizeDebugValue as b8, type RendererKind as c, Component as d, type BoneAttachmentOptions as e, type BoneHold as f, DEFAULT_ENVIRONMENT_STATE as g, DEFAULT_POSTPROCESSING_STATE as h, Environment as i, type EnvironmentFogState as j, type EnvironmentFogType as k, type EnvironmentGradientEffect as l, type EnvironmentLightingState as m, type EnvironmentSkyboxImageProjection as n, type EnvironmentSkyboxState as o, type EnvironmentSkyboxType as p, type EnvironmentState as q, type EnvironmentToneMapping as r, IKComponent as s, type IKLimb as t, type IKOptions as u, NetworkIdentityComponent as v, NetworkSpawnerComponent as w, NetworkTransformComponent as x, type NetworkTransformOptions as y, NetworkedPropsComponent as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
|
-
import { C as Component,
|
|
2
|
+
import { C as Component, a9 as AudioBus, a4 as EcsEntityKind, al as EcsEntityEditorKind, S as EntityId } from './System-D8vm-Jvv.cjs';
|
|
3
3
|
import * as RAPIER from '@dimforge/rapier3d-compat';
|
|
4
4
|
import { a as XrFinger, c as XrHandPoseDirection, b as XrHandPoseOrientation, X as XrHandPoseDefinition } from './handPose-DlcTtqgx.cjs';
|
|
5
5
|
|
|
@@ -1624,45 +1624,6 @@ declare class XRAnchorComponent extends Component {
|
|
|
1624
1624
|
constructor(options?: XRAnchorOptions);
|
|
1625
1625
|
}
|
|
1626
1626
|
|
|
1627
|
-
/** Optional initializer for {@link BoneAttachmentComponent}. */
|
|
1628
|
-
type BoneAttachmentOptions = {
|
|
1629
|
-
/** The bone's node name in the parent's model (as three.js names it). */
|
|
1630
|
-
bone?: string;
|
|
1631
|
-
/** The bone's humanoid name (`rightHand`, `head` …), used when the node name isn't found (another rig). */
|
|
1632
|
-
humanoid?: string | null;
|
|
1633
|
-
/** Cancel the bone's world scale so offsets are in metres on any rig. Defaults to `true`. */
|
|
1634
|
-
compensateScale?: boolean;
|
|
1635
|
-
/** Turn the attachment off without removing it. Defaults to `true`. */
|
|
1636
|
-
enabled?: boolean;
|
|
1637
|
-
};
|
|
1638
|
-
/**
|
|
1639
|
-
* Fixes an entity to a bone of its PARENT's model — a sword in a hand, a hat
|
|
1640
|
-
* on a head, a backpack on the chest — so it moves with every animation.
|
|
1641
|
-
*
|
|
1642
|
-
* The entity's `ParentId` stays the character; this names the bone. The
|
|
1643
|
-
* `ObjectManagementSystem` then parents the entity's object under that bone
|
|
1644
|
-
* (through a small socket that cancels the rig's scale), and the entity's
|
|
1645
|
-
* Transform becomes its offset FROM the bone: position in metres, rotation
|
|
1646
|
-
* relative to the bone. Until the model has loaded, or when the bone isn't
|
|
1647
|
-
* found, the entity sits under the character as an ordinary child.
|
|
1648
|
-
*
|
|
1649
|
-
* Attach and detach with `ObjectManagementSystem.attachToBone` /
|
|
1650
|
-
* `detachFromBone`, which can keep the entity where it is in the world.
|
|
1651
|
-
*
|
|
1652
|
-
* @category Components
|
|
1653
|
-
*/
|
|
1654
|
-
declare class BoneAttachmentComponent extends Component {
|
|
1655
|
-
/** The bone's node name in the parent's model. */
|
|
1656
|
-
bone: string;
|
|
1657
|
-
/** The bone's humanoid name, the fallback when the node name isn't found. */
|
|
1658
|
-
humanoid: string | null;
|
|
1659
|
-
/** Cancel the bone's world scale (offsets in metres on a centimetre rig). */
|
|
1660
|
-
compensateScale: boolean;
|
|
1661
|
-
/** Whether the entity follows the bone. Off: an ordinary child of the character. */
|
|
1662
|
-
enabled: boolean;
|
|
1663
|
-
constructor(options?: BoneAttachmentOptions);
|
|
1664
|
-
}
|
|
1665
|
-
|
|
1666
1627
|
/**
|
|
1667
1628
|
* The style model for spatial UI.
|
|
1668
1629
|
*
|
|
@@ -2186,4 +2147,4 @@ declare class XRHandPoseComponent extends Component {
|
|
|
2186
2147
|
constructor(options?: XRHandPoseOptions);
|
|
2187
2148
|
}
|
|
2188
2149
|
|
|
2189
|
-
export {
|
|
2150
|
+
export { ScriptObjectComponent as $, AnimationComponent as A, MaterialComponent as B, CameraComponent as C, DEFAULT_COLLIDER_STATE as D, type EditableMeshObjectKind as E, type MaterialTypeValue as F, type MaterialValueState as G, MeshComponent as H, ImageComponent as I, MeshGeometryComponent as J, type MeshGeometryParameters as K, LightComponent as L, MODEL_NO_PATH_MESSAGE as M, type MeshGeometryParametersByKind as N, ModelComponent as O, type ModelLoadState as P, Name as Q, Object3DRef as R, PhysicsComponent as S, type PhysicsState as T, type PlaneMeshParameters as U, type RadiusHeightMeshParameters as V, type RadiusMeshParameters as W, type RigidbodyState as X, type RigidbodyType as Y, ScriptComponent as Z, type ScriptEntry as _, type AnimationComponentOptions as a, type UiColorStop as a$, type ScriptObjectComponentInput as a0, type ScriptObjectRuntimeState as a1, Selectable as a2, SelectionTransformState as a3, SpriteComponent as a4, type TextureFilteringValue as a5, type TransformModeValue as a6, type TransformSpaceValue as a7, UIButtonComponent as a8, type UIButtonOptions as a9, XRInteractorSideComponent as aA, XRRigComponent as aB, type XRRigOptions as aC, type XrAttachPoint as aD, type XrDistanceGrabBehavior as aE, type XrEnvironmentPhysics as aF, type XrGrabGesture as aG, type XrGrabHands as aH, type XrGrabReach as aI, type XrHandPoseEntry as aJ, type XrHandPreset as aK, type XrInteractorSide as aL, type XrInteractorType as aM, type XrLocomotionMode as aN, type XrTrackingOrigin as aO, type XrTwoHandRotation as aP, createAttachPoint as aQ, createHandPoseEntry as aR, defaultMaterialValue as aS, handPoseDefinitionFor as aT, normalizePhysicsState as aU, setModelLoadState as aV, setPhysicsLiveRef as aW, type AnimationStateCallbacks as aX, AnimationStateMachine as aY, AnimationStateManager as aZ, type StateMachine as a_, UIPanelComponent as aa, type UIPanelOptions as ab, UISliderComponent as ac, type UISliderOptions as ad, UITextComponent as ae, type UITextOptions as af, UIToggleComponent as ag, type UIToggleOptions as ah, type UiFollowMode as ai, type UiIconPosition as aj, type UiSliderVariant as ak, type UiTextAlign as al, type UiTextVAlign as am, type UiToggleVariant as an, VRTeleportAreaComponent as ao, type VRTeleportAreaOptions as ap, VideoComponent as aq, type VrTeleportShape as ar, XRAnchorComponent as as, type XRAnchorOptions as at, XRHandPoseComponent as au, type XRHandPoseOptions as av, XRInteractableComponent as aw, type XRInteractableOptions as ax, XRInteractorComponent as ay, type XRInteractorOptions as az, AudioComponent as b, type UiPaint as b0, type UiShadow as b1, type UiStyle as b2, type UiTextStyle as b3, type UiTokens as b4, type CameraComponentOptions as c, type CameraProjection as d, type CameraRuntimeType as e, type ColliderShape as f, type ColliderState as g, type CubeMeshParameters as h, DEFAULT_INSTANCED_MESH_PARAMETERS as i, DEFAULT_INSTANCE_TRANSFORM as j, DEFAULT_MESH_GEOMETRY_PARAMETERS as k, DEFAULT_PHYSICS_STATE as l, DEFAULT_POSE_CURLS as m, DEFAULT_POSE_DIRECTIONS as n, DEFAULT_RIGIDBODY_STATE as o, EntityType as p, ImageTarget as q, ImageTargetAnchor as r, type ImageTargetAnchorOptions as s, type ImageTargetReference as t, InstanceSlotComponent as u, type InstanceTransform as v, InstancedMeshComponent as w, type InstancedMeshKind as x, type LightShadowState as y, type LightValueState as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
|
-
import { d as Component,
|
|
2
|
+
import { d as Component, ae as AudioBus, a9 as EcsEntityKind, ap as EcsEntityEditorKind, $ as EntityId } from './System-ttkDQCrj.js';
|
|
3
3
|
import * as RAPIER from '@dimforge/rapier3d-compat';
|
|
4
4
|
import { a as XrFinger, c as XrHandPoseDirection, b as XrHandPoseOrientation, X as XrHandPoseDefinition } from './handPose-DlcTtqgx.js';
|
|
5
5
|
|
|
@@ -1624,45 +1624,6 @@ declare class XRAnchorComponent extends Component {
|
|
|
1624
1624
|
constructor(options?: XRAnchorOptions);
|
|
1625
1625
|
}
|
|
1626
1626
|
|
|
1627
|
-
/** Optional initializer for {@link BoneAttachmentComponent}. */
|
|
1628
|
-
type BoneAttachmentOptions = {
|
|
1629
|
-
/** The bone's node name in the parent's model (as three.js names it). */
|
|
1630
|
-
bone?: string;
|
|
1631
|
-
/** The bone's humanoid name (`rightHand`, `head` …), used when the node name isn't found (another rig). */
|
|
1632
|
-
humanoid?: string | null;
|
|
1633
|
-
/** Cancel the bone's world scale so offsets are in metres on any rig. Defaults to `true`. */
|
|
1634
|
-
compensateScale?: boolean;
|
|
1635
|
-
/** Turn the attachment off without removing it. Defaults to `true`. */
|
|
1636
|
-
enabled?: boolean;
|
|
1637
|
-
};
|
|
1638
|
-
/**
|
|
1639
|
-
* Fixes an entity to a bone of its PARENT's model — a sword in a hand, a hat
|
|
1640
|
-
* on a head, a backpack on the chest — so it moves with every animation.
|
|
1641
|
-
*
|
|
1642
|
-
* The entity's `ParentId` stays the character; this names the bone. The
|
|
1643
|
-
* `ObjectManagementSystem` then parents the entity's object under that bone
|
|
1644
|
-
* (through a small socket that cancels the rig's scale), and the entity's
|
|
1645
|
-
* Transform becomes its offset FROM the bone: position in metres, rotation
|
|
1646
|
-
* relative to the bone. Until the model has loaded, or when the bone isn't
|
|
1647
|
-
* found, the entity sits under the character as an ordinary child.
|
|
1648
|
-
*
|
|
1649
|
-
* Attach and detach with `ObjectManagementSystem.attachToBone` /
|
|
1650
|
-
* `detachFromBone`, which can keep the entity where it is in the world.
|
|
1651
|
-
*
|
|
1652
|
-
* @category Components
|
|
1653
|
-
*/
|
|
1654
|
-
declare class BoneAttachmentComponent extends Component {
|
|
1655
|
-
/** The bone's node name in the parent's model. */
|
|
1656
|
-
bone: string;
|
|
1657
|
-
/** The bone's humanoid name, the fallback when the node name isn't found. */
|
|
1658
|
-
humanoid: string | null;
|
|
1659
|
-
/** Cancel the bone's world scale (offsets in metres on a centimetre rig). */
|
|
1660
|
-
compensateScale: boolean;
|
|
1661
|
-
/** Whether the entity follows the bone. Off: an ordinary child of the character. */
|
|
1662
|
-
enabled: boolean;
|
|
1663
|
-
constructor(options?: BoneAttachmentOptions);
|
|
1664
|
-
}
|
|
1665
|
-
|
|
1666
1627
|
/**
|
|
1667
1628
|
* The style model for spatial UI.
|
|
1668
1629
|
*
|
|
@@ -2186,4 +2147,4 @@ declare class XRHandPoseComponent extends Component {
|
|
|
2186
2147
|
constructor(options?: XRHandPoseOptions);
|
|
2187
2148
|
}
|
|
2188
2149
|
|
|
2189
|
-
export {
|
|
2150
|
+
export { ScriptObjectComponent as $, AnimationComponent as A, MaterialComponent as B, CameraComponent as C, DEFAULT_COLLIDER_STATE as D, type EditableMeshObjectKind as E, type MaterialTypeValue as F, type MaterialValueState as G, MeshComponent as H, ImageComponent as I, MeshGeometryComponent as J, type MeshGeometryParameters as K, LightComponent as L, MODEL_NO_PATH_MESSAGE as M, type MeshGeometryParametersByKind as N, ModelComponent as O, type ModelLoadState as P, Name as Q, Object3DRef as R, PhysicsComponent as S, type PhysicsState as T, type PlaneMeshParameters as U, type RadiusHeightMeshParameters as V, type RadiusMeshParameters as W, type RigidbodyState as X, type RigidbodyType as Y, ScriptComponent as Z, type ScriptEntry as _, type AnimationComponentOptions as a, type UiColorStop as a$, type ScriptObjectComponentInput as a0, type ScriptObjectRuntimeState as a1, Selectable as a2, SelectionTransformState as a3, SpriteComponent as a4, type TextureFilteringValue as a5, type TransformModeValue as a6, type TransformSpaceValue as a7, UIButtonComponent as a8, type UIButtonOptions as a9, XRInteractorSideComponent as aA, XRRigComponent as aB, type XRRigOptions as aC, type XrAttachPoint as aD, type XrDistanceGrabBehavior as aE, type XrEnvironmentPhysics as aF, type XrGrabGesture as aG, type XrGrabHands as aH, type XrGrabReach as aI, type XrHandPoseEntry as aJ, type XrHandPreset as aK, type XrInteractorSide as aL, type XrInteractorType as aM, type XrLocomotionMode as aN, type XrTrackingOrigin as aO, type XrTwoHandRotation as aP, createAttachPoint as aQ, createHandPoseEntry as aR, defaultMaterialValue as aS, handPoseDefinitionFor as aT, normalizePhysicsState as aU, setModelLoadState as aV, setPhysicsLiveRef as aW, type AnimationStateCallbacks as aX, AnimationStateMachine as aY, AnimationStateManager as aZ, type StateMachine as a_, UIPanelComponent as aa, type UIPanelOptions as ab, UISliderComponent as ac, type UISliderOptions as ad, UITextComponent as ae, type UITextOptions as af, UIToggleComponent as ag, type UIToggleOptions as ah, type UiFollowMode as ai, type UiIconPosition as aj, type UiSliderVariant as ak, type UiTextAlign as al, type UiTextVAlign as am, type UiToggleVariant as an, VRTeleportAreaComponent as ao, type VRTeleportAreaOptions as ap, VideoComponent as aq, type VrTeleportShape as ar, XRAnchorComponent as as, type XRAnchorOptions as at, XRHandPoseComponent as au, type XRHandPoseOptions as av, XRInteractableComponent as aw, type XRInteractableOptions as ax, XRInteractorComponent as ay, type XRInteractorOptions as az, AudioComponent as b, type UiPaint as b0, type UiShadow as b1, type UiStyle as b2, type UiTextStyle as b3, type UiTokens as b4, type CameraComponentOptions as c, type CameraProjection as d, type CameraRuntimeType as e, type ColliderShape as f, type ColliderState as g, type CubeMeshParameters as h, DEFAULT_INSTANCED_MESH_PARAMETERS as i, DEFAULT_INSTANCE_TRANSFORM as j, DEFAULT_MESH_GEOMETRY_PARAMETERS as k, DEFAULT_PHYSICS_STATE as l, DEFAULT_POSE_CURLS as m, DEFAULT_POSE_DIRECTIONS as n, DEFAULT_RIGIDBODY_STATE as o, EntityType as p, ImageTarget as q, ImageTargetAnchor as r, type ImageTargetAnchorOptions as s, type ImageTargetReference as t, InstanceSlotComponent as u, type InstanceTransform as v, InstancedMeshComponent as w, type InstancedMeshKind as x, type LightShadowState as y, type LightValueState as z };
|
package/dist/animation/index.cjs
CHANGED
|
@@ -46,6 +46,7 @@ function restPositions(root) {
|
|
|
46
46
|
return out;
|
|
47
47
|
}
|
|
48
48
|
__name(restPositions, "restPositions");
|
|
49
|
+
var NUMBERED_NAME = /_\d+$/;
|
|
49
50
|
function splitBoneName(raw) {
|
|
50
51
|
let n = raw.replace(/^.*[:|]/, "").replace(/^(mixamorig\d*|def[-_]|org[-_]|mch[-_]|bip\d*[ _]|b[-_])/i, "").trim();
|
|
51
52
|
let side = null;
|
|
@@ -147,6 +148,37 @@ function findHips(root) {
|
|
|
147
148
|
__name(findHips, "findHips");
|
|
148
149
|
var isSpineLike = /* @__PURE__ */ __name((base) => /^(spine|chest|upperchest|torso|back)\d*$/.test(base), "isSpineLike");
|
|
149
150
|
function detectRig(root) {
|
|
151
|
+
const plain = readRig(root);
|
|
152
|
+
if (plain.missing.length === 0) return plain;
|
|
153
|
+
const stems = /* @__PURE__ */ new Map();
|
|
154
|
+
const count = /* @__PURE__ */ __name((n) => {
|
|
155
|
+
const stem = n.name.replace(NUMBERED_NAME, "");
|
|
156
|
+
stems.set(stem, (stems.get(stem) ?? 0) + 1);
|
|
157
|
+
n.children.forEach(count);
|
|
158
|
+
}, "count");
|
|
159
|
+
count(root);
|
|
160
|
+
const real = /* @__PURE__ */ new Map();
|
|
161
|
+
const strip = /* @__PURE__ */ __name((n) => {
|
|
162
|
+
const stem = n.name.replace(NUMBERED_NAME, "");
|
|
163
|
+
const name = stems.get(stem) === 1 ? stem : n.name;
|
|
164
|
+
real.set(name, n.name);
|
|
165
|
+
return { ...n, name, children: n.children.map(strip) };
|
|
166
|
+
}, "strip");
|
|
167
|
+
const found = readRig(strip(root));
|
|
168
|
+
if (found.missing.length >= plain.missing.length) return plain;
|
|
169
|
+
const realName = /* @__PURE__ */ __name((name) => real.get(name) ?? name, "realName");
|
|
170
|
+
const bones = {};
|
|
171
|
+
for (const [bone, name] of Object.entries(found.bones)) {
|
|
172
|
+
bones[bone] = realName(name);
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
...found,
|
|
176
|
+
bones,
|
|
177
|
+
byName: new Map([...found.byName].map(([name, bone]) => [realName(name), bone]))
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
__name(detectRig, "detectRig");
|
|
181
|
+
function readRig(root) {
|
|
150
182
|
const all = [];
|
|
151
183
|
const collect = /* @__PURE__ */ __name((n) => {
|
|
152
184
|
all.push(n);
|
|
@@ -220,7 +252,7 @@ function detectRig(root) {
|
|
|
220
252
|
missing: REQUIRED_HUMANOID_BONES.filter((b) => !bones[b])
|
|
221
253
|
};
|
|
222
254
|
}
|
|
223
|
-
__name(
|
|
255
|
+
__name(readRig, "readRig");
|
|
224
256
|
function mirrorHumanoidBone(b) {
|
|
225
257
|
if (b.startsWith("left")) return `right${b.slice(4)}`;
|
|
226
258
|
if (b.startsWith("right")) return `left${b.slice(5)}`;
|