@relu-interactives/spatial-ecs 0.5.3 → 0.9.0

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 (512) hide show
  1. package/dist/{System-V_mv07le.d.cts → System-8D-XBDKZ.d.cts} +734 -8
  2. package/dist/{System-V_mv07le.d.ts → System-DPMAW30g.d.ts} +734 -8
  3. package/dist/{XRHandPose-CU3vNFuS.d.ts → XRHandPose-CWSrsnYN.d.ts} +236 -3
  4. package/dist/{XRHandPose-CQTLGxFC.d.cts → XRHandPose-Dn2yiALk.d.cts} +236 -3
  5. package/dist/animation/index.cjs +252 -0
  6. package/dist/animation/index.cjs.map +1 -0
  7. package/dist/animation/index.d.cts +100 -0
  8. package/dist/animation/index.d.ts +100 -0
  9. package/dist/animation/index.js +4 -0
  10. package/dist/animation/index.js.map +1 -0
  11. package/dist/chunk-CKTHDXPS.js +11 -0
  12. package/dist/chunk-CKTHDXPS.js.map +1 -0
  13. package/dist/chunk-GSWC6LLD.js +241 -0
  14. package/dist/chunk-GSWC6LLD.js.map +1 -0
  15. package/dist/chunk-JEPUCLZX.js +1237 -0
  16. package/dist/chunk-JEPUCLZX.js.map +1 -0
  17. package/dist/{chunk-BUEKOSR5.js → chunk-JNYPJB55.js} +435 -14
  18. package/dist/chunk-JNYPJB55.js.map +1 -0
  19. package/dist/{chunk-RXBLOO5B.js → chunk-NXASMBDS.js} +105 -715
  20. package/dist/chunk-NXASMBDS.js.map +1 -0
  21. package/dist/chunk-OHCNPPMX.js +334 -0
  22. package/dist/chunk-OHCNPPMX.js.map +1 -0
  23. package/dist/{chunk-DF5SSRN6.js → chunk-VYIWOXAY.js} +2574 -3381
  24. package/dist/chunk-VYIWOXAY.js.map +1 -0
  25. package/dist/chunk-WWP46AEF.js +2878 -0
  26. package/dist/chunk-WWP46AEF.js.map +1 -0
  27. package/dist/{chunk-OY7ZODZP.js → chunk-XE4OXN2W.js} +3 -9
  28. package/dist/chunk-XE4OXN2W.js.map +1 -0
  29. package/dist/{chunk-OWQSESTO.js → chunk-XU2DVWCP.js} +4 -3
  30. package/dist/chunk-XU2DVWCP.js.map +1 -0
  31. package/dist/components/index.cjs +334 -10
  32. package/dist/components/index.cjs.map +1 -1
  33. package/dist/components/index.d.cts +5 -3
  34. package/dist/components/index.d.ts +5 -3
  35. package/dist/components/index.js +3 -2
  36. package/dist/docs/api/Behaviour/classes/Behaviour.md +366 -79
  37. package/dist/docs/api/Behaviour/index.md +7 -3
  38. package/dist/docs/api/Behaviour/type-aliases/UiInteractionEvent.md +35 -0
  39. package/dist/docs/api/Component/classes/Component.md +14 -1
  40. package/dist/docs/api/components/classes/AnimationComponent.md +26 -26
  41. package/dist/docs/api/components/classes/AudioComponent.md +19 -19
  42. package/dist/docs/api/components/classes/CameraComponent.md +14 -14
  43. package/dist/docs/api/components/classes/EntityType.md +4 -4
  44. package/dist/docs/api/components/classes/Environment.md +5 -4
  45. package/dist/docs/api/components/classes/ImageComponent.md +7 -7
  46. package/dist/docs/api/components/classes/ImageTarget.md +8 -8
  47. package/dist/docs/api/components/classes/ImageTargetAnchor.md +4 -4
  48. package/dist/docs/api/components/classes/InstanceSlotComponent.md +4 -4
  49. package/dist/docs/api/components/classes/InstancedMeshComponent.md +10 -10
  50. package/dist/docs/api/components/classes/LightComponent.md +6 -6
  51. package/dist/docs/api/components/classes/MaterialComponent.md +16 -16
  52. package/dist/docs/api/components/classes/MeshComponent.md +3 -3
  53. package/dist/docs/api/components/classes/MeshGeometryComponent.md +9 -9
  54. package/dist/docs/api/components/classes/ModelComponent.md +8 -5
  55. package/dist/docs/api/components/classes/Name.md +3 -3
  56. package/dist/docs/api/components/classes/Object3DRef.md +4 -4
  57. package/dist/docs/api/components/classes/ParentId.md +3 -3
  58. package/dist/docs/api/components/classes/PhysicsComponent.md +7 -6
  59. package/dist/docs/api/components/classes/Postprocessing.md +3 -3
  60. package/dist/docs/api/components/classes/PrefabInstance.md +5 -5
  61. package/dist/docs/api/components/classes/PrefabNode.md +3 -3
  62. package/dist/docs/api/components/classes/ScriptComponent.md +5 -5
  63. package/dist/docs/api/components/classes/ScriptObjectComponent.md +9 -9
  64. package/dist/docs/api/components/classes/Selectable.md +3 -3
  65. package/dist/docs/api/components/classes/SelectionTransformState.md +5 -5
  66. package/dist/docs/api/components/classes/SpriteComponent.md +7 -7
  67. package/dist/docs/api/components/classes/TransformComponent.md +12 -12
  68. package/dist/docs/api/components/classes/UIButtonComponent.md +63 -0
  69. package/dist/docs/api/components/classes/UIPanelComponent.md +62 -0
  70. package/dist/docs/api/components/classes/UISliderComponent.md +59 -0
  71. package/dist/docs/api/components/classes/UITextComponent.md +59 -0
  72. package/dist/docs/api/components/classes/UIToggleComponent.md +56 -0
  73. package/dist/docs/api/components/classes/VRTeleportAreaComponent.md +53 -0
  74. package/dist/docs/api/components/classes/VideoComponent.md +28 -28
  75. package/dist/docs/api/components/classes/XRAnchorComponent.md +64 -0
  76. package/dist/docs/api/components/classes/XREnvironmentComponent.md +64 -0
  77. package/dist/docs/api/components/classes/XRHandPoseComponent.md +50 -0
  78. package/dist/docs/api/components/classes/XRInteractableComponent.md +74 -0
  79. package/dist/docs/api/components/classes/XRInteractorComponent.md +57 -0
  80. package/dist/docs/api/components/classes/XRInteractorSideComponent.md +50 -0
  81. package/dist/docs/api/components/classes/XRRigComponent.md +68 -0
  82. package/dist/docs/api/components/functions/createAttachPoint.md +25 -0
  83. package/dist/docs/api/components/functions/createHandPoseEntry.md +25 -0
  84. package/dist/docs/api/components/functions/defaultMaterialValue.md +1 -1
  85. package/dist/docs/api/components/functions/handPoseDefinitionFor.md +33 -0
  86. package/dist/docs/api/components/functions/normalizeEnvironmentLighting.md +30 -0
  87. package/dist/docs/api/components/functions/normalizePhysicsState.md +1 -1
  88. package/dist/docs/api/components/functions/setModelLoadState.md +33 -0
  89. package/dist/docs/api/components/functions/setPhysicsLiveRef.md +3 -9
  90. package/dist/docs/api/components/index.md +61 -4
  91. package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +9 -9
  92. package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +13 -13
  93. package/dist/docs/api/components/type-aliases/CameraProjection.md +1 -1
  94. package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +5 -3
  95. package/dist/docs/api/components/type-aliases/ColliderShape.md +1 -1
  96. package/dist/docs/api/components/type-aliases/ColliderState.md +20 -20
  97. package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +4 -4
  98. package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +1 -1
  99. package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +8 -8
  100. package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +1 -1
  101. package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +1 -1
  102. package/dist/docs/api/components/type-aliases/EnvironmentLightingState.md +40 -0
  103. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxImageProjection.md +22 -0
  104. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +9 -7
  105. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +1 -1
  106. package/dist/docs/api/components/type-aliases/EnvironmentState.md +7 -5
  107. package/dist/docs/api/components/type-aliases/EnvironmentToneMapping.md +16 -0
  108. package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +3 -3
  109. package/dist/docs/api/components/type-aliases/ImageTargetReference.md +7 -7
  110. package/dist/docs/api/components/type-aliases/InstanceTransform.md +13 -13
  111. package/dist/docs/api/components/type-aliases/InstancedMeshKind.md +1 -1
  112. package/dist/docs/api/components/type-aliases/LightShadowState.md +37 -0
  113. package/dist/docs/api/components/type-aliases/LightValueState.md +13 -11
  114. package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +1 -1
  115. package/dist/docs/api/components/type-aliases/MaterialValueState.md +28 -28
  116. package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +1 -1
  117. package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +7 -7
  118. package/dist/docs/api/components/type-aliases/ModelLoadState.md +15 -0
  119. package/dist/docs/api/components/type-aliases/PhysicsState.md +3 -3
  120. package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +3 -3
  121. package/dist/docs/api/components/type-aliases/PostprocessingState.md +62 -62
  122. package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +3 -3
  123. package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +2 -2
  124. package/dist/docs/api/components/type-aliases/RigidbodyState.md +17 -17
  125. package/dist/docs/api/components/type-aliases/RigidbodyType.md +1 -1
  126. package/dist/docs/api/components/type-aliases/ScriptEntry.md +8 -8
  127. package/dist/docs/api/components/type-aliases/ScriptObjectComponentInput.md +1 -1
  128. package/dist/docs/api/components/type-aliases/ScriptObjectRuntimeState.md +1 -1
  129. package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +1 -1
  130. package/dist/docs/api/components/type-aliases/TransformData.md +4 -4
  131. package/dist/docs/api/components/type-aliases/TransformModeValue.md +1 -1
  132. package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +1 -1
  133. package/dist/docs/api/components/type-aliases/UIButtonOptions.md +45 -0
  134. package/dist/docs/api/components/type-aliases/UIPanelOptions.md +39 -0
  135. package/dist/docs/api/components/type-aliases/UISliderOptions.md +39 -0
  136. package/dist/docs/api/components/type-aliases/UITextOptions.md +41 -0
  137. package/dist/docs/api/components/type-aliases/UIToggleOptions.md +35 -0
  138. package/dist/docs/api/components/type-aliases/UiFollowMode.md +15 -0
  139. package/dist/docs/api/components/type-aliases/UiTextAlign.md +13 -0
  140. package/dist/docs/api/components/type-aliases/UiTextVAlign.md +13 -0
  141. package/dist/docs/api/components/type-aliases/VRTeleportAreaOptions.md +29 -0
  142. package/dist/docs/api/components/type-aliases/Vec3.md +4 -4
  143. package/dist/docs/api/components/type-aliases/VrTeleportShape.md +15 -0
  144. package/dist/docs/api/components/type-aliases/XRAnchorOptions.md +23 -0
  145. package/dist/docs/api/components/type-aliases/XRHandPoseOptions.md +23 -0
  146. package/dist/docs/api/components/type-aliases/XRInteractableOptions.md +75 -0
  147. package/dist/docs/api/components/type-aliases/XRInteractorOptions.md +37 -0
  148. package/dist/docs/api/components/type-aliases/XRRigOptions.md +51 -0
  149. package/dist/docs/api/components/type-aliases/XrAttachPoint.md +53 -0
  150. package/dist/docs/api/components/type-aliases/XrDistanceGrabBehavior.md +19 -0
  151. package/dist/docs/api/components/type-aliases/XrEnvironmentKind.md +15 -0
  152. package/dist/docs/api/components/type-aliases/XrEnvironmentOrientation.md +15 -0
  153. package/dist/docs/api/components/type-aliases/XrEnvironmentPhysics.md +25 -0
  154. package/dist/docs/api/components/type-aliases/XrGrabGesture.md +19 -0
  155. package/dist/docs/api/components/type-aliases/XrGrabHands.md +20 -0
  156. package/dist/docs/api/components/type-aliases/XrGrabReach.md +20 -0
  157. package/dist/docs/api/components/type-aliases/XrHandPoseEntry.md +49 -0
  158. package/dist/docs/api/components/type-aliases/XrHandPreset.md +19 -0
  159. package/dist/docs/api/components/type-aliases/XrInteractorSide.md +15 -0
  160. package/dist/docs/api/components/type-aliases/XrInteractorType.md +13 -0
  161. package/dist/docs/api/components/type-aliases/XrLocomotionMode.md +15 -0
  162. package/dist/docs/api/components/type-aliases/XrTrackingOrigin.md +24 -0
  163. package/dist/docs/api/components/type-aliases/XrTwoHandRotation.md +15 -0
  164. package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +1 -1
  165. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_LIGHTING.md +15 -0
  166. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +1 -1
  167. package/dist/docs/api/components/variables/DEFAULT_INSTANCED_MESH_PARAMETERS.md +1 -1
  168. package/dist/docs/api/components/variables/DEFAULT_INSTANCE_TRANSFORM.md +1 -1
  169. package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +1 -1
  170. package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +1 -1
  171. package/dist/docs/api/components/variables/DEFAULT_POSE_CURLS.md +13 -0
  172. package/dist/docs/api/components/variables/DEFAULT_POSE_DIRECTIONS.md +13 -0
  173. package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +1 -1
  174. package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +1 -1
  175. package/dist/docs/api/components/variables/MODEL_NO_PATH_MESSAGE.md +15 -0
  176. package/dist/docs/api/index/classes/AnimationStateMachine.md +16 -16
  177. package/dist/docs/api/index/classes/AnimationStateManager.md +13 -13
  178. package/dist/docs/api/index/classes/AnimationSystem.md +3 -3
  179. package/dist/docs/api/index/classes/AudioSystem.md +4 -4
  180. package/dist/docs/api/index/classes/CameraSyncSystem.md +2 -2
  181. package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +19 -4
  182. package/dist/docs/api/index/classes/HandPoseTracker.md +114 -0
  183. package/dist/docs/api/index/classes/InputSystem.md +33 -33
  184. package/dist/docs/api/index/classes/InstancedMeshSystem.md +2 -2
  185. package/dist/docs/api/index/classes/LightSyncSystem.md +2 -2
  186. package/dist/docs/api/index/classes/MaterialSyncSystem.md +3 -3
  187. package/dist/docs/api/index/classes/MeshGeometrySystem.md +2 -2
  188. package/dist/docs/api/index/classes/ObjectManagementSystem.md +14 -14
  189. package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +2 -2
  190. package/dist/docs/api/index/classes/PhysicsSyncSystem.md +4 -4
  191. package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +34 -10
  192. package/dist/docs/api/index/classes/RenderSystem.md +13 -4
  193. package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +9 -5
  194. package/dist/docs/api/index/classes/ScriptObject.md +10 -10
  195. package/dist/docs/api/index/classes/ScriptObjectSystem.md +6 -6
  196. package/dist/docs/api/index/classes/TeleportAimGate.md +114 -0
  197. package/dist/docs/api/index/classes/ThrowVelocityTracker.md +89 -0
  198. package/dist/docs/api/index/classes/TransformSyncSystem.md +2 -2
  199. package/dist/docs/api/index/classes/UIInteractionSystem.md +60 -0
  200. package/dist/docs/api/index/classes/UIPanelSystem.md +79 -0
  201. package/dist/docs/api/index/classes/VRTeleportAreaSystem.md +49 -0
  202. package/dist/docs/api/index/classes/VideoSystem.md +8 -6
  203. package/dist/docs/api/index/classes/World.md +282 -100
  204. package/dist/docs/api/index/classes/XRAnchorSystem.md +90 -0
  205. package/dist/docs/api/index/classes/XRControllerVisualSystem.md +77 -0
  206. package/dist/docs/api/index/classes/XREnvironmentSystem.md +137 -0
  207. package/dist/docs/api/index/classes/XRHandPoseSystem.md +107 -0
  208. package/dist/docs/api/index/classes/XRHitTestSystem.md +93 -0
  209. package/dist/docs/api/index/classes/XRHoverVisualSystem.md +76 -0
  210. package/dist/docs/api/index/classes/XRInputSystem.md +189 -0
  211. package/dist/docs/api/index/classes/XRInteractionSystem.md +323 -0
  212. package/dist/docs/api/index/classes/XRLocomotionSystem.md +128 -0
  213. package/dist/docs/api/index/classes/XRSessionSystem.md +116 -0
  214. package/dist/docs/api/index/classes/XRTeleportVisualSystem.md +75 -0
  215. package/dist/docs/api/index/functions/angularVelocityFrom.md +33 -0
  216. package/dist/docs/api/index/functions/applyHandMaterial.md +26 -0
  217. package/dist/docs/api/index/functions/applyPrefabToSnapshotInstances.md +1 -1
  218. package/dist/docs/api/index/functions/arcGroundCrossing.md +30 -0
  219. package/dist/docs/api/index/functions/buildComponentValueMaps.md +1 -1
  220. package/dist/docs/api/index/functions/buildNodeKeyMapsFromSnapshot.md +1 -1
  221. package/dist/docs/api/index/functions/buildNodeMapsFromSnapshot.md +1 -1
  222. package/dist/docs/api/index/functions/canonicalizeComponentValue.md +1 -1
  223. package/dist/docs/api/index/functions/clearModelCache.md +1 -1
  224. package/dist/docs/api/index/functions/clearPrefabCache.md +1 -1
  225. package/dist/docs/api/index/functions/cloneHandPose.md +23 -0
  226. package/dist/docs/api/index/functions/collectDiffPaths.md +1 -1
  227. package/dist/docs/api/index/functions/collectDirectPrefabDependencies.md +1 -1
  228. package/dist/docs/api/index/functions/collectEntitySubtree.md +1 -1
  229. package/dist/docs/api/index/functions/collectSnapshotSubtreeIds.md +1 -1
  230. package/dist/docs/api/index/functions/computeFingerCurl.md +29 -0
  231. package/dist/docs/api/index/functions/computeHandShape.md +29 -0
  232. package/dist/docs/api/index/functions/computeInstanceOverrides.md +1 -1
  233. package/dist/docs/api/index/functions/computePalmPose.md +30 -0
  234. package/dist/docs/api/index/functions/computePalmWidth.md +25 -0
  235. package/dist/docs/api/index/functions/computePinch.md +29 -0
  236. package/dist/docs/api/index/functions/computeSpread.md +33 -0
  237. package/dist/docs/api/index/functions/createAnimationComponent.md +1 -1
  238. package/dist/docs/api/index/functions/createAudioComponent.md +1 -1
  239. package/dist/docs/api/index/functions/createCameraComponent.md +1 -1
  240. package/dist/docs/api/index/functions/createEntityTypeComponent.md +2 -2
  241. package/dist/docs/api/index/functions/createEnvironmentComponent.md +1 -1
  242. package/dist/docs/api/index/functions/createHandMaterial.md +30 -0
  243. package/dist/docs/api/index/functions/createImageComponent.md +1 -1
  244. package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +1 -1
  245. package/dist/docs/api/index/functions/createImageTargetComponent.md +2 -2
  246. package/dist/docs/api/index/functions/createInstanceSlotComponent.md +1 -1
  247. package/dist/docs/api/index/functions/createInstancedMeshComponent.md +1 -1
  248. package/dist/docs/api/index/functions/createLightComponent.md +2 -2
  249. package/dist/docs/api/index/functions/createMaterialComponent.md +2 -2
  250. package/dist/docs/api/index/functions/createMeshComponent.md +1 -1
  251. package/dist/docs/api/index/functions/createMeshGeometryComponent.md +1 -1
  252. package/dist/docs/api/index/functions/createModelComponent.md +1 -1
  253. package/dist/docs/api/index/functions/createNameComponent.md +1 -1
  254. package/dist/docs/api/index/functions/createObject3DRefComponent.md +1 -1
  255. package/dist/docs/api/index/functions/createParentIdComponent.md +1 -1
  256. package/dist/docs/api/index/functions/createPhysicsComponent.md +1 -1
  257. package/dist/docs/api/index/functions/createPostprocessingComponent.md +1 -1
  258. package/dist/docs/api/index/functions/createScriptComponent.md +1 -1
  259. package/dist/docs/api/index/functions/createScriptObjectComponent.md +1 -1
  260. package/dist/docs/api/index/functions/createSelectableComponent.md +1 -1
  261. package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +1 -1
  262. package/dist/docs/api/index/functions/createSpriteComponent.md +1 -1
  263. package/dist/docs/api/index/functions/createTransformComponent.md +1 -1
  264. package/dist/docs/api/index/functions/createUIButtonComponent.md +28 -0
  265. package/dist/docs/api/index/functions/createUIPanelComponent.md +28 -0
  266. package/dist/docs/api/index/functions/createUISliderComponent.md +28 -0
  267. package/dist/docs/api/index/functions/createUITextComponent.md +28 -0
  268. package/dist/docs/api/index/functions/createUIToggleComponent.md +28 -0
  269. package/dist/docs/api/index/functions/createVRTeleportAreaComponent.md +28 -0
  270. package/dist/docs/api/index/functions/createVideoComponent.md +1 -1
  271. package/dist/docs/api/index/functions/createXRAnchorComponent.md +28 -0
  272. package/dist/docs/api/index/functions/createXRHandPoseComponent.md +28 -0
  273. package/dist/docs/api/index/functions/createXRInteractableComponent.md +28 -0
  274. package/dist/docs/api/index/functions/createXRInteractorComponent.md +28 -0
  275. package/dist/docs/api/index/functions/createXRInteractorSideComponent.md +28 -0
  276. package/dist/docs/api/index/functions/createXRRigComponent.md +28 -0
  277. package/dist/docs/api/index/functions/decanonicalizeComponentValue.md +1 -1
  278. package/dist/docs/api/index/functions/despawnPrefab.md +1 -1
  279. package/dist/docs/api/index/functions/encodeOverride.md +1 -1
  280. package/dist/docs/api/index/functions/estimateHandScale.md +28 -0
  281. package/dist/docs/api/index/functions/findSnapshotRootEntityIds.md +1 -1
  282. package/dist/docs/api/index/functions/findTopLevelNestedRegions.md +1 -1
  283. package/dist/docs/api/index/functions/getHandPosePreset.md +31 -0
  284. package/dist/docs/api/index/functions/groupOverridePaths.md +1 -1
  285. package/dist/docs/api/index/functions/handPoseFromCurls.md +42 -0
  286. package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +1 -1
  287. package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +1 -1
  288. package/dist/docs/api/index/functions/indexSnapshotByEntity.md +1 -1
  289. package/dist/docs/api/index/functions/instantiateSubtree.md +1 -1
  290. package/dist/docs/api/index/functions/loadPrefab.md +1 -1
  291. package/dist/docs/api/index/functions/loadSharedGltf.md +1 -1
  292. package/dist/docs/api/index/functions/matchHandPose.md +34 -0
  293. package/dist/docs/api/index/functions/mergeComponentValue.md +1 -1
  294. package/dist/docs/api/index/functions/parseOverride.md +1 -1
  295. package/dist/docs/api/index/functions/parsePrefabAsset.md +1 -1
  296. package/dist/docs/api/index/functions/prefabFileVersionFor.md +1 -1
  297. package/dist/docs/api/index/functions/readXrCapabilities.md +30 -0
  298. package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +1 -1
  299. package/dist/docs/api/index/functions/registerDefaultFactories.md +1 -1
  300. package/dist/docs/api/index/functions/remapSnapshotEntityIds.md +3 -3
  301. package/dist/docs/api/index/functions/resolveDracoDecoderPath.md +1 -1
  302. package/dist/docs/api/index/functions/restoreComponentState.md +1 -1
  303. package/dist/docs/api/index/functions/restorePostCreateComponents.md +1 -1
  304. package/dist/docs/api/index/functions/sampleTeleportArc.md +40 -0
  305. package/dist/docs/api/index/functions/serializeEntitySubtree.md +1 -1
  306. package/dist/docs/api/index/functions/setDracoDecoderPath.md +1 -1
  307. package/dist/docs/api/index/functions/setPrefabAssetUrlResolver.md +1 -1
  308. package/dist/docs/api/index/functions/spawnPrefab.md +1 -1
  309. package/dist/docs/api/index/index.md +116 -4
  310. package/dist/docs/api/index/interfaces/ChromaKeyOptions.md +20 -0
  311. package/dist/docs/api/index/interfaces/EcsSystem.md +3 -3
  312. package/dist/docs/api/index/interfaces/PostprocessingBuildContext.md +21 -0
  313. package/dist/docs/api/index/interfaces/PostprocessingPipeline.md +84 -0
  314. package/dist/docs/api/index/interfaces/RenderBackend.md +168 -0
  315. package/dist/docs/api/index/interfaces/StateMachine.md +13 -13
  316. package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +4 -4
  317. package/dist/docs/api/index/type-aliases/ApplyPrefabToSnapshotResult.md +3 -3
  318. package/dist/docs/api/index/type-aliases/ComponentFactory.md +1 -1
  319. package/dist/docs/api/index/type-aliases/ComponentValueMaps.md +50 -26
  320. package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +14 -2
  321. package/dist/docs/api/index/type-aliases/EcsRenderer.md +17 -0
  322. package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +3 -3
  323. package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +4 -4
  324. package/dist/docs/api/index/type-aliases/ExternalRefWarning.md +5 -5
  325. package/dist/docs/api/index/type-aliases/HandMaterialOptions.md +32 -0
  326. package/dist/docs/api/index/type-aliases/HandPoseTrackerOptions.md +27 -0
  327. package/dist/docs/api/index/type-aliases/HydrateOptions.md +3 -3
  328. package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +4 -4
  329. package/dist/docs/api/index/type-aliases/InstantiateSubtreeResult.md +3 -3
  330. package/dist/docs/api/index/type-aliases/KeyboardKey.md +1 -1
  331. package/dist/docs/api/index/type-aliases/ModuleLoader.md +1 -1
  332. package/dist/docs/api/index/type-aliases/MouseButton.md +1 -1
  333. package/dist/docs/api/index/type-aliases/NestedRegion.md +5 -5
  334. package/dist/docs/api/index/type-aliases/NodeKeyMaps.md +5 -5
  335. package/dist/docs/api/index/type-aliases/NodeMaps.md +4 -4
  336. package/dist/docs/api/index/type-aliases/PrefabAsset.md +5 -5
  337. package/dist/docs/api/index/type-aliases/RemapSnapshotOptions.md +2 -2
  338. package/dist/docs/api/index/type-aliases/RendererKind.md +15 -0
  339. package/dist/docs/api/index/type-aliases/ScriptBehaviourSystemOptions.md +23 -0
  340. package/dist/docs/api/index/type-aliases/ScriptErrorEvent.md +39 -0
  341. package/dist/docs/api/index/type-aliases/ScriptErrorListener.md +25 -0
  342. package/dist/docs/api/index/type-aliases/ScriptErrorPhase.md +28 -0
  343. package/dist/docs/api/index/type-aliases/ScriptErrorReport.md +31 -0
  344. package/dist/docs/api/index/type-aliases/ScriptErrorSource.md +15 -0
  345. package/dist/docs/api/index/type-aliases/SelectionContext.md +4 -4
  346. package/dist/docs/api/index/type-aliases/SerializeEntitySubtreeResult.md +4 -4
  347. package/dist/docs/api/index/type-aliases/SpawnPrefabOptions.md +5 -5
  348. package/dist/docs/api/index/type-aliases/SpawnPrefabSource.md +1 -1
  349. package/dist/docs/api/index/type-aliases/SubtreeSnapshot.md +3 -3
  350. package/dist/docs/api/index/type-aliases/UiCanvasLike.md +46 -0
  351. package/dist/docs/api/index/type-aliases/VelocitySample.md +23 -0
  352. package/dist/docs/api/index/type-aliases/XrCapabilities.md +41 -0
  353. package/dist/docs/api/index/type-aliases/XrFinger.md +13 -0
  354. package/dist/docs/api/index/type-aliases/XrFingerCurl.md +27 -0
  355. package/dist/docs/api/index/type-aliases/XrFingerTarget.md +31 -0
  356. package/dist/docs/api/index/type-aliases/XrHandJointName.md +40 -0
  357. package/dist/docs/api/index/type-aliases/XrHandJoints.md +18 -0
  358. package/dist/docs/api/index/type-aliases/XrHandPoseAxis.md +15 -0
  359. package/dist/docs/api/index/type-aliases/XrHandPoseContext.md +23 -0
  360. package/dist/docs/api/index/type-aliases/XrHandPoseDefinition.md +47 -0
  361. package/dist/docs/api/index/type-aliases/XrHandPoseDirection.md +21 -0
  362. package/dist/docs/api/index/type-aliases/XrHandPoseEvent.md +13 -0
  363. package/dist/docs/api/index/type-aliases/XrHandPoseEventDetail.md +27 -0
  364. package/dist/docs/api/index/type-aliases/XrHandPoseMatch.md +25 -0
  365. package/dist/docs/api/index/type-aliases/XrHandPoseOrientation.md +25 -0
  366. package/dist/docs/api/index/type-aliases/XrHandShape.md +46 -0
  367. package/dist/docs/api/index/type-aliases/XrHandedness.md +15 -0
  368. package/dist/docs/api/index/type-aliases/XrHitResult.md +25 -0
  369. package/dist/docs/api/index/type-aliases/XrInputKind.md +19 -0
  370. package/dist/docs/api/index/type-aliases/XrInputState.md +60 -0
  371. package/dist/docs/api/index/type-aliases/XrPalmPose.md +31 -0
  372. package/dist/docs/api/index/variables/ADDED_NODE_MARKER_COMPONENT.md +2 -2
  373. package/dist/docs/api/index/variables/ARC_GRAVITY.md +15 -0
  374. package/dist/docs/api/index/variables/ARC_MAX_TIME.md +15 -0
  375. package/dist/docs/api/index/variables/ARC_SPEED.md +15 -0
  376. package/dist/docs/api/index/variables/ARC_STEPS.md +15 -0
  377. package/dist/docs/api/index/variables/CURLED_COS.md +13 -0
  378. package/dist/docs/api/index/variables/DEFAULT_DIRECTION_TOLERANCE.md +15 -0
  379. package/dist/docs/api/index/variables/DEFAULT_ENTER_CONFIDENCE.md +13 -0
  380. package/dist/docs/api/index/variables/DEFAULT_EXIT_CONFIDENCE.md +13 -0
  381. package/dist/docs/api/index/variables/DEFAULT_LOST_GRACE_SECONDS.md +13 -0
  382. package/dist/docs/api/index/variables/DEFAULT_MIN_HOLD_SECONDS.md +13 -0
  383. package/dist/docs/api/index/variables/DEFAULT_SCRIPT_ERROR_RETRY_DELAY.md +17 -0
  384. package/dist/docs/api/index/variables/FALLBACK_HAND_SCALE.md +15 -0
  385. package/dist/docs/api/index/variables/HAND_POSE_PRESETS.md +19 -0
  386. package/dist/docs/api/index/variables/HAND_POSE_PRESET_IDS.md +15 -0
  387. package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +1 -1
  388. package/dist/docs/api/index/variables/KeyboardKeys.md +89 -89
  389. package/dist/docs/api/index/variables/MATCH_FALLOFF.md +15 -0
  390. package/dist/docs/api/index/variables/MAX_PLAUSIBLE_SPEED.md +25 -0
  391. package/dist/docs/api/index/variables/MAX_SAMPLE_AGE_SECONDS.md +18 -0
  392. package/dist/docs/api/index/variables/NODE_KEY_SEPARATOR.md +1 -1
  393. package/dist/docs/api/index/variables/NO_XR_CAPABILITIES.md +15 -0
  394. package/dist/docs/api/index/variables/OVERRIDE_DIFF_EXCLUDED_COMPONENTS.md +1 -1
  395. package/dist/docs/api/index/variables/OVERRIDE_ROOT_EXCLUDED_COMPONENTS.md +1 -1
  396. package/dist/docs/api/index/variables/PINCH_FINGERS.md +15 -0
  397. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION.md +1 -1
  398. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION_NESTED.md +1 -1
  399. package/dist/docs/api/index/variables/SCRIPT_OBJECT_ROOT_FLAG.md +1 -1
  400. package/dist/docs/api/index/variables/SHARED_MODEL_RESOURCE_FLAG.md +1 -1
  401. package/dist/docs/api/index/variables/STRAIGHT_COS.md +19 -0
  402. package/dist/docs/api/index/variables/VELOCITY_SAMPLES.md +15 -0
  403. package/dist/docs/api/index/variables/XR_FINGERS.md +13 -0
  404. package/dist/docs/api/index/variables/XR_HOVER_SHELL_FLAG.md +15 -0
  405. package/dist/docs/api/index/variables/webglBackend.md +16 -0
  406. package/dist/docs/api/typedoc-sidebar.json +1 -1
  407. package/dist/docs/api/types/type-aliases/AssetInput.md +3 -3
  408. package/dist/docs/api/types/type-aliases/CheckboxInput.md +3 -3
  409. package/dist/docs/api/types/type-aliases/ColorInput.md +1 -1
  410. package/dist/docs/api/types/type-aliases/ComponentInput.md +4 -4
  411. package/dist/docs/api/types/type-aliases/ComponentKind.md +1 -1
  412. package/dist/docs/api/types/type-aliases/DropdownInput.md +3 -3
  413. package/dist/docs/api/types/type-aliases/DropdownOption.md +3 -3
  414. package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +1 -1
  415. package/dist/docs/api/types/type-aliases/EcsEntityKind.md +10 -2
  416. package/dist/docs/api/types/type-aliases/EntityId.md +1 -1
  417. package/dist/docs/api/types/type-aliases/EntityInput.md +3 -3
  418. package/dist/docs/api/types/type-aliases/FloatInput.md +1 -1
  419. package/dist/docs/api/types/type-aliases/IntersectionResult.md +3 -3
  420. package/dist/docs/api/types/type-aliases/ParentLookup.md +3 -3
  421. package/dist/docs/api/types/type-aliases/SelectionListener.md +1 -1
  422. package/dist/docs/api/types/type-aliases/SliderInput.md +5 -5
  423. package/dist/docs/api/types/type-aliases/TextInput.md +1 -1
  424. package/dist/docs/api/types/type-aliases/ToggleInput.md +1 -1
  425. package/dist/docs/api/types/type-aliases/Vec3.md +1 -1
  426. package/dist/docs/api/types/type-aliases/Vector2Input.md +3 -3
  427. package/dist/docs/api/types/type-aliases/Vector3Input.md +4 -4
  428. package/dist/docs/api/types/type-aliases/WorldEntityView.md +1 -1
  429. package/dist/docs/guide/audio-mixing-and-sound-banks.md +71 -0
  430. package/dist/docs/guide/authoring-a-behaviour.md +3 -3
  431. package/dist/docs/guide/authoring-a-script-object.md +12 -9
  432. package/dist/docs/guide/behaviour-data-binding/index.md +11 -11
  433. package/dist/docs/guide/behaviour-lifecycle.md +9 -0
  434. package/dist/docs/guide/bone-attachments-and-ik.md +128 -0
  435. package/dist/docs/guide/component-catalog.md +10 -2
  436. package/dist/docs/guide/components/light.md +42 -0
  437. package/dist/docs/guide/components/model.md +32 -3
  438. package/dist/docs/guide/concepts.md +2 -2
  439. package/dist/docs/guide/getting-started/creating-objects.md +2 -2
  440. package/dist/docs/guide/getting-started/editing-objects.md +2 -2
  441. package/dist/docs/guide/getting-started/editor/ai-agent.md +227 -0
  442. package/dist/docs/guide/getting-started/editor/hierarchy.md +2 -2
  443. package/dist/docs/guide/getting-started/editor/index.md +3 -2
  444. package/dist/docs/guide/getting-started/editor/inspector.md +2 -2
  445. package/dist/docs/guide/getting-started/editor/scene-inspector.md +3 -3
  446. package/dist/docs/guide/getting-started/editor/toolbar.md +11 -11
  447. package/dist/docs/guide/getting-started/editor/viewport.md +17 -9
  448. package/dist/docs/guide/getting-started/index.md +1 -1
  449. package/dist/docs/guide/getting-started/installation.md +1 -1
  450. package/dist/docs/guide/getting-started/preview-and-test.md +7 -7
  451. package/dist/docs/guide/getting-started/project-types/image-tracking.md +23 -11
  452. package/dist/docs/guide/getting-started/project-types/index.md +4 -4
  453. package/dist/docs/guide/getting-started/project-types/vr.md +270 -2
  454. package/dist/docs/guide/getting-started/projects.md +4 -5
  455. package/dist/docs/guide/getting-started/shortcuts.md +5 -4
  456. package/dist/docs/guide/multiplayer.md +92 -0
  457. package/dist/docs/guide/scene/environment.md +101 -4
  458. package/dist/docs/guide/scene/index.md +4 -4
  459. package/dist/docs/guide/scene/postprocessing.md +67 -5
  460. package/dist/docs/guide/spatial-ui.md +83 -7
  461. package/dist/docs/guide/spawning/area-light.md +2 -0
  462. package/dist/docs/guide/systems/environment-sync-system.md +11 -6
  463. package/dist/docs/guide/systems/light-sync-system.md +5 -3
  464. package/dist/docs/guide/systems/postprocessing-sync-system.md +16 -6
  465. package/dist/docs/guide/systems/render-system.md +7 -6
  466. package/dist/docs/guide/systems/script-behaviour-system.md +7 -5
  467. package/dist/docs/guide/systems/script-object-system.md +3 -1
  468. package/dist/docs/guide/systems/video-system.md +1 -1
  469. package/dist/docs/guide/webgpu-and-tsl.md +415 -0
  470. package/dist/docs/guide/world-api.md +52 -2
  471. package/dist/factories/index.cjs +921 -283
  472. package/dist/factories/index.cjs.map +1 -1
  473. package/dist/factories/index.d.cts +14 -3
  474. package/dist/factories/index.d.ts +14 -3
  475. package/dist/factories/index.js +7 -4
  476. package/dist/{index-C3ik3sA1.d.ts → index-CAZHrh0q.d.cts} +28 -3
  477. package/dist/{index-Dlr-7-4m.d.cts → index-CLtSMf2M.d.ts} +28 -3
  478. package/dist/{index-D2Jt_JzH.d.ts → index-D5MmJNyj.d.ts} +161 -43
  479. package/dist/{index-DaG03vyN.d.cts → index-DiIjV2lm.d.cts} +161 -43
  480. package/dist/index.cjs +4959 -1414
  481. package/dist/index.cjs.map +1 -1
  482. package/dist/index.d.cts +113 -11
  483. package/dist/index.d.ts +113 -11
  484. package/dist/index.js +187 -12
  485. package/dist/index.js.map +1 -1
  486. package/dist/network/index.cjs +5069 -0
  487. package/dist/network/index.cjs.map +1 -0
  488. package/dist/network/index.d.cts +98 -0
  489. package/dist/network/index.d.ts +98 -0
  490. package/dist/network/index.js +493 -0
  491. package/dist/network/index.js.map +1 -0
  492. package/dist/systems/index.cjs +5319 -1957
  493. package/dist/systems/index.cjs.map +1 -1
  494. package/dist/systems/index.d.cts +4 -2
  495. package/dist/systems/index.d.ts +4 -2
  496. package/dist/systems/index.js +8 -4
  497. package/dist/types.d.cts +3 -1
  498. package/dist/types.d.ts +3 -1
  499. package/dist/webgpu/index.d.ts +113 -0
  500. package/dist/webgpu/index.js +302 -0
  501. package/dist/webgpu/index.js.map +1 -0
  502. package/dist/worldSnapshotUtils.d.cts +3 -1
  503. package/dist/worldSnapshotUtils.d.ts +3 -1
  504. package/dist/worldSnapshotUtils.js +3 -2
  505. package/package.json +19 -3
  506. package/dist/chunk-BUEKOSR5.js.map +0 -1
  507. package/dist/chunk-DF5SSRN6.js.map +0 -1
  508. package/dist/chunk-OWQSESTO.js.map +0 -1
  509. package/dist/chunk-OY7ZODZP.js.map +0 -1
  510. package/dist/chunk-RXBLOO5B.js.map +0 -1
  511. package/dist/chunk-WJD2VKEH.js +0 -315
  512. package/dist/chunk-WJD2VKEH.js.map +0 -1
