@relu-interactives/spatial-ecs 0.5.2 → 0.8.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 (511) 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-G0Dl-F0w.d.ts} +93 -3
  4. package/dist/{XRHandPose-CQTLGxFC.d.cts → XRHandPose-VQMT1WXj.d.cts} +93 -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-G4XJ53LS.js +1237 -0
  14. package/dist/chunk-G4XJ53LS.js.map +1 -0
  15. package/dist/chunk-GSWC6LLD.js +241 -0
  16. package/dist/chunk-GSWC6LLD.js.map +1 -0
  17. package/dist/{chunk-DF5SSRN6.js → chunk-JIJQFW6P.js} +1216 -2920
  18. package/dist/chunk-JIJQFW6P.js.map +1 -0
  19. package/dist/{chunk-BUEKOSR5.js → chunk-NNDUOQ7O.js} +188 -14
  20. package/dist/chunk-NNDUOQ7O.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-RXBLOO5B.js → chunk-SGF73YTF.js} +105 -715
  24. package/dist/chunk-SGF73YTF.js.map +1 -0
  25. package/dist/chunk-U727NTWQ.js +2856 -0
  26. package/dist/chunk-U727NTWQ.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 +183 -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/spawning/area-light.md +2 -0
  461. package/dist/docs/guide/systems/environment-sync-system.md +11 -6
  462. package/dist/docs/guide/systems/light-sync-system.md +5 -3
  463. package/dist/docs/guide/systems/postprocessing-sync-system.md +16 -6
  464. package/dist/docs/guide/systems/render-system.md +7 -6
  465. package/dist/docs/guide/systems/script-behaviour-system.md +7 -5
  466. package/dist/docs/guide/systems/script-object-system.md +3 -1
  467. package/dist/docs/guide/systems/video-system.md +1 -1
  468. package/dist/docs/guide/webgpu-and-tsl.md +415 -0
  469. package/dist/docs/guide/world-api.md +52 -2
  470. package/dist/factories/index.cjs +770 -283
  471. package/dist/factories/index.cjs.map +1 -1
  472. package/dist/factories/index.d.cts +14 -3
  473. package/dist/factories/index.d.ts +14 -3
  474. package/dist/factories/index.js +7 -4
  475. package/dist/{index-D2Jt_JzH.d.ts → index-C61n65PE.d.ts} +135 -42
  476. package/dist/{index-DaG03vyN.d.cts → index-C70N4BYG.d.cts} +135 -42
  477. package/dist/{index-C3ik3sA1.d.ts → index-D9DjrUn3.d.cts} +25 -3
  478. package/dist/{index-Dlr-7-4m.d.cts → index-DppafVu4.d.ts} +25 -3
  479. package/dist/index.cjs +3642 -1263
  480. package/dist/index.cjs.map +1 -1
  481. package/dist/index.d.cts +113 -11
  482. package/dist/index.d.ts +113 -11
  483. package/dist/index.js +187 -12
  484. package/dist/index.js.map +1 -1
  485. package/dist/network/index.cjs +4896 -0
  486. package/dist/network/index.cjs.map +1 -0
  487. package/dist/network/index.d.cts +98 -0
  488. package/dist/network/index.d.ts +98 -0
  489. package/dist/network/index.js +493 -0
  490. package/dist/network/index.js.map +1 -0
  491. package/dist/systems/index.cjs +3958 -1762
  492. package/dist/systems/index.cjs.map +1 -1
  493. package/dist/systems/index.d.cts +4 -2
  494. package/dist/systems/index.d.ts +4 -2
  495. package/dist/systems/index.js +8 -4
  496. package/dist/types.d.cts +3 -1
  497. package/dist/types.d.ts +3 -1
  498. package/dist/webgpu/index.d.ts +113 -0
  499. package/dist/webgpu/index.js +302 -0
  500. package/dist/webgpu/index.js.map +1 -0
  501. package/dist/worldSnapshotUtils.d.cts +3 -1
  502. package/dist/worldSnapshotUtils.d.ts +3 -1
  503. package/dist/worldSnapshotUtils.js +3 -2
  504. package/package.json +19 -3
  505. package/dist/chunk-BUEKOSR5.js.map +0 -1
  506. package/dist/chunk-DF5SSRN6.js.map +0 -1
  507. package/dist/chunk-OWQSESTO.js.map +0 -1
  508. package/dist/chunk-OY7ZODZP.js.map +0 -1
  509. package/dist/chunk-RXBLOO5B.js.map +0 -1
  510. package/dist/chunk-WJD2VKEH.js +0 -315
  511. package/dist/chunk-WJD2VKEH.js.map +0 -1
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: ObjectVisibilitySystem
8
8
 
