@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.
Files changed (503) hide show
  1. package/dist/{System-BldSHxZV.d.cts → System-D8vm-Jvv.d.cts} +110 -3
  2. package/dist/{System-CADhPyQs.d.ts → System-ttkDQCrj.d.ts} +110 -3
  3. package/dist/{XRHandPose-D3Ab1Dfs.d.cts → XRHandPose-C97XVW2R.d.cts} +2 -41
  4. package/dist/{XRHandPose-BNSwd1y9.d.ts → XRHandPose-CxXtWF1y.d.ts} +2 -41
  5. package/dist/animation/index.cjs +33 -1
  6. package/dist/animation/index.cjs.map +1 -1
  7. package/dist/animation/index.js +1 -1
  8. package/dist/{chunk-TY3XCHOR.js → chunk-2DJBNWBB.js} +56 -15
  9. package/dist/chunk-2DJBNWBB.js.map +1 -0
  10. package/dist/{chunk-WWP46AEF.js → chunk-4FHJA6U4.js} +8 -4
  11. package/dist/chunk-4FHJA6U4.js.map +1 -0
  12. package/dist/{chunk-GSWC6LLD.js → chunk-GMSFEXUZ.js} +35 -3
  13. package/dist/chunk-GMSFEXUZ.js.map +1 -0
  14. package/dist/{chunk-JEPUCLZX.js → chunk-QAZCVCMP.js} +88 -27
  15. package/dist/chunk-QAZCVCMP.js.map +1 -0
  16. package/dist/{chunk-NXASMBDS.js → chunk-SM5KGNYX.js} +4 -4
  17. package/dist/{chunk-NXASMBDS.js.map → chunk-SM5KGNYX.js.map} +1 -1
  18. package/dist/{chunk-JNYPJB55.js → chunk-T7SRBLPJ.js} +24 -4
  19. package/dist/chunk-T7SRBLPJ.js.map +1 -0
  20. package/dist/components/index.cjs +21 -1
  21. package/dist/components/index.cjs.map +1 -1
  22. package/dist/components/index.d.cts +3 -3
  23. package/dist/components/index.d.ts +3 -3
  24. package/dist/components/index.js +1 -1
  25. package/dist/docs/api/Behaviour/classes/Behaviour.md +187 -46
  26. package/dist/docs/api/Behaviour/type-aliases/UiInteractionEvent.md +5 -5
  27. package/dist/docs/api/Component/classes/Component.md +7 -1
  28. package/dist/docs/api/components/classes/AnimationComponent.md +26 -26
  29. package/dist/docs/api/components/classes/AudioComponent.md +20 -19
  30. package/dist/docs/api/components/classes/BoneAttachmentComponent.md +65 -0
  31. package/dist/docs/api/components/classes/CameraComponent.md +14 -14
  32. package/dist/docs/api/components/classes/EntityType.md +3 -3
  33. package/dist/docs/api/components/classes/Environment.md +3 -3
  34. package/dist/docs/api/components/classes/IKComponent.md +59 -0
  35. package/dist/docs/api/components/classes/ImageComponent.md +7 -7
  36. package/dist/docs/api/components/classes/ImageTarget.md +7 -7
  37. package/dist/docs/api/components/classes/ImageTargetAnchor.md +4 -4
  38. package/dist/docs/api/components/classes/InstanceSlotComponent.md +4 -4
  39. package/dist/docs/api/components/classes/InstancedMeshComponent.md +10 -10
  40. package/dist/docs/api/components/classes/LightComponent.md +6 -6
  41. package/dist/docs/api/components/classes/MaterialComponent.md +14 -14
  42. package/dist/docs/api/components/classes/MeshComponent.md +3 -3
  43. package/dist/docs/api/components/classes/MeshGeometryComponent.md +9 -9
  44. package/dist/docs/api/components/classes/ModelComponent.md +6 -6
  45. package/dist/docs/api/components/classes/Name.md +3 -3
  46. package/dist/docs/api/components/classes/NetworkIdentityComponent.md +42 -0
  47. package/dist/docs/api/components/classes/NetworkSpawnerComponent.md +48 -0
  48. package/dist/docs/api/components/classes/NetworkTransformComponent.md +51 -0
  49. package/dist/docs/api/components/classes/NetworkedPropsComponent.md +47 -0
  50. package/dist/docs/api/components/classes/Object3DRef.md +4 -4
  51. package/dist/docs/api/components/classes/ParentId.md +3 -3
  52. package/dist/docs/api/components/classes/PhysicsComponent.md +7 -7
  53. package/dist/docs/api/components/classes/Postprocessing.md +3 -3
  54. package/dist/docs/api/components/classes/PrefabInstance.md +5 -5
  55. package/dist/docs/api/components/classes/PrefabNode.md +3 -3
  56. package/dist/docs/api/components/classes/ScriptComponent.md +5 -5
  57. package/dist/docs/api/components/classes/ScriptObjectComponent.md +9 -9
  58. package/dist/docs/api/components/classes/Selectable.md +3 -3
  59. package/dist/docs/api/components/classes/SelectionTransformState.md +5 -5
  60. package/dist/docs/api/components/classes/SpriteComponent.md +7 -7
  61. package/dist/docs/api/components/classes/TransformComponent.md +12 -12
  62. package/dist/docs/api/components/classes/UIButtonComponent.md +18 -14
  63. package/dist/docs/api/components/classes/UIPanelComponent.md +13 -11
  64. package/dist/docs/api/components/classes/UISliderComponent.md +16 -11
  65. package/dist/docs/api/components/classes/UITextComponent.md +14 -12
  66. package/dist/docs/api/components/classes/UIToggleComponent.md +12 -9
  67. package/dist/docs/api/components/classes/VRTeleportAreaComponent.md +6 -6
  68. package/dist/docs/api/components/classes/VideoComponent.md +28 -28
  69. package/dist/docs/api/components/classes/XRAnchorComponent.md +3 -3
  70. package/dist/docs/api/components/classes/XREnvironmentComponent.md +5 -5
  71. package/dist/docs/api/components/classes/XRHandPoseComponent.md +4 -4
  72. package/dist/docs/api/components/classes/XRInteractableComponent.md +28 -28
  73. package/dist/docs/api/components/classes/XRInteractorComponent.md +10 -10
  74. package/dist/docs/api/components/classes/XRInteractorSideComponent.md +3 -3
  75. package/dist/docs/api/components/classes/XRRigComponent.md +17 -17
  76. package/dist/docs/api/components/functions/createAttachPoint.md +1 -1
  77. package/dist/docs/api/components/functions/createHandPoseEntry.md +1 -1
  78. package/dist/docs/api/components/functions/defaultMaterialValue.md +1 -1
  79. package/dist/docs/api/components/functions/handPoseDefinitionFor.md +1 -1
  80. package/dist/docs/api/components/functions/normalizeBoneHold.md +25 -0
  81. package/dist/docs/api/components/functions/normalizeEnvironmentLighting.md +1 -1
  82. package/dist/docs/api/components/functions/normalizeIKChain.md +25 -0
  83. package/dist/docs/api/components/functions/normalizePhysicsState.md +1 -1
  84. package/dist/docs/api/components/functions/setModelLoadState.md +1 -1
  85. package/dist/docs/api/components/functions/setPhysicsLiveRef.md +1 -1
  86. package/dist/docs/api/components/index.md +18 -0
  87. package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +9 -9
  88. package/dist/docs/api/components/type-aliases/BoneAttachmentOptions.md +35 -0
  89. package/dist/docs/api/components/type-aliases/BoneHold.md +34 -0
  90. package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +13 -13
  91. package/dist/docs/api/components/type-aliases/CameraProjection.md +1 -1
  92. package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +1 -1
  93. package/dist/docs/api/components/type-aliases/ColliderShape.md +1 -1
  94. package/dist/docs/api/components/type-aliases/ColliderState.md +20 -20
  95. package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +4 -4
  96. package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +1 -1
  97. package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +8 -8
  98. package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +1 -1
  99. package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +1 -1
  100. package/dist/docs/api/components/type-aliases/EnvironmentLightingState.md +9 -9
  101. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxImageProjection.md +1 -1
  102. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +8 -8
  103. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +1 -1
  104. package/dist/docs/api/components/type-aliases/EnvironmentState.md +6 -6
  105. package/dist/docs/api/components/type-aliases/EnvironmentToneMapping.md +1 -1
  106. package/dist/docs/api/components/type-aliases/IKChain.md +37 -0
  107. package/dist/docs/api/components/type-aliases/IKLimb.md +15 -0
  108. package/dist/docs/api/components/type-aliases/IKOptions.md +27 -0
  109. package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +3 -3
  110. package/dist/docs/api/components/type-aliases/ImageTargetReference.md +7 -7
  111. package/dist/docs/api/components/type-aliases/InstanceTransform.md +13 -13
  112. package/dist/docs/api/components/type-aliases/InstancedMeshKind.md +1 -1
  113. package/dist/docs/api/components/type-aliases/LightShadowState.md +8 -8
  114. package/dist/docs/api/components/type-aliases/LightValueState.md +12 -12
  115. package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +1 -1
  116. package/dist/docs/api/components/type-aliases/MaterialValueState.md +28 -28
  117. package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +1 -1
  118. package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +7 -7
  119. package/dist/docs/api/components/type-aliases/ModelLoadState.md +1 -1
  120. package/dist/docs/api/components/type-aliases/NetValue.md +23 -0
  121. package/dist/docs/api/components/type-aliases/NetworkTransformOptions.md +18 -0
  122. package/dist/docs/api/components/type-aliases/PhysicsState.md +3 -3
  123. package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +3 -3
  124. package/dist/docs/api/components/type-aliases/PostprocessingState.md +62 -62
  125. package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +3 -3
  126. package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +2 -2
  127. package/dist/docs/api/components/type-aliases/RigidbodyState.md +17 -17
  128. package/dist/docs/api/components/type-aliases/RigidbodyType.md +1 -1
  129. package/dist/docs/api/components/type-aliases/ScriptEntry.md +8 -8
  130. package/dist/docs/api/components/type-aliases/ScriptObjectComponentInput.md +1 -1
  131. package/dist/docs/api/components/type-aliases/ScriptObjectRuntimeState.md +1 -1
  132. package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +1 -1
  133. package/dist/docs/api/components/type-aliases/TransformData.md +4 -4
  134. package/dist/docs/api/components/type-aliases/TransformModeValue.md +1 -1
  135. package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +1 -1
  136. package/dist/docs/api/components/type-aliases/UIButtonOptions.md +21 -13
  137. package/dist/docs/api/components/type-aliases/UIPanelOptions.md +14 -10
  138. package/dist/docs/api/components/type-aliases/UISliderOptions.md +20 -10
  139. package/dist/docs/api/components/type-aliases/UITextOptions.md +15 -11
  140. package/dist/docs/api/components/type-aliases/UIToggleOptions.md +14 -8
  141. package/dist/docs/api/components/type-aliases/UiFollowMode.md +1 -1
  142. package/dist/docs/api/components/type-aliases/UiIconPosition.md +13 -0
  143. package/dist/docs/api/components/type-aliases/UiSliderVariant.md +13 -0
  144. package/dist/docs/api/components/type-aliases/UiTextAlign.md +1 -1
  145. package/dist/docs/api/components/type-aliases/UiTextVAlign.md +1 -1
  146. package/dist/docs/api/components/type-aliases/UiToggleVariant.md +13 -0
  147. package/dist/docs/api/components/type-aliases/VRTeleportAreaOptions.md +5 -5
  148. package/dist/docs/api/components/type-aliases/Vec3.md +4 -4
  149. package/dist/docs/api/components/type-aliases/VrTeleportShape.md +1 -1
  150. package/dist/docs/api/components/type-aliases/XRAnchorOptions.md +2 -2
  151. package/dist/docs/api/components/type-aliases/XRHandPoseOptions.md +3 -3
  152. package/dist/docs/api/components/type-aliases/XRInteractableOptions.md +27 -27
  153. package/dist/docs/api/components/type-aliases/XRInteractorOptions.md +9 -9
  154. package/dist/docs/api/components/type-aliases/XRRigOptions.md +16 -16
  155. package/dist/docs/api/components/type-aliases/XrAttachPoint.md +13 -13
  156. package/dist/docs/api/components/type-aliases/XrDistanceGrabBehavior.md +1 -1
  157. package/dist/docs/api/components/type-aliases/XrEnvironmentKind.md +1 -1
  158. package/dist/docs/api/components/type-aliases/XrEnvironmentOrientation.md +1 -1
  159. package/dist/docs/api/components/type-aliases/XrEnvironmentPhysics.md +1 -1
  160. package/dist/docs/api/components/type-aliases/XrGrabGesture.md +1 -1
  161. package/dist/docs/api/components/type-aliases/XrGrabHands.md +1 -1
  162. package/dist/docs/api/components/type-aliases/XrGrabReach.md +1 -1
  163. package/dist/docs/api/components/type-aliases/XrHandPoseEntry.md +12 -12
  164. package/dist/docs/api/components/type-aliases/XrHandPreset.md +1 -1
  165. package/dist/docs/api/components/type-aliases/XrInteractorSide.md +1 -1
  166. package/dist/docs/api/components/type-aliases/XrInteractorType.md +1 -1
  167. package/dist/docs/api/components/type-aliases/XrLocomotionMode.md +1 -1
  168. package/dist/docs/api/components/type-aliases/XrTrackingOrigin.md +1 -1
  169. package/dist/docs/api/components/type-aliases/XrTwoHandRotation.md +1 -1
  170. package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +1 -1
  171. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_LIGHTING.md +1 -1
  172. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +1 -1
  173. package/dist/docs/api/components/variables/DEFAULT_INSTANCED_MESH_PARAMETERS.md +1 -1
  174. package/dist/docs/api/components/variables/DEFAULT_INSTANCE_TRANSFORM.md +1 -1
  175. package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +1 -1
  176. package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +1 -1
  177. package/dist/docs/api/components/variables/DEFAULT_POSE_CURLS.md +1 -1
  178. package/dist/docs/api/components/variables/DEFAULT_POSE_DIRECTIONS.md +1 -1
  179. package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +1 -1
  180. package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +1 -1
  181. package/dist/docs/api/components/variables/MODEL_NO_PATH_MESSAGE.md +1 -1
  182. package/dist/docs/api/index/classes/AnimationStateMachine.md +16 -16
  183. package/dist/docs/api/index/classes/AnimationStateManager.md +13 -13
  184. package/dist/docs/api/index/classes/AnimationSystem.md +3 -3
  185. package/dist/docs/api/index/classes/AudioMixer.md +161 -0
  186. package/dist/docs/api/index/classes/AudioSystem.md +138 -4
  187. package/dist/docs/api/index/classes/BoneHoldSystem.md +54 -0
  188. package/dist/docs/api/index/classes/CameraSyncSystem.md +2 -2
  189. package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +4 -4
  190. package/dist/docs/api/index/classes/HandPoseTracker.md +6 -6
  191. package/dist/docs/api/index/classes/IKSystem.md +98 -0
  192. package/dist/docs/api/index/classes/InputSystem.md +33 -33
  193. package/dist/docs/api/index/classes/InstancedMeshSystem.md +2 -2
  194. package/dist/docs/api/index/classes/LightSyncSystem.md +2 -2
  195. package/dist/docs/api/index/classes/MaterialSyncSystem.md +3 -3
  196. package/dist/docs/api/index/classes/MeshGeometrySystem.md +2 -2
  197. package/dist/docs/api/index/classes/ObjectManagementSystem.md +269 -14
  198. package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +2 -2
  199. package/dist/docs/api/index/classes/PhysicsSyncSystem.md +4 -4
  200. package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +4 -4
  201. package/dist/docs/api/index/classes/RenderSystem.md +3 -3
  202. package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +4 -4
  203. package/dist/docs/api/index/classes/ScriptObject.md +10 -10
  204. package/dist/docs/api/index/classes/ScriptObjectSystem.md +6 -6
  205. package/dist/docs/api/index/classes/SlotChooser.md +59 -0
  206. package/dist/docs/api/index/classes/TeleportAimGate.md +4 -4
  207. package/dist/docs/api/index/classes/ThrowVelocityTracker.md +4 -4
  208. package/dist/docs/api/index/classes/TransformSyncSystem.md +2 -2
  209. package/dist/docs/api/index/classes/UIInteractionSystem.md +3 -3
  210. package/dist/docs/api/index/classes/UIPanelSystem.md +4 -4
  211. package/dist/docs/api/index/classes/VRTeleportAreaSystem.md +2 -2
  212. package/dist/docs/api/index/classes/VideoSystem.md +4 -4
  213. package/dist/docs/api/index/classes/World.md +168 -98
  214. package/dist/docs/api/index/classes/XRAnchorSystem.md +4 -4
  215. package/dist/docs/api/index/classes/XRControllerVisualSystem.md +4 -4
  216. package/dist/docs/api/index/classes/XREnvironmentSystem.md +7 -7
  217. package/dist/docs/api/index/classes/XRHandPoseSystem.md +5 -5
  218. package/dist/docs/api/index/classes/XRHitTestSystem.md +4 -4
  219. package/dist/docs/api/index/classes/XRHoverVisualSystem.md +4 -4
  220. package/dist/docs/api/index/classes/XRInputSystem.md +9 -9
  221. package/dist/docs/api/index/classes/XRInteractionSystem.md +18 -18
  222. package/dist/docs/api/index/classes/XRLocomotionSystem.md +7 -7
  223. package/dist/docs/api/index/classes/XRSessionSystem.md +6 -6
  224. package/dist/docs/api/index/classes/XRTeleportVisualSystem.md +4 -4
  225. package/dist/docs/api/index/functions/angularVelocityFrom.md +1 -1
  226. package/dist/docs/api/index/functions/applyHandMaterial.md +1 -1
  227. package/dist/docs/api/index/functions/applyPrefabToSnapshotInstances.md +1 -1
  228. package/dist/docs/api/index/functions/arcGroundCrossing.md +1 -1
  229. package/dist/docs/api/index/functions/buildComponentValueMaps.md +1 -1
  230. package/dist/docs/api/index/functions/buildNodeKeyMapsFromSnapshot.md +1 -1
  231. package/dist/docs/api/index/functions/buildNodeMapsFromSnapshot.md +1 -1
  232. package/dist/docs/api/index/functions/canonicalizeComponentValue.md +1 -1
  233. package/dist/docs/api/index/functions/clearModelCache.md +1 -1
  234. package/dist/docs/api/index/functions/clearPrefabCache.md +1 -1
  235. package/dist/docs/api/index/functions/cloneHandPose.md +1 -1
  236. package/dist/docs/api/index/functions/collectDiffPaths.md +1 -1
  237. package/dist/docs/api/index/functions/collectDirectPrefabDependencies.md +1 -1
  238. package/dist/docs/api/index/functions/collectEntitySubtree.md +1 -1
  239. package/dist/docs/api/index/functions/collectSnapshotSubtreeIds.md +1 -1
  240. package/dist/docs/api/index/functions/computeFingerCurl.md +1 -1
  241. package/dist/docs/api/index/functions/computeHandShape.md +1 -1
  242. package/dist/docs/api/index/functions/computeInstanceOverrides.md +1 -1
  243. package/dist/docs/api/index/functions/computePalmPose.md +1 -1
  244. package/dist/docs/api/index/functions/computePalmWidth.md +1 -1
  245. package/dist/docs/api/index/functions/computePinch.md +1 -1
  246. package/dist/docs/api/index/functions/computeSpread.md +1 -1
  247. package/dist/docs/api/index/functions/createAnimationComponent.md +1 -1
  248. package/dist/docs/api/index/functions/createAudioComponent.md +1 -1
  249. package/dist/docs/api/index/functions/createBoneAttachmentComponent.md +28 -0
  250. package/dist/docs/api/index/functions/createCameraComponent.md +1 -1
  251. package/dist/docs/api/index/functions/createEntityTypeComponent.md +1 -1
  252. package/dist/docs/api/index/functions/createEnvironmentComponent.md +1 -1
  253. package/dist/docs/api/index/functions/createGLTFLoader.md +30 -0
  254. package/dist/docs/api/index/functions/createHandMaterial.md +1 -1
  255. package/dist/docs/api/index/functions/createIKComponent.md +28 -0
  256. package/dist/docs/api/index/functions/createImageComponent.md +1 -1
  257. package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +1 -1
  258. package/dist/docs/api/index/functions/createImageTargetComponent.md +1 -1
  259. package/dist/docs/api/index/functions/createInstanceSlotComponent.md +1 -1
  260. package/dist/docs/api/index/functions/createInstancedMeshComponent.md +1 -1
  261. package/dist/docs/api/index/functions/createLightComponent.md +1 -1
  262. package/dist/docs/api/index/functions/createMaterialComponent.md +1 -1
  263. package/dist/docs/api/index/functions/createMeshComponent.md +1 -1
  264. package/dist/docs/api/index/functions/createMeshGeometryComponent.md +1 -1
  265. package/dist/docs/api/index/functions/createModelComponent.md +1 -1
  266. package/dist/docs/api/index/functions/createNameComponent.md +1 -1
  267. package/dist/docs/api/index/functions/createNetworkIdentityComponent.md +24 -0
  268. package/dist/docs/api/index/functions/createNetworkSpawnerComponent.md +28 -0
  269. package/dist/docs/api/index/functions/createNetworkTransformComponent.md +28 -0
  270. package/dist/docs/api/index/functions/createNetworkedPropsComponent.md +28 -0
  271. package/dist/docs/api/index/functions/createObject3DRefComponent.md +1 -1
  272. package/dist/docs/api/index/functions/createParentIdComponent.md +1 -1
  273. package/dist/docs/api/index/functions/createPhysicsComponent.md +1 -1
  274. package/dist/docs/api/index/functions/createPostprocessingComponent.md +1 -1
  275. package/dist/docs/api/index/functions/createScriptComponent.md +1 -1
  276. package/dist/docs/api/index/functions/createScriptObjectComponent.md +1 -1
  277. package/dist/docs/api/index/functions/createSelectableComponent.md +1 -1
  278. package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +1 -1
  279. package/dist/docs/api/index/functions/createSpriteComponent.md +1 -1
  280. package/dist/docs/api/index/functions/createTransformComponent.md +1 -1
  281. package/dist/docs/api/index/functions/createUIButtonComponent.md +1 -1
  282. package/dist/docs/api/index/functions/createUIPanelComponent.md +1 -1
  283. package/dist/docs/api/index/functions/createUISliderComponent.md +1 -1
  284. package/dist/docs/api/index/functions/createUITextComponent.md +1 -1
  285. package/dist/docs/api/index/functions/createUIToggleComponent.md +1 -1
  286. package/dist/docs/api/index/functions/createVRTeleportAreaComponent.md +1 -1
  287. package/dist/docs/api/index/functions/createVideoComponent.md +1 -1
  288. package/dist/docs/api/index/functions/createXRAnchorComponent.md +1 -1
  289. package/dist/docs/api/index/functions/createXRHandPoseComponent.md +1 -1
  290. package/dist/docs/api/index/functions/createXRInteractableComponent.md +1 -1
  291. package/dist/docs/api/index/functions/createXRInteractorComponent.md +1 -1
  292. package/dist/docs/api/index/functions/createXRInteractorSideComponent.md +1 -1
  293. package/dist/docs/api/index/functions/createXRRigComponent.md +1 -1
  294. package/dist/docs/api/index/functions/decanonicalizeComponentValue.md +1 -1
  295. package/dist/docs/api/index/functions/despawnPrefab.md +1 -1
  296. package/dist/docs/api/index/functions/encodeOverride.md +1 -1
  297. package/dist/docs/api/index/functions/estimateHandScale.md +1 -1
  298. package/dist/docs/api/index/functions/findModelBone.md +30 -0
  299. package/dist/docs/api/index/functions/findSnapshotRootEntityIds.md +1 -1
  300. package/dist/docs/api/index/functions/findTopLevelNestedRegions.md +1 -1
  301. package/dist/docs/api/index/functions/getHandPosePreset.md +1 -1
  302. package/dist/docs/api/index/functions/gripQuaternion.md +36 -0
  303. package/dist/docs/api/index/functions/groupOverridePaths.md +1 -1
  304. package/dist/docs/api/index/functions/handPoseFromCurls.md +1 -1
  305. package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +1 -1
  306. package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +1 -1
  307. package/dist/docs/api/index/functions/indexSnapshotByEntity.md +1 -1
  308. package/dist/docs/api/index/functions/instantiateSubtree.md +1 -1
  309. package/dist/docs/api/index/functions/listModelBones.md +25 -0
  310. package/dist/docs/api/index/functions/loadPrefab.md +1 -1
  311. package/dist/docs/api/index/functions/loadSharedGltf.md +1 -1
  312. package/dist/docs/api/index/functions/matchHandPose.md +1 -1
  313. package/dist/docs/api/index/functions/mergeComponentValue.md +1 -1
  314. package/dist/docs/api/index/functions/parseOverride.md +1 -1
  315. package/dist/docs/api/index/functions/parsePrefabAsset.md +1 -1
  316. package/dist/docs/api/index/functions/prefabFileVersionFor.md +1 -1
  317. package/dist/docs/api/index/functions/readXrCapabilities.md +1 -1
  318. package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +1 -1
  319. package/dist/docs/api/index/functions/registerDefaultFactories.md +1 -1
  320. package/dist/docs/api/index/functions/remapSnapshotEntityIds.md +3 -3
  321. package/dist/docs/api/index/functions/resolveDracoDecoderPath.md +1 -1
  322. package/dist/docs/api/index/functions/restoreComponentState.md +1 -1
  323. package/dist/docs/api/index/functions/restorePostCreateComponents.md +1 -1
  324. package/dist/docs/api/index/functions/sampleTeleportArc.md +1 -1
  325. package/dist/docs/api/index/functions/serializeEntitySubtree.md +1 -1
  326. package/dist/docs/api/index/functions/setDracoDecoderPath.md +1 -1
  327. package/dist/docs/api/index/functions/setPrefabAssetUrlResolver.md +1 -1
  328. package/dist/docs/api/index/functions/setWorldQuaternion.md +26 -0
  329. package/dist/docs/api/index/functions/soundBankFiles.md +25 -0
  330. package/dist/docs/api/index/functions/spawnPrefab.md +1 -1
  331. package/dist/docs/api/index/functions/twoBoneIK.md +41 -0
  332. package/dist/docs/api/index/index.md +31 -0
  333. package/dist/docs/api/index/interfaces/ChromaKeyOptions.md +5 -5
  334. package/dist/docs/api/index/interfaces/EcsSystem.md +3 -3
  335. package/dist/docs/api/index/interfaces/NetworkHandle.md +180 -0
  336. package/dist/docs/api/index/interfaces/PostprocessingBuildContext.md +6 -6
  337. package/dist/docs/api/index/interfaces/PostprocessingPipeline.md +5 -5
  338. package/dist/docs/api/index/interfaces/RenderBackend.md +8 -8
  339. package/dist/docs/api/index/interfaces/SoundBankAsset.md +18 -0
  340. package/dist/docs/api/index/interfaces/SoundSlot.md +31 -0
  341. package/dist/docs/api/index/interfaces/SoundTake.md +18 -0
  342. package/dist/docs/api/index/interfaces/StateMachine.md +13 -13
  343. package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +4 -4
  344. package/dist/docs/api/index/type-aliases/ApplyPrefabToSnapshotResult.md +3 -3
  345. package/dist/docs/api/index/type-aliases/AudioBus.md +15 -0
  346. package/dist/docs/api/index/type-aliases/ComponentFactory.md +1 -1
  347. package/dist/docs/api/index/type-aliases/ComponentValueMaps.md +50 -38
  348. package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +7 -1
  349. package/dist/docs/api/index/type-aliases/EcsRenderer.md +1 -1
  350. package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +3 -3
  351. package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +4 -4
  352. package/dist/docs/api/index/type-aliases/ExternalRefWarning.md +5 -5
  353. package/dist/docs/api/index/type-aliases/HandMaterialOptions.md +4 -4
  354. package/dist/docs/api/index/type-aliases/HandPoseTrackerOptions.md +5 -5
  355. package/dist/docs/api/index/type-aliases/HydrateOptions.md +3 -3
  356. package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +4 -4
  357. package/dist/docs/api/index/type-aliases/InstantiateSubtreeResult.md +3 -3
  358. package/dist/docs/api/index/type-aliases/KeyboardKey.md +1 -1
  359. package/dist/docs/api/index/type-aliases/ModelBoneInfo.md +29 -0
  360. package/dist/docs/api/index/type-aliases/ModuleLoader.md +1 -1
  361. package/dist/docs/api/index/type-aliases/MouseButton.md +1 -1
  362. package/dist/docs/api/index/type-aliases/NestedRegion.md +5 -5
  363. package/dist/docs/api/index/type-aliases/NetSpawnOptions.md +41 -0
  364. package/dist/docs/api/index/type-aliases/NodeKeyMaps.md +5 -5
  365. package/dist/docs/api/index/type-aliases/NodeMaps.md +4 -4
  366. package/dist/docs/api/index/type-aliases/PlaySlotOptions.md +32 -0
  367. package/dist/docs/api/index/type-aliases/PrefabAsset.md +5 -5
  368. package/dist/docs/api/index/type-aliases/RemapSnapshotOptions.md +2 -2
  369. package/dist/docs/api/index/type-aliases/RendererKind.md +1 -1
  370. package/dist/docs/api/index/type-aliases/ScriptBehaviourSystemOptions.md +2 -2
  371. package/dist/docs/api/index/type-aliases/ScriptErrorEvent.md +9 -9
  372. package/dist/docs/api/index/type-aliases/ScriptErrorListener.md +1 -1
  373. package/dist/docs/api/index/type-aliases/ScriptErrorPhase.md +1 -1
  374. package/dist/docs/api/index/type-aliases/ScriptErrorReport.md +6 -6
  375. package/dist/docs/api/index/type-aliases/ScriptErrorSource.md +1 -1
  376. package/dist/docs/api/index/type-aliases/SelectionContext.md +4 -4
  377. package/dist/docs/api/index/type-aliases/SerializeEntitySubtreeResult.md +4 -4
  378. package/dist/docs/api/index/type-aliases/SpawnPrefabOptions.md +5 -5
  379. package/dist/docs/api/index/type-aliases/SpawnPrefabSource.md +1 -1
  380. package/dist/docs/api/index/type-aliases/SubtreeSnapshot.md +4 -3
  381. package/dist/docs/api/index/type-aliases/UiCanvasLike.md +4 -4
  382. package/dist/docs/api/index/type-aliases/UiColorStop.md +37 -0
  383. package/dist/docs/api/index/type-aliases/UiPaint.md +81 -0
  384. package/dist/docs/api/index/type-aliases/UiShadow.md +27 -0
  385. package/dist/docs/api/index/type-aliases/UiStyle.md +43 -0
  386. package/dist/docs/api/index/type-aliases/UiTextStyle.md +33 -0
  387. package/dist/docs/api/index/type-aliases/UiTokens.md +13 -0
  388. package/dist/docs/api/index/type-aliases/VelocitySample.md +3 -3
  389. package/dist/docs/api/index/type-aliases/XrCapabilities.md +9 -9
  390. package/dist/docs/api/index/type-aliases/XrFinger.md +1 -1
  391. package/dist/docs/api/index/type-aliases/XrFingerCurl.md +4 -4
  392. package/dist/docs/api/index/type-aliases/XrFingerTarget.md +6 -6
  393. package/dist/docs/api/index/type-aliases/XrHandJointName.md +1 -1
  394. package/dist/docs/api/index/type-aliases/XrHandJoints.md +1 -1
  395. package/dist/docs/api/index/type-aliases/XrHandPoseAxis.md +1 -1
  396. package/dist/docs/api/index/type-aliases/XrHandPoseContext.md +2 -2
  397. package/dist/docs/api/index/type-aliases/XrHandPoseDefinition.md +11 -11
  398. package/dist/docs/api/index/type-aliases/XrHandPoseDirection.md +1 -1
  399. package/dist/docs/api/index/type-aliases/XrHandPoseEvent.md +1 -1
  400. package/dist/docs/api/index/type-aliases/XrHandPoseEventDetail.md +5 -5
  401. package/dist/docs/api/index/type-aliases/XrHandPoseMatch.md +4 -4
  402. package/dist/docs/api/index/type-aliases/XrHandPoseOrientation.md +4 -4
  403. package/dist/docs/api/index/type-aliases/XrHandShape.md +13 -13
  404. package/dist/docs/api/index/type-aliases/XrHandedness.md +1 -1
  405. package/dist/docs/api/index/type-aliases/XrHitResult.md +3 -3
  406. package/dist/docs/api/index/type-aliases/XrInputKind.md +1 -1
  407. package/dist/docs/api/index/type-aliases/XrInputState.md +18 -18
  408. package/dist/docs/api/index/type-aliases/XrPalmPose.md +6 -6
  409. package/dist/docs/api/index/variables/ADDED_NODE_MARKER_COMPONENT.md +1 -1
  410. package/dist/docs/api/index/variables/ARC_GRAVITY.md +1 -1
  411. package/dist/docs/api/index/variables/ARC_MAX_TIME.md +1 -1
  412. package/dist/docs/api/index/variables/ARC_SPEED.md +1 -1
  413. package/dist/docs/api/index/variables/ARC_STEPS.md +1 -1
  414. package/dist/docs/api/index/variables/CURLED_COS.md +1 -1
  415. package/dist/docs/api/index/variables/DEFAULT_DIRECTION_TOLERANCE.md +1 -1
  416. package/dist/docs/api/index/variables/DEFAULT_ENTER_CONFIDENCE.md +1 -1
  417. package/dist/docs/api/index/variables/DEFAULT_EXIT_CONFIDENCE.md +1 -1
  418. package/dist/docs/api/index/variables/DEFAULT_LOST_GRACE_SECONDS.md +1 -1
  419. package/dist/docs/api/index/variables/DEFAULT_MIN_HOLD_SECONDS.md +1 -1
  420. package/dist/docs/api/index/variables/DEFAULT_SCRIPT_ERROR_RETRY_DELAY.md +1 -1
  421. package/dist/docs/api/index/variables/FALLBACK_HAND_SCALE.md +1 -1
  422. package/dist/docs/api/index/variables/HAND_POSE_PRESETS.md +1 -1
  423. package/dist/docs/api/index/variables/HAND_POSE_PRESET_IDS.md +1 -1
  424. package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +1 -1
  425. package/dist/docs/api/index/variables/KeyboardKeys.md +89 -89
  426. package/dist/docs/api/index/variables/MATCH_FALLOFF.md +1 -1
  427. package/dist/docs/api/index/variables/MAX_PLAUSIBLE_SPEED.md +1 -1
  428. package/dist/docs/api/index/variables/MAX_SAMPLE_AGE_SECONDS.md +1 -1
  429. package/dist/docs/api/index/variables/NODE_KEY_SEPARATOR.md +1 -1
  430. package/dist/docs/api/index/variables/NO_XR_CAPABILITIES.md +1 -1
  431. package/dist/docs/api/index/variables/OVERRIDE_DIFF_EXCLUDED_COMPONENTS.md +1 -1
  432. package/dist/docs/api/index/variables/OVERRIDE_ROOT_EXCLUDED_COMPONENTS.md +1 -1
  433. package/dist/docs/api/index/variables/PINCH_FINGERS.md +1 -1
  434. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION.md +1 -1
  435. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION_NESTED.md +1 -1
  436. package/dist/docs/api/index/variables/SCRIPT_OBJECT_ROOT_FLAG.md +1 -1
  437. package/dist/docs/api/index/variables/SHARED_MODEL_RESOURCE_FLAG.md +1 -1
  438. package/dist/docs/api/index/variables/STRAIGHT_COS.md +1 -1
  439. package/dist/docs/api/index/variables/VELOCITY_SAMPLES.md +1 -1
  440. package/dist/docs/api/index/variables/XR_FINGERS.md +1 -1
  441. package/dist/docs/api/index/variables/XR_HOVER_SHELL_FLAG.md +1 -1
  442. package/dist/docs/api/index/variables/webglBackend.md +1 -1
  443. package/dist/docs/api/typedoc-sidebar.json +1 -1
  444. package/dist/docs/api/types/type-aliases/AssetInput.md +3 -3
  445. package/dist/docs/api/types/type-aliases/CheckboxInput.md +3 -3
  446. package/dist/docs/api/types/type-aliases/ColorInput.md +1 -1
  447. package/dist/docs/api/types/type-aliases/ComponentInput.md +4 -4
  448. package/dist/docs/api/types/type-aliases/ComponentKind.md +1 -1
  449. package/dist/docs/api/types/type-aliases/DropdownInput.md +3 -3
  450. package/dist/docs/api/types/type-aliases/DropdownOption.md +3 -3
  451. package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +1 -1
  452. package/dist/docs/api/types/type-aliases/EcsEntityKind.md +1 -1
  453. package/dist/docs/api/types/type-aliases/EntityId.md +1 -1
  454. package/dist/docs/api/types/type-aliases/EntityInput.md +3 -3
  455. package/dist/docs/api/types/type-aliases/FloatInput.md +1 -1
  456. package/dist/docs/api/types/type-aliases/IntersectionResult.md +3 -3
  457. package/dist/docs/api/types/type-aliases/ParentLookup.md +3 -3
  458. package/dist/docs/api/types/type-aliases/SelectionListener.md +1 -1
  459. package/dist/docs/api/types/type-aliases/SliderInput.md +5 -5
  460. package/dist/docs/api/types/type-aliases/TextInput.md +1 -1
  461. package/dist/docs/api/types/type-aliases/ToggleInput.md +1 -1
  462. package/dist/docs/api/types/type-aliases/Vec3.md +1 -1
  463. package/dist/docs/api/types/type-aliases/Vector2Input.md +3 -3
  464. package/dist/docs/api/types/type-aliases/Vector3Input.md +4 -4
  465. package/dist/docs/api/types/type-aliases/WorldEntityView.md +1 -1
  466. package/dist/docs/guide/bone-attachments-and-ik.md +51 -0
  467. package/dist/docs/guide/components/audio.md +1 -1
  468. package/dist/factories/index.cjs +29 -1
  469. package/dist/factories/index.cjs.map +1 -1
  470. package/dist/factories/index.d.cts +2 -2
  471. package/dist/factories/index.d.ts +2 -2
  472. package/dist/factories/index.js +4 -4
  473. package/dist/{index-BXjwEdNq.d.cts → index-BbrnjNXy.d.ts} +5 -3
  474. package/dist/{index-CVG-hREM.d.ts → index-DD7aHv0p.d.cts} +5 -3
  475. package/dist/{index-6pZO_gV7.d.ts → index-OgOoIpEI.d.ts} +14 -2
  476. package/dist/{index-BdghvXKE.d.cts → index-xyqzT0PQ.d.cts} +14 -2
  477. package/dist/index.cjs +174 -13
  478. package/dist/index.cjs.map +1 -1
  479. package/dist/index.d.cts +10 -9
  480. package/dist/index.d.ts +10 -9
  481. package/dist/index.js +13 -11
  482. package/dist/index.js.map +1 -1
  483. package/dist/network/index.cjs +70 -38
  484. package/dist/network/index.cjs.map +1 -1
  485. package/dist/network/index.d.cts +2 -2
  486. package/dist/network/index.d.ts +2 -2
  487. package/dist/network/index.js +4 -4
  488. package/dist/systems/index.cjs +171 -13
  489. package/dist/systems/index.cjs.map +1 -1
  490. package/dist/systems/index.d.cts +2 -2
  491. package/dist/systems/index.d.ts +2 -2
  492. package/dist/systems/index.js +5 -5
  493. package/dist/types.d.cts +1 -1
  494. package/dist/types.d.ts +1 -1
  495. package/dist/webgpu/index.d.ts +2 -2
  496. package/dist/worldSnapshotUtils.d.cts +1 -1
  497. package/dist/worldSnapshotUtils.d.ts +1 -1
  498. package/package.json +2 -1
  499. package/dist/chunk-GSWC6LLD.js.map +0 -1
  500. package/dist/chunk-JEPUCLZX.js.map +0 -1
  501. package/dist/chunk-JNYPJB55.js.map +0 -1
  502. package/dist/chunk-TY3XCHOR.js.map +0 -1
  503. package/dist/chunk-WWP46AEF.js.map +0 -1