@@ -0,0 +1,35 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / UIToggleOptions
6
+
7
+ # Type Alias: UIToggleOptions
8
+
9
+ ```ts
10
+ type UIToggleOptions = {
11
+ value?: boolean;
12
+ actionId?: string;
13
+ width?: number;
14
+ height?: number;
15
+ trackColor?: string;
16
+ accentColor?: string;
17
+ knobColor?: string;
18
+ };
19
+ ```
20
+
21
+ Defined in: [components/UIToggle.ts:4](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIToggle.ts#L4)
22
+
23
+ Optional initializer for [UIToggleComponent](../classes/UIToggleComponent.md).
24
+
25
+ ## Properties
26
+
27
+ | Property | Type | Defined in |
28
+ | ------ | ------ | ------ |
29
+ | <a id="value"></a> `value?` | `boolean` | [components/UIToggle.ts:5](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIToggle.ts#L5) |
30
+ | <a id="actionid"></a> `actionId?` | `string` | [components/UIToggle.ts:6](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIToggle.ts#L6) |
31
+ | <a id="width"></a> `width?` | `number` | [components/UIToggle.ts:7](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIToggle.ts#L7) |
32
+ | <a id="height"></a> `height?` | `number` | [components/UIToggle.ts:8](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIToggle.ts#L8) |
33
+ | <a id="trackcolor"></a> `trackColor?` | `string` | [components/UIToggle.ts:9](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIToggle.ts#L9) |
34
+ | <a id="accentcolor"></a> `accentColor?` | `string` | [components/UIToggle.ts:10](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIToggle.ts#L10) |
35
+ | <a id="knobcolor"></a> `knobColor?` | `string` | [components/UIToggle.ts:11](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIToggle.ts#L11) |
@@ -0,0 +1,15 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / UiFollowMode
6
+
7
+ # Type Alias: UiFollowMode
8
+
9
+ ```ts
10
+ type UiFollowMode = "world" | "billboard";
11
+ ```
12
+
13
+ Defined in: [components/UIPanel.ts:4](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIPanel.ts#L4)
14
+
15
+ How a panel orients itself while the experience runs.
@@ -0,0 +1,13 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / UiTextAlign
6
+
7
+ # Type Alias: UiTextAlign
8
+
9
+ ```ts
10
+ type UiTextAlign = "left" | "center" | "right";
11
+ ```
12
+
13
+ Defined in: [components/UIText.ts:3](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIText.ts#L3)
@@ -0,0 +1,13 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / UiTextVAlign
6
+
7
+ # Type Alias: UiTextVAlign
8
+
9
+ ```ts
10
+ type UiTextVAlign = "top" | "middle" | "bottom";
11
+ ```
12
+
13
+ Defined in: [components/UIText.ts:4](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/UIText.ts#L4)
@@ -0,0 +1,29 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / VRTeleportAreaOptions
6
+
7
+ # Type Alias: VRTeleportAreaOptions
8
+
9
+ ```ts
10
+ type VRTeleportAreaOptions = {
11
+ enabled?: boolean;
12
+ shape?: VrTeleportShape;
13
+ width?: number;
14
+ depth?: number;
15
+ };
16
+ ```
17
+
18
+ Defined in: [components/VRTeleportArea.ts:7](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/VRTeleportArea.ts#L7)
19
+
20
+ Optional initializer for [VRTeleportAreaComponent](../classes/VRTeleportAreaComponent.md).
21
+
22
+ ## Properties
23
+
24
+ | Property | Type | Description | Defined in |
25
+ | ------ | ------ | ------ | ------ |
26
+ | <a id="enabled"></a> `enabled?` | `boolean` | Disable to keep the area authored but inert. | [components/VRTeleportArea.ts:9](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/VRTeleportArea.ts#L9) |
27
+ | <a id="shape"></a> `shape?` | [`VrTeleportShape`](VrTeleportShape.md) | Footprint shape. | [components/VRTeleportArea.ts:11](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/VRTeleportArea.ts#L11) |
28
+ | <a id="width"></a> `width?` | `number` | Full width in metres (`plane`), or diameter (`circle`). | [components/VRTeleportArea.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/VRTeleportArea.ts#L13) |
29
+ | <a id="depth"></a> `depth?` | `number` | Full depth in metres. Ignored for `circle`, which uses `width`. | [components/VRTeleportArea.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/VRTeleportArea.ts#L15) |
@@ -14,7 +14,7 @@ type Vec3 = {
14
14
  };
15
15
  ```
16
16
 
17
- Defined in: [components/Transform.ts:10](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Transform.ts#L10)
17
+ Defined in: [components/Transform.ts:10](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Transform.ts#L10)
18
18
 
19
19
  Plain XYZ vector. All ECS transform fields use this shape rather than `THREE.Vector3` so they save cleanly with the project.
20
20
 
@@ -22,6 +22,6 @@ Plain XYZ vector. All ECS transform fields use this shape rather than `THREE.Vec
22
22
 
23
23
  | Property | Type | Description | Defined in |
24
24
  | ------ | ------ | ------ | ------ |
25
- | <a id="x"></a> `x` | `number` | X component. | [components/Transform.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Transform.ts#L12) |
26
- | <a id="y"></a> `y` | `number` | Y component. | [components/Transform.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Transform.ts#L14) |
27
- | <a id="z"></a> `z` | `number` | Z component. | [components/Transform.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Transform.ts#L16) |
25
+ | <a id="x"></a> `x` | `number` | X component. | [components/Transform.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Transform.ts#L12) |
26
+ | <a id="y"></a> `y` | `number` | Y component. | [components/Transform.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Transform.ts#L14) |
27
+ | <a id="z"></a> `z` | `number` | Z component. | [components/Transform.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Transform.ts#L16) |
@@ -0,0 +1,15 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / VrTeleportShape
6
+
7
+ # Type Alias: VrTeleportShape
8
+
9
+ ```ts
10
+ type VrTeleportShape = "plane" | "circle";
11
+ ```
12
+
13
+ Defined in: [components/VRTeleportArea.ts:4](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/VRTeleportArea.ts#L4)
14
+
15
+ Footprint of a teleport destination.
@@ -0,0 +1,23 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRAnchorOptions
6
+
7
+ # Type Alias: XRAnchorOptions
8
+
9
+ ```ts
10
+ type XRAnchorOptions = {
11
+ enabled?: boolean;
12
+ };
13
+ ```
14
+
15
+ Defined in: [components/XRAnchor.ts:4](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRAnchor.ts#L4)
16
+
17
+ Optional initializer for [XRAnchorComponent](../classes/XRAnchorComponent.md).
18
+
19
+ ## Properties
20
+
21
+ | Property | Type | Description | Defined in |
22
+ | ------ | ------ | ------ | ------ |
23
+ | <a id="enabled"></a> `enabled?` | `boolean` | Whether the entity should anchor at all. Defaults to `true`. | [components/XRAnchor.ts:6](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRAnchor.ts#L6) |
@@ -0,0 +1,23 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRHandPoseOptions
6
+
7
+ # Type Alias: XRHandPoseOptions
8
+
9
+ ```ts
10
+ type XRHandPoseOptions = {
11
+ enabled?: boolean;
12
+ poses?: XrHandPoseEntry[];
13
+ };
14
+ ```
15
+
16
+ Defined in: [components/XRHandPose.ts:47](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRHandPose.ts#L47)
17
+
18
+ ## Properties
19
+
20
+ | Property | Type | Defined in |
21
+ | ------ | ------ | ------ |
22
+ | <a id="enabled"></a> `enabled?` | `boolean` | [components/XRHandPose.ts:48](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRHandPose.ts#L48) |
23
+ | <a id="poses"></a> `poses?` | [`XrHandPoseEntry`](XrHandPoseEntry.md)[] | [components/XRHandPose.ts:49](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRHandPose.ts#L49) |
@@ -0,0 +1,75 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRInteractableOptions
6
+
7
+ # Type Alias: XRInteractableOptions
8
+
9
+ ```ts
10
+ type XRInteractableOptions = {
11
+ enabled?: boolean;
12
+ grabbable?: boolean;
13
+ pointable?: boolean;
14
+ grabReach?: XrGrabReach;
15
+ distanceBehavior?: XrDistanceGrabBehavior;
16
+ grabGesture?: XrGrabGesture;
17
+ grabRadius?: number;
18
+ grabOffsetPosition?: {
19
+ x: number;
20
+ y: number;
21
+ z: number;
22
+ };
23
+ grabOffsetRotation?: {
24
+ x: number;
25
+ y: number;
26
+ z: number;
27
+ };
28
+ grabHands?: XrGrabHands;
29
+ twoHandRotation?: XrTwoHandRotation;
30
+ allowTwoHandScale?: boolean;
31
+ minScale?: number;
32
+ maxScale?: number;
33
+ attachPoints?: XrAttachPoint[];
34
+ applyVelocityOnRelease?: boolean;
35
+ velocityScale?: number;
36
+ hoverBehavior?: XrHoverBehavior;
37
+ hoverColor?: string;
38
+ hoverScale?: number;
39
+ };
40
+ ```
41
+
42
+ Defined in: [components/XRInteractable.ts:77](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L77)
43
+
44
+ Optional initializer for [XRInteractableComponent](../classes/XRInteractableComponent.md).
45
+
46
+ ## Properties
47
+
48
+ | Property | Type | Description | Defined in |
49
+ | ------ | ------ | ------ | ------ |
50
+ | <a id="enabled"></a> `enabled?` | `boolean` | - | [components/XRInteractable.ts:78](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L78) |
51
+ | <a id="grabbable"></a> `grabbable?` | `boolean` | - | [components/XRInteractable.ts:79](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L79) |
52
+ | <a id="pointable"></a> `pointable?` | `boolean` | - | [components/XRInteractable.ts:80](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L80) |
53
+ | <a id="grabreach"></a> `grabReach?` | [`XrGrabReach`](XrGrabReach.md) | - | [components/XRInteractable.ts:81](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L81) |
54
+ | <a id="distancebehavior"></a> `distanceBehavior?` | [`XrDistanceGrabBehavior`](XrDistanceGrabBehavior.md) | - | [components/XRInteractable.ts:82](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L82) |
55
+ | <a id="grabgesture"></a> `grabGesture?` | [`XrGrabGesture`](XrGrabGesture.md) | - | [components/XRInteractable.ts:83](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L83) |
56
+ | <a id="grabradius"></a> `grabRadius?` | `number` | Metres within which a `physical` grab registers. | [components/XRInteractable.ts:85](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L85) |
57
+ | <a id="graboffsetposition"></a> `grabOffsetPosition?` | \{ `x`: `number`; `y`: `number`; `z`: `number`; \} | Where the object sits relative to the hand once held. | [components/XRInteractable.ts:87](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L87) |
58
+ | `grabOffsetPosition.x` | `number` | - | [components/XRInteractable.ts:87](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L87) |
59
+ | `grabOffsetPosition.y` | `number` | - | [components/XRInteractable.ts:87](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L87) |
60
+ | `grabOffsetPosition.z` | `number` | - | [components/XRInteractable.ts:87](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L87) |
61
+ | <a id="graboffsetrotation"></a> `grabOffsetRotation?` | \{ `x`: `number`; `y`: `number`; `z`: `number`; \} | Orientation offset, in radians. | [components/XRInteractable.ts:89](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L89) |
62
+ | `grabOffsetRotation.x` | `number` | - | [components/XRInteractable.ts:89](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L89) |
63
+ | `grabOffsetRotation.y` | `number` | - | [components/XRInteractable.ts:89](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L89) |
64
+ | `grabOffsetRotation.z` | `number` | - | [components/XRInteractable.ts:89](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L89) |
65
+ | <a id="grabhands"></a> `grabHands?` | [`XrGrabHands`](XrGrabHands.md) | How many hands may hold it, and whether a second grab transfers it. | [components/XRInteractable.ts:91](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L91) |
66
+ | <a id="twohandrotation"></a> `twoHandRotation?` | [`XrTwoHandRotation`](XrTwoHandRotation.md) | Whether the second hand aims the object or only scales it. | [components/XRInteractable.ts:93](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L93) |
67
+ | <a id="allowtwohandscale"></a> `allowTwoHandScale?` | `boolean` | Let a two-hand grab resize the object by moving the hands apart. | [components/XRInteractable.ts:95](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L95) |
68
+ | <a id="minscale"></a> `minScale?` | `number` | Smallest fraction of its size a single scaling gesture may reach. | [components/XRInteractable.ts:97](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L97) |
69
+ | <a id="maxscale"></a> `maxScale?` | `number` | Largest multiple of its size a single scaling gesture may reach. | [components/XRInteractable.ts:99](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L99) |
70
+ | <a id="attachpoints"></a> `attachPoints?` | [`XrAttachPoint`](XrAttachPoint.md)[] | Authored hand-holds. Empty means grab anywhere. | [components/XRInteractable.ts:101](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L101) |
71
+ | <a id="applyvelocityonrelease"></a> `applyVelocityOnRelease?` | `boolean` | Hand the object the velocity it was moving with when released. | [components/XRInteractable.ts:103](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L103) |
72
+ | <a id="velocityscale"></a> `velocityScale?` | `number` | Scales released velocity; >1 makes throws feel stronger than real life. | [components/XRInteractable.ts:105](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L105) |
73
+ | <a id="hoverbehavior"></a> `hoverBehavior?` | `XrHoverBehavior` | Feedback shown while a pointer is on the object. | [components/XRInteractable.ts:107](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L107) |
74
+ | <a id="hovercolor"></a> `hoverColor?` | `string` | Outline colour used by the `color` and `both` behaviours. | [components/XRInteractable.ts:109](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L109) |
75
+ | <a id="hoverscale"></a> `hoverScale?` | `number` | Size multiplier used by the `scale` and `both` behaviours. | [components/XRInteractable.ts:111](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L111) |
@@ -0,0 +1,37 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRInteractorOptions
6
+
7
+ # Type Alias: XRInteractorOptions
8
+
9
+ ```ts
10
+ type XRInteractorOptions = {
11
+ interactorType?: XrInteractorType;
12
+ handPreset?: XrHandPreset;
13
+ handColor?: string;
14
+ handOpacity?: number;
15
+ handEmissiveIntensity?: number;
16
+ rayVisibility?: XrRayVisibility;
17
+ rayColor?: string;
18
+ rayThickness?: number;
19
+ };
20
+ ```
21
+
22
+ Defined in: [components/XRInteractor.ts:41](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L41)
23
+
24
+ Optional initializer for [XRInteractorComponent](../classes/XRInteractorComponent.md).
25
+
26
+ ## Properties
27
+
28
+ | Property | Type | Description | Defined in |
29
+ | ------ | ------ | ------ | ------ |
30
+ | <a id="interactortype"></a> `interactorType?` | [`XrInteractorType`](XrInteractorType.md) | What to render at the hands. | [components/XRInteractor.ts:43](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L43) |
31
+ | <a id="handpreset"></a> `handPreset?` | [`XrHandPreset`](XrHandPreset.md) | Look for tracked-hand meshes. | [components/XRInteractor.ts:45](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L45) |
32
+ | <a id="handcolor"></a> `handColor?` | `string` | Tint applied by the preset (and by `custom`). | [components/XRInteractor.ts:47](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L47) |
33
+ | <a id="handopacity"></a> `handOpacity?` | `number` | 0-1; `ghost` leans on this. | [components/XRInteractor.ts:49](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L49) |
34
+ | <a id="handemissiveintensity"></a> `handEmissiveIntensity?` | `number` | Emissive strength, used by `neon`. | [components/XRInteractor.ts:51](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L51) |
35
+ | <a id="rayvisibility"></a> `rayVisibility?` | `XrRayVisibility` | When the pointer ray is drawn. | [components/XRInteractor.ts:54](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L54) |
36
+ | <a id="raycolor"></a> `rayColor?` | `string` | Pointer ray colour. | [components/XRInteractor.ts:56](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L56) |
37
+ | <a id="raythickness"></a> `rayThickness?` | `number` | Pointer ray thickness (diameter), metres. | [components/XRInteractor.ts:58](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L58) |
@@ -0,0 +1,51 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRRigOptions
6
+
7
+ # Type Alias: XRRigOptions
8
+
9
+ ```ts
10
+ type XRRigOptions = {
11
+ trackingOrigin?: XrTrackingOrigin;
12
+ locomotion?: XrLocomotionMode;
13
+ moveSpeed?: number;
14
+ snapTurn?: boolean;
15
+ snapTurnDegrees?: number;
16
+ fallbackEyeHeight?: number;
17
+ teleportArcColor?: string;
18
+ teleportArcInvalidColor?: string;
19
+ teleportArcThickness?: number;
20
+ passthrough?: boolean;
21
+ depthOcclusion?: boolean;
22
+ environmentPhysics?: XrEnvironmentPhysics;
23
+ environmentDebug?: boolean;
24
+ hitTest?: boolean;
25
+ anchors?: boolean;
26
+ };
27
+ ```
28
+
29
+ Defined in: [components/XRRig.ts:36](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L36)
30
+
31
+ Optional initializer for [XRRigComponent](../classes/XRRigComponent.md).
32
+
33
+ ## Properties
34
+
35
+ | Property | Type | Description | Defined in |
36
+ | ------ | ------ | ------ | ------ |
37
+ | <a id="trackingorigin"></a> `trackingOrigin?` | [`XrTrackingOrigin`](XrTrackingOrigin.md) | Where the headset origin sits. Defaults to `floor`. | [components/XRRig.ts:38](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L38) |
38
+ | <a id="locomotion"></a> `locomotion?` | [`XrLocomotionMode`](XrLocomotionMode.md) | Movement style. Defaults to `teleport` — the most comfort-safe option. | [components/XRRig.ts:40](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L40) |
39
+ | <a id="movespeed"></a> `moveSpeed?` | `number` | Metres/second for `smooth` locomotion. | [components/XRRig.ts:42](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L42) |
40
+ | <a id="snapturn"></a> `snapTurn?` | `boolean` | Rotate in fixed steps instead of continuously (greatly reduces nausea). | [components/XRRig.ts:44](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L44) |
41
+ | <a id="snapturndegrees"></a> `snapTurnDegrees?` | `number` | Degrees per snap-turn step. | [components/XRRig.ts:46](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L46) |
42
+ | <a id="fallbackeyeheight"></a> `fallbackEyeHeight?` | `number` | Height in metres used when the device reports no floor-relative space. | [components/XRRig.ts:48](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L48) |
43
+ | <a id="teleportarccolor"></a> `teleportArcColor?` | `string` | Teleport arc colour when it lands somewhere valid. | [components/XRRig.ts:50](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L50) |
44
+ | <a id="teleportarcinvalidcolor"></a> `teleportArcInvalidColor?` | `string` | Teleport arc colour when it lands nowhere teleportable. | [components/XRRig.ts:52](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L52) |
45
+ | <a id="teleportarcthickness"></a> `teleportArcThickness?` | `number` | Teleport arc thickness (diameter), metres. | [components/XRRig.ts:54](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L54) |
46
+ | <a id="passthrough"></a> `passthrough?` | `boolean` | Run the session in passthrough (`immersive-ar`) instead of VR. | [components/XRRig.ts:58](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L58) |
47
+ | <a id="depthocclusion"></a> `depthOcclusion?` | `boolean` | Let real objects occlude virtual ones, via WebXR depth sensing. | [components/XRRig.ts:60](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L60) |
48
+ | <a id="environmentphysics"></a> `environmentPhysics?` | [`XrEnvironmentPhysics`](XrEnvironmentPhysics.md) | Which detected real-world geometry becomes physics colliders. | [components/XRRig.ts:62](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L62) |
49
+ | <a id="environmentdebug"></a> `environmentDebug?` | `boolean` | Draw the detected room geometry on-device, for checking a scan. | [components/XRRig.ts:64](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L64) |
50
+ | <a id="hittest"></a> `hitTest?` | `boolean` | Allow scripts to raycast against the real room (`hit-test`). | [components/XRRig.ts:66](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L66) |
51
+ | <a id="anchors"></a> `anchors?` | `boolean` | Allow content to be pinned to real-world features (`anchors`). | [components/XRRig.ts:68](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L68) |
@@ -0,0 +1,53 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XrAttachPoint
6
+
7
+ # Type Alias: XrAttachPoint
8
+
9
+ ```ts
10
+ type XrAttachPoint = {
11
+ id: string;
12
+ name: string;
13
+ position: {
14
+ x: number;
15
+ y: number;
16
+ z: number;
17
+ };
18
+ rotation: {
19
+ x: number;
20
+ y: number;
21
+ z: number;
22
+ };
23
+ hand: "left" | "right" | "any";
24
+ role: "primary" | "secondary" | "any";
25
+ };
26
+ ```
27
+
28
+ Defined in: [components/XRInteractable.ts:40](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L40)
29
+
30
+ A hand-hold authored on the object.
31
+
32
+ Without attach points a hand grabs wherever it happens to touch, which is
33
+ right for a ball and wrong for a rifle — a weapon has a grip and a foregrip,
34
+ and the hands belong on those exact spots. `role` is what lets an author say
35
+ "this is the trigger hand's hold" so a two-hand grab assembles correctly no
36
+ matter which hand arrives first.
37
+
38
+ ## Properties
39
+
40
+ | Property | Type | Description | Defined in |
41
+ | ------ | ------ | ------ | ------ |
42
+ | <a id="id"></a> `id` | `string` | Stable id; referenced by scripts and by the inspector list. | [components/XRInteractable.ts:42](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L42) |
43
+ | <a id="name"></a> `name` | `string` | - | [components/XRInteractable.ts:43](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L43) |
44
+ | <a id="position"></a> `position` | \{ `x`: `number`; `y`: `number`; `z`: `number`; \} | Object-local position of the hold (unscaled). | [components/XRInteractable.ts:45](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L45) |
45
+ | `position.x` | `number` | - | [components/XRInteractable.ts:45](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L45) |
46
+ | `position.y` | `number` | - | [components/XRInteractable.ts:45](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L45) |
47
+ | `position.z` | `number` | - | [components/XRInteractable.ts:45](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L45) |
48
+ | <a id="rotation"></a> `rotation` | \{ `x`: `number`; `y`: `number`; `z`: `number`; \} | Object-local orientation of the hold, radians. | [components/XRInteractable.ts:47](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L47) |
49
+ | `rotation.x` | `number` | - | [components/XRInteractable.ts:47](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L47) |
50
+ | `rotation.y` | `number` | - | [components/XRInteractable.ts:47](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L47) |
51
+ | `rotation.z` | `number` | - | [components/XRInteractable.ts:47](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L47) |
52
+ | <a id="hand"></a> `hand` | `"left"` \| `"right"` \| `"any"` | Restrict to one hand, or `any`. | [components/XRInteractable.ts:49](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L49) |
53
+ | <a id="role"></a> `role` | `"primary"` \| `"secondary"` \| `"any"` | Whether this hold is the anchoring hand, the steering hand, or either. | [components/XRInteractable.ts:51](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L51) |
@@ -0,0 +1,19 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XrDistanceGrabBehavior
6
+
7
+ # Type Alias: XrDistanceGrabBehavior
8
+
9
+ ```ts
10
+ type XrDistanceGrabBehavior = "snap" | "remote";
11
+ ```
12
+
13
+ Defined in: [components/XRInteractable.ts:20](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L20)
14
+
15
+ What a distance grab does to the object.
16
+
17
+ `snap` brings it to the hand (Half-Life: Alyx style — good for picking things
18
+ up). `remote` leaves it where it is and manipulates it at range, which suits
19
+ large or anchored objects that would look absurd flying into your palm.
@@ -0,0 +1,15 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XrEnvironmentKind
6
+
7
+ # Type Alias: XrEnvironmentKind
8
+
9
+ ```ts
10
+ type XrEnvironmentKind = "plane" | "mesh";
11
+ ```
12
+
13
+ Defined in: [components/XREnvironment.ts:4](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XREnvironment.ts#L4)
14
+
15
+ Which WebXR module reported this piece of the room.
@@ -0,0 +1,15 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XrEnvironmentOrientation
6
+
7
+ # Type Alias: XrEnvironmentOrientation
8
+
9
+ ```ts
10
+ type XrEnvironmentOrientation = "horizontal" | "vertical";
11
+ ```
12
+
13
+ Defined in: [components/XREnvironment.ts:7](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XREnvironment.ts#L7)
14
+
15
+ How a detected plane sits in the world, when the runtime says.
@@ -0,0 +1,25 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XrEnvironmentPhysics
6
+
7
+ # Type Alias: XrEnvironmentPhysics
8
+
9
+ ```ts
10
+ type XrEnvironmentPhysics = "none" | "planes" | "mesh" | "auto";
11
+ ```
12
+
13
+ Defined in: [components/XRRig.ts:33](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L33)
14
+
15
+ Which real-world geometry becomes physics colliders in a passthrough session.
16
+
17
+ `planes` uses the flat surfaces the headset detects (floor, walls, desks) —
18
+ cheap, and available on more devices. `mesh` uses the full room scan, which is
19
+ far more faithful (chair legs, clutter) but only exists where the runtime
20
+ grants `mesh-detection`. `auto` takes the mesh when it is granted and quietly
21
+ falls back to planes.
22
+
23
+ `none` is the default because BOTH options make the headset ask the user for
24
+ permission to share a scan of their room — a prompt no project should trigger
25
+ unless it actually uses the result.
@@ -0,0 +1,19 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XrGrabGesture
6
+
7
+ # Type Alias: XrGrabGesture
8
+
9
+ ```ts
10
+ type XrGrabGesture = "any" | "pinch" | "full";
11
+ ```
12
+
13
+ Defined in: [components/XRInteractable.ts:29](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L29)
14
+
15
+ Which gesture grabs the object.
16
+
17
+ `pinch` maps to the primary action (trigger / finger pinch), `full` to the
18
+ grip squeeze (whole-hand close). Distinguishing them lets a scene mix
19
+ precise pickups with firm grabs — a chess piece versus a suitcase handle.
@@ -0,0 +1,20 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XrGrabHands
6
+
7
+ # Type Alias: XrGrabHands
8
+
9
+ ```ts
10
+ type XrGrabHands = "single" | "handOff" | "two";
11
+ ```
12
+
13
+ Defined in: [components/XRInteractable.ts:62](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L62)
14
+
15
+ How many hands may hold the object at once, and what a second grab does.
16
+
17
+ `single` is a plain pickup. `handOff` lets the other hand TAKE it — the
18
+ everyday gesture of passing something between your hands. `two` keeps both
19
+ hands on it, which is what enables aiming a two-handed weapon and
20
+ pull-apart scaling.
@@ -0,0 +1,20 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XrGrabReach
6
+
7
+ # Type Alias: XrGrabReach
8
+
9
+ ```ts
10
+ type XrGrabReach = "physical" | "distance" | "both";
11
+ ```
12
+
13
+ Defined in: [components/XRInteractable.ts:11](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L11)
14
+
15
+ How close the user must be to grab.
16
+
17
+ `physical` requires the hand to actually reach the object — the honest,
18
+ embodied interaction. `distance` allows grabbing across the room along the
19
+ pointer ray, which is what makes seated and room-scale play comfortable.
20
+ `both` accepts either, and is the friendliest default.