9
- Defined in: [systems/ObjectVisibilitySystem.ts:5](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ObjectVisibilitySystem.ts#L5)
9
+ Defined in: [systems/ObjectVisibilitySystem.ts:5](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ObjectVisibilitySystem.ts#L5)
10
10
 
11
11
  ## Implements
12
12
 
@@ -32,7 +32,7 @@ new ObjectVisibilitySystem(): ObjectVisibilitySystem;
32
32
  update(world): void;
33
33
  ```
34
34
 
35
- Defined in: [systems/ObjectVisibilitySystem.ts:6](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ObjectVisibilitySystem.ts#L6)
35
+ Defined in: [systems/ObjectVisibilitySystem.ts:6](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ObjectVisibilitySystem.ts#L6)
36
36
 
37
37
  #### Parameters
38
38
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: PhysicsSyncSystem
8
8
 
9
- Defined in: [systems/PhysicsSyncSystem.ts:352](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/PhysicsSyncSystem.ts#L352)
9
+ Defined in: [systems/PhysicsSyncSystem.ts:352](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/PhysicsSyncSystem.ts#L352)
10
10
 
11
11
  ## Implements
12
12
 
@@ -20,7 +20,7 @@ Defined in: [systems/PhysicsSyncSystem.ts:352](https://github.com/Relu-Interacti
20
20
  new PhysicsSyncSystem(options?): PhysicsSyncSystem;
21
21
  ```
22
22
 
23
- Defined in: [systems/PhysicsSyncSystem.ts:362](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/PhysicsSyncSystem.ts#L362)
23
+ Defined in: [systems/PhysicsSyncSystem.ts:362](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/PhysicsSyncSystem.ts#L362)
24
24
 
25
25
  #### Parameters
26
26
 
@@ -41,7 +41,7 @@ Defined in: [systems/PhysicsSyncSystem.ts:362](https://github.com/Relu-Interacti
41
41
  update(world, deltaTime): void;
42
42
  ```
43
43
 
44
- Defined in: [systems/PhysicsSyncSystem.ts:416](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/PhysicsSyncSystem.ts#L416)
44
+ Defined in: [systems/PhysicsSyncSystem.ts:416](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/PhysicsSyncSystem.ts#L416)
45
45
 
46
46
  #### Parameters
47
47
 
@@ -66,7 +66,7 @@ Defined in: [systems/PhysicsSyncSystem.ts:416](https://github.com/Relu-Interacti
66
66
  dispose(world): void;
67
67
  ```
68
68
 
69
- Defined in: [systems/PhysicsSyncSystem.ts:642](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/PhysicsSyncSystem.ts#L642)
69
+ Defined in: [systems/PhysicsSyncSystem.ts:681](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/PhysicsSyncSystem.ts#L681)
70
70
 
71
71
  #### Parameters
72
72
 
@@ -6,7 +6,29 @@
6
6
 
7
7
  # Class: PostprocessingSyncSystem
8
8
 
9
- Defined in: [systems/PostprocessingSyncSystem.ts:20](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/PostprocessingSyncSystem.ts#L20)
9
+ Defined in: [systems/PostprocessingSyncSystem.ts:39](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/PostprocessingSyncSystem.ts#L39)
10
+
11
+ Builds the post-processing chain from the scene's [Postprocessing](../../components/classes/Postprocessing.md)
12
+ component and hands it to `RenderSystem` through `scene.userData`:
13
+
14
+ - `ecsPostprocessingComposer` — the built chain (`render()`, `dispose()`,
15
+ optional `setSize()` / `setPixelRatio()`). On WebGL it is the
16
+ `EffectComposer` itself.
17
+ - `ecsPostprocessingComposerActive` — `true` while `RenderSystem` should
18
+ render through it.
19
+ - `ecsPostprocessing` — the values the chain was built from.
20
+
21
+ The chain itself comes from the world's render backend: an
22
+ `EffectComposer` on WebGL (pass order: scene render → depth of field →
23
+ bloom → vignette → hue/saturation → sepia → film noise → dot screen →
24
+ SSAO → glitch → chromatic aberration → pixelation → SMAA → output), a
25
+ `RenderPipeline` of TSL nodes with `webgpuBackend`. A backend that can
26
+ update a chain in place (the WebGPU one) skips the rebuild when only
27
+ parameters changed.
28
+
29
+ The `toneMapping` effect has no pass of its own: when active it asks the
30
+ renderer for tone mapping, which the chain's output step then applies. See
31
+ `Environment.values.lighting.toneMapping` for how the two combine.
10
32
 
11
33
  ## Implements
12
34
 
@@ -20,18 +42,20 @@ Defined in: [systems/PostprocessingSyncSystem.ts:20](https://github.com/Relu-Int
20
42
  new PostprocessingSyncSystem(
21
43
  renderer,
22
44
  scene,
23
- camera): PostprocessingSyncSystem;
45
+ camera,
46
+ backend?): PostprocessingSyncSystem;
24
47
  ```
25
48
 
26
- Defined in: [systems/PostprocessingSyncSystem.ts:28](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/PostprocessingSyncSystem.ts#L28)
49
+ Defined in: [systems/PostprocessingSyncSystem.ts:54](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/PostprocessingSyncSystem.ts#L54)
27
50
 
28
51
  #### Parameters
29
52
 
30
- | Parameter | Type |
31
- | ------ | ------ |
32
- | `renderer` | `WebGLRenderer` |
33
- | `scene` | `Scene` |
34
- | `camera` | `PerspectiveCamera` |
53
+ | Parameter | Type | Description |
54
+ | ------ | ------ | ------ |
55
+ | `renderer` | [`EcsRenderer`](../type-aliases/EcsRenderer.md) | - |
56
+ | `scene` | `Scene` | - |
57
+ | `camera` | `PerspectiveCamera` | - |
58
+ | `backend?` | [`RenderBackend`](../interfaces/RenderBackend.md) | Builds the chain. When omitted, the world's backend (`world.getRenderBackend()`) is used. |
35
59
 
36
60
  #### Returns
37
61
 
@@ -45,7 +69,7 @@ Defined in: [systems/PostprocessingSyncSystem.ts:28](https://github.com/Relu-Int
45
69
  update(world): void;
46
70
  ```
47
71
 
48
- Defined in: [systems/PostprocessingSyncSystem.ts:170](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/PostprocessingSyncSystem.ts#L170)
72
+ Defined in: [systems/PostprocessingSyncSystem.ts:156](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/PostprocessingSyncSystem.ts#L156)
49
73
 
50
74
  #### Parameters
51
75
 
@@ -69,7 +93,7 @@ Defined in: [systems/PostprocessingSyncSystem.ts:170](https://github.com/Relu-In
69
93
  dispose(): void;
70
94
  ```
71
95
 
72
- Defined in: [systems/PostprocessingSyncSystem.ts:197](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/PostprocessingSyncSystem.ts#L197)
96
+ Defined in: [systems/PostprocessingSyncSystem.ts:186](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/PostprocessingSyncSystem.ts#L186)
73
97
 
74
98
  #### Returns
75
99
 
@@ -6,7 +6,16 @@
6
6
 
7
7
  # Class: RenderSystem
8
8
 
9
- Defined in: [systems/RenderSystem.ts:6](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/RenderSystem.ts#L6)
9
+ Defined in: [systems/RenderSystem.ts:31](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/RenderSystem.ts#L31)
10
+
11
+ Draws the frame: through the post-processing chain in
12
+ `scene.userData.ecsPostprocessingComposer` while
13
+ `scene.userData.ecsPostprocessingComposerActive` is `true`, otherwise with
14
+ `renderer.render(scene, camera)`. Runs last in the default system list.
15
+
16
+ Works with `WebGLRenderer` and `WebGPURenderer`. A `WebGPURenderer` must be
17
+ initialised (`await renderer.init()`) first; until it is, frames are
18
+ skipped with a single warning instead of throwing.
10
19
 
11
20
  ## Implements
12
21
 
@@ -24,13 +33,13 @@ new RenderSystem(
24
33
  afterRender?): RenderSystem;
25
34
  ```
26
35
 
27
- Defined in: [systems/RenderSystem.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/RenderSystem.ts#L12)
36
+ Defined in: [systems/RenderSystem.ts:43](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/RenderSystem.ts#L43)
28
37
 
29
38
  #### Parameters
30
39
 
31
40
  | Parameter | Type |
32
41
  | ------ | ------ |
33
- | `renderer` | `WebGLRenderer` |
42
+ | `renderer` | [`EcsRenderer`](../type-aliases/EcsRenderer.md) |
34
43
  | `scene` | `Scene` |
35
44
  | `camera` | `PerspectiveCamera` |
36
45
  | `afterRender?` | () => `void` |
@@ -47,7 +56,7 @@ Defined in: [systems/RenderSystem.ts:12](https://github.com/Relu-Interactives/re
47
56
  update(_world): void;
48
57
  ```
49
58
 
50
- Defined in: [systems/RenderSystem.ts:24](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/RenderSystem.ts#L24)
59
+ Defined in: [systems/RenderSystem.ts:119](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/RenderSystem.ts#L119)
51
60
 
52
61
  #### Parameters
53
62
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: ScriptBehaviourSystem
8
8
 
9
- Defined in: [systems/ScriptBehaviourSystem.ts:111](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptBehaviourSystem.ts#L111)
9
+ Defined in: [systems/ScriptBehaviourSystem.ts:131](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptBehaviourSystem.ts#L131)
10
10
 
11
11
  ## Implements
12
12
 
@@ -17,10 +17,13 @@ Defined in: [systems/ScriptBehaviourSystem.ts:111](https://github.com/Relu-Inter
17
17
  ### Constructor
18
18
 
19
19
  ```ts
20
- new ScriptBehaviourSystem(moduleLoader?, selectionContext?): ScriptBehaviourSystem;
20
+ new ScriptBehaviourSystem(
21
+ moduleLoader?,
22
+ selectionContext?,
23
+ options?): ScriptBehaviourSystem;
21
24
  ```
22
25
 
23
- Defined in: [systems/ScriptBehaviourSystem.ts:126](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptBehaviourSystem.ts#L126)
26
+ Defined in: [systems/ScriptBehaviourSystem.ts:151](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptBehaviourSystem.ts#L151)
24
27
 
25
28
  #### Parameters
26
29
 
@@ -28,6 +31,7 @@ Defined in: [systems/ScriptBehaviourSystem.ts:126](https://github.com/Relu-Inter
28
31
  | ------ | ------ |
29
32
  | `moduleLoader?` | [`ModuleLoader`](../type-aliases/ModuleLoader.md) |
30
33
  | `selectionContext?` | [`SelectionContext`](../type-aliases/SelectionContext.md) |
34
+ | `options?` | [`ScriptBehaviourSystemOptions`](../type-aliases/ScriptBehaviourSystemOptions.md) |
31
35
 
32
36
  #### Returns
33
37
 
@@ -41,7 +45,7 @@ Defined in: [systems/ScriptBehaviourSystem.ts:126](https://github.com/Relu-Inter
41
45
  update(world, deltaTime): void;
42
46
  ```
43
47
 
44
- Defined in: [systems/ScriptBehaviourSystem.ts:224](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptBehaviourSystem.ts#L224)
48
+ Defined in: [systems/ScriptBehaviourSystem.ts:286](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptBehaviourSystem.ts#L286)
45
49
 
46
50
  #### Parameters
47
51
 
@@ -66,7 +70,7 @@ Defined in: [systems/ScriptBehaviourSystem.ts:224](https://github.com/Relu-Inter
66
70
  dispose(world): void;
67
71
  ```
68
72
 
69
- Defined in: [systems/ScriptBehaviourSystem.ts:411](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptBehaviourSystem.ts#L411)
73
+ Defined in: [systems/ScriptBehaviourSystem.ts:512](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptBehaviourSystem.ts#L512)
70
74
 
71
75
  #### Parameters
72
76
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: ScriptObject
8
8
 
9
- Defined in: [ScriptObject.ts:51](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L51)
9
+ Defined in: [ScriptObject.ts:51](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L51)
10
10
 
11
11
  Base class for **script objects** — entities whose THREE.js visual is built
12
12
  entirely by user code (procedural geometry, shaders, particle systems,
@@ -64,7 +64,7 @@ new ScriptObject(
64
64
  data?): ScriptObject;
65
65
  ```
66
66
 
67
- Defined in: [ScriptObject.ts:84](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L84)
67
+ Defined in: [ScriptObject.ts:84](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L84)
68
68
 
69
69
  Engine-managed constructor. `ScriptObjectSystem` instantiates subclasses
70
70
  with the owning world, the entity id, and the component's `data`. User code
@@ -86,11 +86,11 @@ should not call this directly.
86
86
 
87
87
  | Property | Modifier | Type | Default value | Description | Defined in |
88
88
  | ------ | ------ | ------ | ------ | ------ | ------ |
89
- | <a id="__reluscriptobjectclass"></a> `__reluScriptObjectClass` | `readonly` | `true` | `undefined` | Static marker used by `ScriptObjectSystem` to detect `ScriptObject` subclasses even when a bundler ships a second copy of the package into the script blob (breaking `instanceof`). Do NOT override. | [ScriptObject.ts:57](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L57) |
90
- | <a id="data"></a> `data` | `public` | `Record`\<`string`, `unknown`\> | `{}` | The script's data payload (the `ScriptObjectComponent.data`). Declare a concrete shape on subclasses with `declare data: MyShape` for type safety. Use the same typed input envelopes as Behaviours (`ColorInput`, `SliderInput`, `EntityInput`, …) to get inspector fields. | [ScriptObject.ts:65](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L65) |
91
- | <a id="world"></a> `world` | `public` | [`World`](World.md) | `undefined` | The owning ECS world. | [ScriptObject.ts:68](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L68) |
92
- | <a id="entityid"></a> `entityId` | `public` | `number` | `undefined` | The entity this script object is bound to. | [ScriptObject.ts:71](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L71) |
93
- | <a id="root"></a> `root` | `public` | `Object3D`\<`Object3DEventMap`\> \| `null` | `null` | The Object3D returned by [ScriptObject.build](#build). Assigned by `ScriptObjectSystem` after `build()` runs; `null` until then. | [ScriptObject.ts:77](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L77) |
89
+ | <a id="__reluscriptobjectclass"></a> `__reluScriptObjectClass` | `readonly` | `true` | `undefined` | Static marker used by `ScriptObjectSystem` to detect `ScriptObject` subclasses even when a bundler ships a second copy of the package into the script blob (breaking `instanceof`). Do NOT override. | [ScriptObject.ts:57](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L57) |
90
+ | <a id="data"></a> `data` | `public` | `Record`\<`string`, `unknown`\> | `{}` | The script's data payload (the `ScriptObjectComponent.data`). Declare a concrete shape on subclasses with `declare data: MyShape` for type safety. Use the same typed input envelopes as Behaviours (`ColorInput`, `SliderInput`, `EntityInput`, …) to get inspector fields. | [ScriptObject.ts:65](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L65) |
91
+ | <a id="world"></a> `world` | `public` | [`World`](World.md) | `undefined` | The owning ECS world. | [ScriptObject.ts:68](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L68) |
92
+ | <a id="entityid"></a> `entityId` | `public` | `number` | `undefined` | The entity this script object is bound to. | [ScriptObject.ts:71](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L71) |
93
+ | <a id="root"></a> `root` | `public` | `Object3D`\<`Object3DEventMap`\> \| `null` | `null` | The Object3D returned by [ScriptObject.build](#build). Assigned by `ScriptObjectSystem` after `build()` runs; `null` until then. | [ScriptObject.ts:77](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L77) |
94
94
 
95
95
  ## Methods
96
96
 
@@ -100,7 +100,7 @@ should not call this directly.
100
100
  build(): Object3D;
101
101
  ```
102
102
 
103
- Defined in: [ScriptObject.ts:96](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L96)
103
+ Defined in: [ScriptObject.ts:96](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L96)
104
104
 
105
105
  REQUIRED — build and return the visual root. Called once by
106
106
  `ScriptObjectSystem` after construction. The returned object is attached
@@ -119,7 +119,7 @@ and visibility). Subclasses MUST override.
119
119
  optional update(deltaTime): void;
120
120
  ```
121
121
 
122
- Defined in: [ScriptObject.ts:106](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L106)
122
+ Defined in: [ScriptObject.ts:106](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L106)
123
123
 
124
124
  OPTIONAL — per-frame hook. Runs in the editor AND at runtime (e.g. advance
125
125
  a shader time uniform, procedural animation). Keep per-frame work on local
@@ -144,7 +144,7 @@ churns the editor's undo history).
144
144
  optional dispose(): void;
145
145
  ```
146
146
 
147
- Defined in: [ScriptObject.ts:114](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/ScriptObject.ts#L114)
147
+ Defined in: [ScriptObject.ts:114](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/ScriptObject.ts#L114)
148
148
 
149
149
  OPTIONAL — free any GPU resources this script created (geometries,
150
150
  materials, textures, render targets). Called by `ScriptObjectSystem` when
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: ScriptObjectSystem
8
8
 
9
- Defined in: [systems/ScriptObjectSystem.ts:97](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptObjectSystem.ts#L97)
9
+ Defined in: [systems/ScriptObjectSystem.ts:101](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptObjectSystem.ts#L101)
10
10
 
11
11
  Builds, ticks, and disposes [ScriptObject](ScriptObject.md) scripts. Unlike
12
12
  `ScriptBehaviourSystem`, this runs in the editor AND at runtime — there is NO
@@ -29,7 +29,7 @@ Construct it and pass it to `World.setup({ systems })`.
29
29
  new ScriptObjectSystem(moduleLoader?): ScriptObjectSystem;
30
30
  ```
31
31
 
32
- Defined in: [systems/ScriptObjectSystem.ts:104](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptObjectSystem.ts#L104)
32
+ Defined in: [systems/ScriptObjectSystem.ts:110](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptObjectSystem.ts#L110)
33
33
 
34
34
  #### Parameters
35
35
 
@@ -49,7 +49,7 @@ Defined in: [systems/ScriptObjectSystem.ts:104](https://github.com/Relu-Interact
49
49
  update(world, deltaTime): void;
50
50
  ```
51
51
 
52
- Defined in: [systems/ScriptObjectSystem.ts:108](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptObjectSystem.ts#L108)
52
+ Defined in: [systems/ScriptObjectSystem.ts:114](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptObjectSystem.ts#L114)
53
53
 
54
54
  #### Parameters
55
55
 
@@ -74,7 +74,7 @@ Defined in: [systems/ScriptObjectSystem.ts:108](https://github.com/Relu-Interact
74
74
  invalidateAll(): void;
75
75
  ```
76
76
 
77
- Defined in: [systems/ScriptObjectSystem.ts:407](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptObjectSystem.ts#L407)
77
+ Defined in: [systems/ScriptObjectSystem.ts:441](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptObjectSystem.ts#L441)
78
78
 
79
79
  Dispose all live instances so the next update() reloads with fresh modules.
80
80
 
@@ -90,7 +90,7 @@ Dispose all live instances so the next update() reloads with fresh modules.
90
90
  invalidate(scriptUrl): void;
91
91
  ```
92
92
 
93
- Defined in: [systems/ScriptObjectSystem.ts:422](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptObjectSystem.ts#L422)
93
+ Defined in: [systems/ScriptObjectSystem.ts:458](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptObjectSystem.ts#L458)
94
94
 
95
95
  Invalidate only the entities whose script matches `scriptUrl`.
96
96
 
@@ -112,7 +112,7 @@ Invalidate only the entities whose script matches `scriptUrl`.
112
112
  dispose(world): void;
113
113
  ```
114
114
 
115
- Defined in: [systems/ScriptObjectSystem.ts:439](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/ScriptObjectSystem.ts#L439)
115
+ Defined in: [systems/ScriptObjectSystem.ts:476](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/ScriptObjectSystem.ts#L476)
116
116
 
117
117
  #### Parameters
118
118
 
@@ -0,0 +1,114 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [index](../index.md) / TeleportAimGate
6
+
7
+ # Class: TeleportAimGate
8
+
9
+ Defined in: [xr/teleportAimGate.ts:17](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/xr/teleportAimGate.ts#L17)
10
+
11
+ Decides when a teleport may actually commit.
12
+
13
+ Teleport commits on RELEASE so the user can cancel by aiming away — the
14
+ standard interaction. The trap is that a release edge alone is not evidence
15
+ of intent: on hand tracking the SAME pinch drives grabbing, so the release
16
+ that drops an object looks identical to the release that ends a teleport aim.
17
+ Without this gate, letting go of a grabbed object teleports the player
18
+ whenever the arc happens to land somewhere valid — and passing an object
19
+ between hands does it too.
20
+
21
+ The rule is simply: a release only commits if this source engaged an aim
22
+ first, and going busy (grabbing) discards any aim it had engaged.
23
+
24
+ Keyed per input source so the two hands are independent.
25
+
26
+ ## Constructors
27
+
28
+ ### Constructor
29
+
30
+ ```ts
31
+ new TeleportAimGate(): TeleportAimGate;
32
+ ```
33
+
34
+ #### Returns
35
+
36
+ `TeleportAimGate`
37
+
38
+ ## Methods
39
+
40
+ ### update()
41
+
42
+ ```ts
43
+ update(
44
+ source,
45
+ aiming,
46
+ releasing): boolean;
47
+ ```
48
+
49
+ Defined in: [xr/teleportAimGate.ts:25](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/xr/teleportAimGate.ts#L25)
50
+
51
+ Feed one frame for one source.
52
+
53
+ #### Parameters
54
+
55
+ | Parameter | Type |
56
+ | ------ | ------ |
57
+ | `source` | `object` |
58
+ | `aiming` | `boolean` |
59
+ | `releasing` | `boolean` |
60
+
61
+ #### Returns
62
+
63
+ `boolean`
64
+
65
+ whether the teleport should commit this frame.
66
+
67
+ ***
68
+
69
+ ### isAiming()
70
+
71
+ ```ts
72
+ isAiming(source): boolean;
73
+ ```
74
+
75
+ Defined in: [xr/teleportAimGate.ts:42](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/xr/teleportAimGate.ts#L42)
76
+
77
+ True if this source currently has an aim engaged.
78
+
79
+ #### Parameters
80
+
81
+ | Parameter | Type |
82
+ | ------ | ------ |
83
+ | `source` | `object` |
84
+
85
+ #### Returns
86
+
87
+ `boolean`
88
+
89
+ ***
90
+
91
+ ### cancel()
92
+
93
+ ```ts
94
+ cancel(source): boolean;
95
+ ```
96
+
97
+ Defined in: [xr/teleportAimGate.ts:54](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/xr/teleportAimGate.ts#L54)
98
+
99
+ Drop a source's aim without committing.
100
+
101
+ Called when a hand starts interacting, so the release that ends the grab
102
+ cannot cash in an aim engaged before it.
103
+
104
+ #### Parameters
105
+
106
+ | Parameter | Type |
107
+ | ------ | ------ |
108
+ | `source` | `object` |
109
+
110
+ #### Returns
111
+
112
+ `boolean`
113
+
114
+ whether an aim was actually discarded.
@@ -0,0 +1,89 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [index](../index.md) / ThrowVelocityTracker
6
+
7
+ # Class: ThrowVelocityTracker
8
+
9
+ Defined in: [xr/throwVelocity.ts:52](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/xr/throwVelocity.ts#L52)
10
+
11
+ Rolling buffer of hand positions used to recover throw velocity.
12
+
13
+ One per active grab; cleared on release.
14
+
15
+ ## Constructors
16
+
17
+ ### Constructor
18
+
19
+ ```ts
20
+ new ThrowVelocityTracker(): ThrowVelocityTracker;
21
+ ```
22
+
23
+ #### Returns
24
+
25
+ `ThrowVelocityTracker`
26
+
27
+ ## Methods
28
+
29
+ ### record()
30
+
31
+ ```ts
32
+ record(position, time): void;
33
+ ```
34
+
35
+ Defined in: [xr/throwVelocity.ts:56](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/xr/throwVelocity.ts#L56)
36
+
37
+ Record where the hand is now. Call once per frame while held.
38
+
39
+ #### Parameters
40
+
41
+ | Parameter | Type |
42
+ | ------ | ------ |
43
+ | `position` | `Vector3` |
44
+ | `time` | `number` |
45
+
46
+ #### Returns
47
+
48
+ `void`
49
+
50
+ ***
51
+
52
+ ### computeVelocity()
53
+
54
+ ```ts
55
+ computeVelocity(now): Vector3;
56
+ ```
57
+
58
+ Defined in: [xr/throwVelocity.ts:71](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/xr/throwVelocity.ts#L71)
59
+
60
+ Velocity to release with, in metres/second.
61
+
62
+ Uses the FASTEST segment inside the window rather than the most recent or
63
+ the window average. Users decelerate as they open their hand, so the last
64
+ segment understates the throw and the average washes it out; peak speed is
65
+ what matches the motion the user actually felt they made.
66
+
67
+ #### Parameters
68
+
69
+ | Parameter | Type |
70
+ | ------ | ------ |
71
+ | `now` | `number` |
72
+
73
+ #### Returns
74
+
75
+ `Vector3`
76
+
77
+ ***
78
+
79
+ ### clear()
80
+
81
+ ```ts
82
+ clear(): void;
83
+ ```
84
+
85
+ Defined in: [xr/throwVelocity.ts:105](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/xr/throwVelocity.ts#L105)
86
+
87
+ #### Returns
88
+
89
+ `void`
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: TransformSyncSystem
8
8
 
9
- Defined in: [systems/TransformSyncSystem.ts:7](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/TransformSyncSystem.ts#L7)
9
+ Defined in: [systems/TransformSyncSystem.ts:7](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/TransformSyncSystem.ts#L7)
10
10
 
11
11
  ## Implements
12
12
 
@@ -32,7 +32,7 @@ new TransformSyncSystem(): TransformSyncSystem;
32
32
  update(world): void;
33
33
  ```
34
34
 
35
- Defined in: [systems/TransformSyncSystem.ts:8](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/systems/TransformSyncSystem.ts#L8)
35
+ Defined in: [systems/TransformSyncSystem.ts:8](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/TransformSyncSystem.ts#L8)
36
36
 
37
37
  #### Parameters
38
38
 
@@ -0,0 +1,60 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [index](../index.md) / UIInteractionSystem
6
+
7
+ # Class: UIInteractionSystem
8
+
9
+ Defined in: [systems/UIInteractionSystem.ts:56](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/UIInteractionSystem.ts#L56)
10
+
11
+ ## Implements
12
+
13
+ - [`EcsSystem`](../interfaces/EcsSystem.md)
14
+
15
+ ## Constructors
16
+
17
+ ### Constructor
18
+
19
+ ```ts
20
+ new UIInteractionSystem(interaction, options?): UIInteractionSystem;
21
+ ```
22
+
23
+ Defined in: [systems/UIInteractionSystem.ts:72](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/UIInteractionSystem.ts#L72)
24
+
25
+ #### Parameters
26
+
27
+ | Parameter | Type | Description |
28
+ | ------ | ------ | ------ |
29
+ | `interaction` | [`XRInteractionSystem`](XRInteractionSystem.md) \| `null` | The XR interaction system, or null in a world with no XR (flat 3D experiences) — the mouse path still works via `options.inputSystem`. |
30
+ | `options?` | \{ `inputSystem?`: [`InputSystem`](InputSystem.md); \} | - |
31
+ | `options.inputSystem?` | [`InputSystem`](InputSystem.md) | - |
32
+
33
+ #### Returns
34
+
35
+ `UIInteractionSystem`
36
+
37
+ ## Methods
38
+
39
+ ### update()
40
+
41
+ ```ts
42
+ update(world, deltaTime?): void;
43
+ ```
44
+
45
+ Defined in: [systems/UIInteractionSystem.ts:86](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/systems/UIInteractionSystem.ts#L86)
46
+
47
+ #### Parameters
48
+
49
+ | Parameter | Type | Default value |
50
+ | ------ | ------ | ------ |
51
+ | `world` | [`World`](World.md) | `undefined` |
52
+ | `deltaTime` | `number` | `0` |
53
+
54
+ #### Returns
55
+
56
+ `void`
57
+
58
+ #### Implementation of
59
+
60
+ [`EcsSystem`](../interfaces/EcsSystem.md).[`update`](../interfaces/EcsSystem.md#update)