@@ -75,6 +75,51 @@ Moving an attached entity to another parent (`setParent`) also ends its attachme
75
75
 
76
76
  Until the parent's model has loaded, or when the named bone doesn't exist in it, the entity sits under the character as an ordinary child. The attachment is kept and takes effect as soon as the bone appears.
77
77
 
78
+ ### Different places in different clips
79
+
80
+ A character rarely holds something the same way through every clip. `holds` say where the entity goes while particular clips play, on the attachment itself, so no script has to move it. Here a rifle rides the right hand in the rifle clips, is slung on the back in `Idle`, and is hidden in the rest:
81
+
82
+ ```ts
83
+ import { Behaviour, type EntityInput } from "@relu-interactives/spatial-ecs";
84
+ import { BoneAttachmentComponent, normalizeBoneHold } from "@relu-interactives/spatial-ecs/components";
85
+
86
+ export default class SlungRifle extends Behaviour {
87
+ data = {
88
+ rifle: { type: "entity", value: null } as EntityInput,
89
+ };
90
+
91
+ init() {
92
+ const rifle = this.data.rifle.value;
93
+ if (rifle === null) return;
94
+ const attachment = this.world.getComponent(rifle, BoneAttachmentComponent);
95
+ if (!attachment) return;
96
+ attachment.holds = [
97
+ { clips: ["Rifle_run", "Rifle_stand"] },
98
+ {
99
+ clips: ["Idle"],
100
+ humanoid: "chest",
101
+ position: { x: 0.1, y: 0.1, z: -0.2 },
102
+ rotation: { x: 0, y: 0, z: 1.2 },
103
+ },
104
+ ].map(normalizeBoneHold);
105
+ attachment.hideInOtherClips = true;
106
+ }
107
+ }
108
+ ```
109
+
110
+ The first hold that names the playing clip wins. Its fields:
111
+
112
+ | Field | Meaning |
113
+ | --- | --- |
114
+ | `clips` | Clip names this hold is for. |
115
+ | `bone`, `humanoid` | Another bone for these clips, by node name or humanoid name. Leave both `null` to stay on the attachment's own bone. |
116
+ | `hidden` | Hide the entity in these clips. |
117
+ | `position`, `rotation` | Where it sits from the bone in these clips, in place of its Transform's. Leave one `null` to keep the Transform's. `rotation` is in radians. |
118
+
119
+ `hideInOtherClips` hides the entity while a clip no hold names is playing. With no clip playing, or on a character with no Animation component, the attachment is as its own fields say and nothing is hidden. A hold never changes the entity's Transform, so saving a scene keeps it as authored. Moving between holds is immediate: there is no blend.
120
+
121
+ The clip comes from the Animation component on the entity's parent. Holds use clip names, so they follow whatever state plays that clip.
122
+
78
123
  ## Reach for targets with IK
79
124
 
80
125
  Add an `IKComponent` to the CHARACTER (the entity with the model) and give it one chain per limb. Each chain names the hand or foot (`limb`) and a `target` entity whose world position it reaches:
@@ -111,9 +156,15 @@ Chain fields:
111
156
  | `weight` | 0 = the animation, 1 = the target; blend in between (fade a grip in or out by animating it). |
112
157
  | `matchRotation` | Also turn the hand/foot to the target's rotation. |
113
158
  | `enabled` | Turn one chain off. |
159
+ | `clips` | Run only while one of these clips plays; `null` runs whatever plays. |
160
+ | `fade` | Seconds a chain with `clips` takes to fade in or out when the clip changes; `null` follows the Animation component's cross-fade. |
161
+
162
+ `clips` lets a character use IK only where it belongs. A left hand on a rifle's foregrip applies to the rifle clips and lets go in the rest, fading along with the clip. A chain with `clips` needs an Animation component on the character: with none, no clip is playing, so it stays off. One limb can have several chains with different `clips`, to reach different things in different clips. If a chain's clip is the first one playing, it starts on rather than fading in.
114
163
 
115
164
  Change chains at runtime by editing `chains` on the component; turn all of them off with `enabled = false`, which puts every bone back to the animation's pose.
116
165
 
166
+ A limb that is dead straight has no bend of its own, so with no `pole` an arm out to the side drops its elbow, and a limb upright or hanging bends toward the way the character faces.
167
+
117
168
  Targets out of reach are reached for as far as the limb allows. Ask the system how far a limb fell short. It answers `null` for a limb whose chain didn't run that frame, because the chain is off or has no target:
118
169
 
119
170
  ```ts
@@ -13,7 +13,7 @@ Plays an audio clip from `path`. Supports both global stereo (`positional: false
13
13
  | Property | Type | Description |
14
14
  | --- | --- | --- |
15
15
  | `path` | `string` | Source URL or `localasset://` path of the audio file. |
16
- | `options` | `typeof DEFAULT_AUDIO_OPTIONS` | Playback options. | Field | Default | Description | |---|---|---| | `autoplay` | `false` | Start playback as soon as the clip is loaded. | | `loop` | `false` | Loop playback indefinitely. | | `pitch` | `1` | Playback rate multiplier (`1` = normal speed/pitch). | | `volume` | `1` | Linear gain in `[0, 1]`. | | `positional` | `false` | When `true`, audio is spatialized using the entity's transform. | | `refDistance` | `1` | Distance at which volume is unattenuated (positional only). | | `distanceModel` | `"inverse"` | WebAudio distance model (`linear`, `inverse`, `exponential`). | | `rolloffFactor` | `1` | How quickly volume falls off past `refDistance`. | |
16
+ | `options` | `typeof DEFAULT_AUDIO_OPTIONS` | Playback options. | Field | Default | Description | |---|---|---| | `autoplay` | `false` | Start playback as soon as the clip is loaded. | | `loop` | `false` | Loop playback indefinitely. | | `pitch` | `1` | Playback rate multiplier (`1` = normal speed/pitch). | | `volume` | `1` | Linear gain in `[0, 1]`. | | `positional` | `false` | When `true`, audio is spatialized using the entity's transform. | | `refDistance` | `1` | Distance at which volume is unattenuated (positional only). | | `distanceModel` | `"inverse"` | WebAudio distance model (`linear`, `inverse`, `exponential`). | | `rolloffFactor` | `1` | How quickly volume falls off past `refDistance`. | | `bus` | `"sfx"` | The mixer group it plays through: `sfx`, `voice` or `music`. Music dips while a voice plays. | |
17
17
  | `object` | `THREE.Object3D \| null` | Live three.js object hosting the audio (a parented `Audio`/`PositionalAudio`). `null` until built. |
18
18
  | `audio` | `THREE.Audio<GainNode> \| THREE.PositionalAudio \| null` | Live three.js audio source. `null` until built. Recreated when the project loads. |
19
19
  | `isPlaying` | `boolean` | Whether the audio should be playing. Managed by `AudioSystem` in preview. Non-enumerable — not persisted to snapshots or save data. Set via `play` / `stop`. |
@@ -2454,6 +2454,21 @@ function createXRAnchorComponent(world, entityId, ...args) {
2454
2454
  __name(createXRAnchorComponent, "createXRAnchorComponent");
2455
2455
 
2456
2456
  // core/components/BoneAttachment.ts
2457
+ var xyz = /* @__PURE__ */ __name((value) => {
2458
+ const v = value;
2459
+ return typeof v?.x === "number" && typeof v.y === "number" && typeof v.z === "number" ? { x: v.x, y: v.y, z: v.z } : null;
2460
+ }, "xyz");
2461
+ function normalizeBoneHold(hold) {
2462
+ return {
2463
+ clips: Array.isArray(hold.clips) ? hold.clips.filter((c) => typeof c === "string") : [],
2464
+ bone: typeof hold.bone === "string" && hold.bone ? hold.bone : null,
2465
+ humanoid: typeof hold.humanoid === "string" && hold.humanoid ? hold.humanoid : null,
2466
+ hidden: hold.hidden === true,
2467
+ position: xyz(hold.position),
2468
+ rotation: xyz(hold.rotation)
2469
+ };
2470
+ }
2471
+ __name(normalizeBoneHold, "normalizeBoneHold");
2457
2472
  var _BoneAttachmentComponent = class _BoneAttachmentComponent extends Component {
2458
2473
  constructor(options) {
2459
2474
  super();
@@ -2461,6 +2476,8 @@ var _BoneAttachmentComponent = class _BoneAttachmentComponent extends Component
2461
2476
  this.humanoid = options?.humanoid ?? null;
2462
2477
  this.compensateScale = options?.compensateScale ?? true;
2463
2478
  this.enabled = options?.enabled ?? true;
2479
+ this.holds = (options?.holds ?? []).map(normalizeBoneHold);
2480
+ this.hideInOtherClips = options?.hideInOtherClips ?? false;
2464
2481
  }
2465
2482
  };
2466
2483
  __name(_BoneAttachmentComponent, "BoneAttachmentComponent");
@@ -2483,7 +2500,9 @@ function normalizeIKChain(chain) {
2483
2500
  pole: typeof chain.pole === "number" ? chain.pole : null,
2484
2501
  weight: Math.min(1, Math.max(0, weight)),
2485
2502
  matchRotation: chain.matchRotation ?? false,
2486
- enabled: chain.enabled ?? true
2503
+ enabled: chain.enabled ?? true,
2504
+ clips: Array.isArray(chain.clips) ? chain.clips.filter((c) => typeof c === "string") : null,
2505
+ fade: typeof chain.fade === "number" && Number.isFinite(chain.fade) && chain.fade >= 0 ? chain.fade : null
2487
2506
  };
2488
2507
  }
2489
2508
  __name(normalizeIKChain, "normalizeIKChain");
@@ -3210,6 +3229,15 @@ __name(loadModelInto, "loadModelInto");
3210
3229
  // core/systems/ObjectManagementSystem.ts
3211
3230
  new THREE2__namespace.Vector3();
3212
3231
  new THREE2__namespace.Vector3();
3232
+ new THREE2__namespace.Vector3();
3233
+ new THREE2__namespace.Quaternion();
3234
+ new THREE2__namespace.Vector3();
3235
+ new THREE2__namespace.Quaternion();
3236
+ new THREE2__namespace.Matrix4();
3237
+ new THREE2__namespace.Matrix4();
3238
+ new THREE2__namespace.Euler();
3239
+ new THREE2__namespace.Vector3(1, 1, 1);
3240
+ new THREE2__namespace.Vector3();
3213
3241
  function createTransform(input) {
3214
3242
  return new TransformComponent(input);
3215
3243
  }