@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: World
8
8
 
9
- Defined in: [World.ts:66](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L66)
9
+ Defined in: [World.ts:88](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L88)
10
10
 
11
11
  ## Constructors
12
12
 
@@ -16,17 +16,18 @@ Defined in: [World.ts:66](https://github.com/Relu-Interactives/relu-spatial-ecs-
16
16
  new World(options): World;
17
17
  ```
18
18
 
19
- Defined in: [World.ts:97](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L97)
19
+ Defined in: [World.ts:133](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L133)
20
20
 
21
21
  #### Parameters
22
22
 
23
- | Parameter | Type |
24
- | ------ | ------ |
25
- | `options` | \{ `scene`: `Scene`; `camera`: `PerspectiveCamera`; `renderer`: `WebGLRenderer`; `featureFlags?`: `WorldFeatureFlags`; \} |
26
- | `options.scene` | `Scene` |
27
- | `options.camera` | `PerspectiveCamera` |
28
- | `options.renderer` | `WebGLRenderer` |
29
- | `options.featureFlags?` | `WorldFeatureFlags` |
23
+ | Parameter | Type | Description |
24
+ | ------ | ------ | ------ |
25
+ | `options` | \{ `scene`: `Scene`; `camera`: `PerspectiveCamera`; `renderer`: [`EcsRenderer`](../type-aliases/EcsRenderer.md); `backend?`: [`RenderBackend`](../interfaces/RenderBackend.md); `featureFlags?`: `WorldFeatureFlags`; \} | - |
26
+ | `options.scene` | `Scene` | - |
27
+ | `options.camera` | `PerspectiveCamera` | - |
28
+ | `options.renderer` | [`EcsRenderer`](../type-aliases/EcsRenderer.md) | A `THREE.WebGLRenderer`, or a `WebGPURenderer` from `three/webgpu`. A `WebGPURenderer` must be initialised (`await renderer.init()`) before the first `update()`. |
29
+ | `options.backend?` | [`RenderBackend`](../interfaces/RenderBackend.md) | Renderer-specific behaviour (post-processing, green-screen video, area lights). Defaults to the WebGL backend; pass `webgpuBackend` from `@relu-interactives/spatial-ecs/webgpu` with a `WebGPURenderer`. |
30
+ | `options.featureFlags?` | `WorldFeatureFlags` | - |
30
31
 
31
32
  #### Returns
32
33
 
@@ -40,7 +41,7 @@ Defined in: [World.ts:97](https://github.com/Relu-Interactives/relu-spatial-ecs-
40
41
  createEntity(): number;
41
42
  ```
42
43
 
43
- Defined in: [World.ts:116](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L116)
44
+ Defined in: [World.ts:157](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L157)
44
45
 
45
46
  #### Returns
46
47
 
@@ -54,7 +55,7 @@ Defined in: [World.ts:116](https://github.com/Relu-Interactives/relu-spatial-ecs
54
55
  destroyEntity(entityId): void;
55
56
  ```
56
57
 
57
- Defined in: [World.ts:124](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L124)
58
+ Defined in: [World.ts:165](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L165)
58
59
 
59
60
  #### Parameters
60
61
 
@@ -74,7 +75,7 @@ Defined in: [World.ts:124](https://github.com/Relu-Interactives/relu-spatial-ecs
74
75
  hasEntity(entityId): boolean;
75
76
  ```
76
77
 
77
- Defined in: [World.ts:151](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L151)
78
+ Defined in: [World.ts:192](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L192)
78
79
 
79
80
  #### Parameters
80
81
 
@@ -94,7 +95,7 @@ Defined in: [World.ts:151](https://github.com/Relu-Interactives/relu-spatial-ecs
94
95
  getEntities(): number[];
95
96
  ```
96
97
 
97
- Defined in: [World.ts:155](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L155)
98
+ Defined in: [World.ts:196](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L196)
98
99
 
99
100
  #### Returns
100
101
 
@@ -108,7 +109,7 @@ Defined in: [World.ts:155](https://github.com/Relu-Interactives/relu-spatial-ecs
108
109
  getEntityCount(): number;
109
110
  ```
110
111
 
111
- Defined in: [World.ts:159](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L159)
112
+ Defined in: [World.ts:200](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L200)
112
113
 
113
114
  #### Returns
114
115
 
@@ -122,7 +123,7 @@ Defined in: [World.ts:159](https://github.com/Relu-Interactives/relu-spatial-ecs
122
123
  addComponent<T>(entityId, component): void;
123
124
  ```
124
125
 
125
- Defined in: [World.ts:163](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L163)
126
+ Defined in: [World.ts:204](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L204)
126
127
 
127
128
  #### Type Parameters
128
129
 
@@ -149,7 +150,7 @@ Defined in: [World.ts:163](https://github.com/Relu-Interactives/relu-spatial-ecs
149
150
  addComponents<T>(entityId, components): void;
150
151
  ```
151
152
 
152
- Defined in: [World.ts:178](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L178)
153
+ Defined in: [World.ts:219](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L219)
153
154
 
154
155
  #### Type Parameters
155
156
 
@@ -176,7 +177,7 @@ Defined in: [World.ts:178](https://github.com/Relu-Interactives/relu-spatial-ecs
176
177
  removeComponent<T>(entityId, componentType): void;
177
178
  ```
178
179
 
179
- Defined in: [World.ts:199](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L199)
180
+ Defined in: [World.ts:240](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L240)
180
181
 
181
182
  #### Type Parameters
182
183
 
@@ -203,7 +204,7 @@ Defined in: [World.ts:199](https://github.com/Relu-Interactives/relu-spatial-ecs
203
204
  getComponent<T>(entityId, componentType): T | undefined;
204
205
  ```
205
206
 
206
- Defined in: [World.ts:207](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L207)
207
+ Defined in: [World.ts:248](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L248)
207
208
 
208
209
  #### Type Parameters
209
210
 
@@ -230,7 +231,7 @@ Defined in: [World.ts:207](https://github.com/Relu-Interactives/relu-spatial-ecs
230
231
  hasComponent<T>(entityId, componentType): boolean;
231
232
  ```
232
233
 
233
- Defined in: [World.ts:214](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L214)
234
+ Defined in: [World.ts:255](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L255)
234
235
 
235
236
  #### Type Parameters
236
237
 
@@ -257,7 +258,7 @@ Defined in: [World.ts:214](https://github.com/Relu-Interactives/relu-spatial-ecs
257
258
  query(...componentTypes): number[];
258
259
  ```
259
260
 
260
- Defined in: [World.ts:221](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L221)
261
+ Defined in: [World.ts:262](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L262)
261
262
 
262
263
  #### Parameters
263
264
 
@@ -277,7 +278,7 @@ Defined in: [World.ts:221](https://github.com/Relu-Interactives/relu-spatial-ecs
277
278
  isEntityVisible(entityId): boolean;
278
279
  ```
279
280
 
280
- Defined in: [World.ts:235](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L235)
281
+ Defined in: [World.ts:276](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L276)
281
282
 
282
283
  Returns `true` if the entity is currently visible (its `Object3DRef.visibility`
283
284
  is `true`), or if the entity has no `Object3DRef` component (entities without a
@@ -302,7 +303,7 @@ updates for hidden objects.
302
303
  getInputSystem(): EcsSystem | null;
303
304
  ```
304
305
 
305
- Defined in: [World.ts:240](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L240)
306
+ Defined in: [World.ts:281](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L281)
306
307
 
307
308
  #### Returns
308
309
 
@@ -316,7 +317,7 @@ Defined in: [World.ts:240](https://github.com/Relu-Interactives/relu-spatial-ecs
316
317
  getKeyDown(key): boolean;
317
318
  ```
318
319
 
319
- Defined in: [World.ts:252](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L252)
320
+ Defined in: [World.ts:293](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L293)
320
321
 
321
322
  #### Parameters
322
323
 
@@ -336,7 +337,7 @@ Defined in: [World.ts:252](https://github.com/Relu-Interactives/relu-spatial-ecs
336
337
  getKeyUp(key): boolean;
337
338
  ```
338
339
 
339
- Defined in: [World.ts:261](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L261)
340
+ Defined in: [World.ts:302](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L302)
340
341
 
341
342
  #### Parameters
342
343
 
@@ -356,7 +357,7 @@ Defined in: [World.ts:261](https://github.com/Relu-Interactives/relu-spatial-ecs
356
357
  getKey(key): boolean;
357
358
  ```
358
359
 
359
- Defined in: [World.ts:270](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L270)
360
+ Defined in: [World.ts:311](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L311)
360
361
 
361
362
  #### Parameters
362
363
 
@@ -376,7 +377,7 @@ Defined in: [World.ts:270](https://github.com/Relu-Interactives/relu-spatial-ecs
376
377
  getMouse(button): boolean;
377
378
  ```
378
379
 
379
- Defined in: [World.ts:279](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L279)
380
+ Defined in: [World.ts:320](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L320)
380
381
 
381
382
  #### Parameters
382
383
 
@@ -396,7 +397,7 @@ Defined in: [World.ts:279](https://github.com/Relu-Interactives/relu-spatial-ecs
396
397
  getMouseDown(button): boolean;
397
398
  ```
398
399
 
399
- Defined in: [World.ts:288](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L288)
400
+ Defined in: [World.ts:329](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L329)
400
401
 
401
402
  #### Parameters
402
403
 
@@ -416,7 +417,7 @@ Defined in: [World.ts:288](https://github.com/Relu-Interactives/relu-spatial-ecs
416
417
  getMouseUp(button): boolean;
417
418
  ```
418
419
 
419
- Defined in: [World.ts:297](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L297)
420
+ Defined in: [World.ts:338](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L338)
420
421
 
421
422
  #### Parameters
422
423
 
@@ -436,7 +437,7 @@ Defined in: [World.ts:297](https://github.com/Relu-Interactives/relu-spatial-ecs
436
437
  getScrollClick(): boolean;
437
438
  ```
438
439
 
439
- Defined in: [World.ts:306](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L306)
440
+ Defined in: [World.ts:347](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L347)
440
441
 
441
442
  #### Returns
442
443
 
@@ -450,7 +451,7 @@ Defined in: [World.ts:306](https://github.com/Relu-Interactives/relu-spatial-ecs
450
451
  getScrollClickDown(): boolean;
451
452
  ```
452
453
 
453
- Defined in: [World.ts:315](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L315)
454
+ Defined in: [World.ts:356](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L356)
454
455
 
455
456
  #### Returns
456
457
 
@@ -464,7 +465,7 @@ Defined in: [World.ts:315](https://github.com/Relu-Interactives/relu-spatial-ecs
464
465
  getScrollClickUp(): boolean;
465
466
  ```
466
467
 
467
- Defined in: [World.ts:324](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L324)
468
+ Defined in: [World.ts:365](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L365)
468
469
 
469
470
  #### Returns
470
471
 
@@ -481,7 +482,7 @@ getScrollDelta(): {
481
482
  };
482
483
  ```
483
484
 
484
- Defined in: [World.ts:333](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L333)
485
+ Defined in: [World.ts:374](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L374)
485
486
 
486
487
  #### Returns
487
488
 
@@ -494,8 +495,8 @@ Defined in: [World.ts:333](https://github.com/Relu-Interactives/relu-spatial-ecs
494
495
 
495
496
  | Name | Type | Defined in |
496
497
  | ------ | ------ | ------ |
497
- | `x` | `number` | [World.ts:333](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L333) |
498
- | `y` | `number` | [World.ts:333](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L333) |
498
+ | `x` | `number` | [World.ts:374](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L374) |
499
+ | `y` | `number` | [World.ts:374](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L374) |
499
500
 
500
501
  ***
501
502
 
@@ -508,7 +509,7 @@ consumeScrollDelta(): {
508
509
  };
509
510
  ```
510
511
 
511
- Defined in: [World.ts:342](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L342)
512
+ Defined in: [World.ts:383](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L383)
512
513
 
513
514
  #### Returns
514
515
 
@@ -521,8 +522,8 @@ Defined in: [World.ts:342](https://github.com/Relu-Interactives/relu-spatial-ecs
521
522
 
522
523
  | Name | Type | Defined in |
523
524
  | ------ | ------ | ------ |
524
- | `x` | `number` | [World.ts:342](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L342) |
525
- | `y` | `number` | [World.ts:342](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L342) |
525
+ | `x` | `number` | [World.ts:383](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L383) |
526
+ | `y` | `number` | [World.ts:383](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L383) |
526
527
 
527
528
  ***
528
529
 
@@ -535,7 +536,7 @@ getMousePosition(): {
535
536
  };
536
537
  ```
537
538
 
538
- Defined in: [World.ts:351](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L351)
539
+ Defined in: [World.ts:392](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L392)
539
540
 
540
541
  #### Returns
541
542
 
@@ -548,8 +549,8 @@ Defined in: [World.ts:351](https://github.com/Relu-Interactives/relu-spatial-ecs
548
549
 
549
550
  | Name | Type | Defined in |
550
551
  | ------ | ------ | ------ |
551
- | `x` | `number` | [World.ts:351](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L351) |
552
- | `y` | `number` | [World.ts:351](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L351) |
552
+ | `x` | `number` | [World.ts:392](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L392) |
553
+ | `y` | `number` | [World.ts:392](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L392) |
553
554
 
554
555
  ***
555
556
 
@@ -562,7 +563,7 @@ getMouseDelta(): {
562
563
  };
563
564
  ```
564
565
 
565
- Defined in: [World.ts:360](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L360)
566
+ Defined in: [World.ts:401](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L401)
566
567
 
567
568
  #### Returns
568
569
 
@@ -575,8 +576,8 @@ Defined in: [World.ts:360](https://github.com/Relu-Interactives/relu-spatial-ecs
575
576
 
576
577
  | Name | Type | Defined in |
577
578
  | ------ | ------ | ------ |
578
- | `x` | `number` | [World.ts:360](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L360) |
579
- | `y` | `number` | [World.ts:360](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L360) |
579
+ | `x` | `number` | [World.ts:401](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L401) |
580
+ | `y` | `number` | [World.ts:401](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L401) |
580
581
 
581
582
  ***
582
583
 
@@ -589,7 +590,7 @@ consumeMouseDelta(): {
589
590
  };
590
591
  ```
591
592
 
592
- Defined in: [World.ts:369](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L369)
593
+ Defined in: [World.ts:410](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L410)
593
594
 
594
595
  #### Returns
595
596
 
@@ -602,8 +603,8 @@ Defined in: [World.ts:369](https://github.com/Relu-Interactives/relu-spatial-ecs
602
603
 
603
604
  | Name | Type | Defined in |
604
605
  | ------ | ------ | ------ |
605
- | `x` | `number` | [World.ts:369](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L369) |
606
- | `y` | `number` | [World.ts:369](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L369) |
606
+ | `x` | `number` | [World.ts:410](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L410) |
607
+ | `y` | `number` | [World.ts:410](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L410) |
607
608
 
608
609
  ***
609
610
 
@@ -613,7 +614,7 @@ Defined in: [World.ts:369](https://github.com/Relu-Interactives/relu-spatial-ecs
613
614
  getRapierModule(): Promise<__module>;
614
615
  ```
615
616
 
616
- Defined in: [World.ts:378](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L378)
617
+ Defined in: [World.ts:419](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L419)
617
618
 
618
619
  #### Returns
619
620
 
@@ -627,7 +628,7 @@ Defined in: [World.ts:378](https://github.com/Relu-Interactives/relu-spatial-ecs
627
628
  getPhysicsWorld(): World | null;
628
629
  ```
629
630
 
630
- Defined in: [World.ts:396](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L396)
631
+ Defined in: [World.ts:437](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L437)
631
632
 
632
633
  #### Returns
633
634
 
@@ -641,7 +642,7 @@ Defined in: [World.ts:396](https://github.com/Relu-Interactives/relu-spatial-ecs
641
642
  setPhysicsWorld(physicsWorld): void;
642
643
  ```
643
644
 
644
- Defined in: [World.ts:400](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L400)
645
+ Defined in: [World.ts:441](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L441)
645
646
 
646
647
  #### Parameters
647
648
 
@@ -661,7 +662,7 @@ Defined in: [World.ts:400](https://github.com/Relu-Interactives/relu-spatial-ecs
661
662
  createPhysicsWorld(options?): Promise<World | null>;
662
663
  ```
663
664
 
664
- Defined in: [World.ts:404](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L404)
665
+ Defined in: [World.ts:445](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L445)
665
666
 
666
667
  #### Parameters
667
668
 
@@ -685,7 +686,7 @@ Defined in: [World.ts:404](https://github.com/Relu-Interactives/relu-spatial-ecs
685
686
  lockMousePointer(): boolean;
686
687
  ```
687
688
 
688
- Defined in: [World.ts:423](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L423)
689
+ Defined in: [World.ts:464](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L464)
689
690
 
690
691
  #### Returns
691
692
 
@@ -699,7 +700,7 @@ Defined in: [World.ts:423](https://github.com/Relu-Interactives/relu-spatial-ecs
699
700
  unlockMousePointer(): boolean;
700
701
  ```
701
702
 
702
- Defined in: [World.ts:454](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L454)
703
+ Defined in: [World.ts:495](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L495)
703
704
 
704
705
  #### Returns
705
706
 
@@ -713,7 +714,7 @@ Defined in: [World.ts:454](https://github.com/Relu-Interactives/relu-spatial-ecs
713
714
  isMousePointerLocked(): boolean;
714
715
  ```
715
716
 
716
- Defined in: [World.ts:475](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L475)
717
+ Defined in: [World.ts:516](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L516)
717
718
 
718
719
  #### Returns
719
720
 
@@ -727,7 +728,7 @@ Defined in: [World.ts:475](https://github.com/Relu-Interactives/relu-spatial-ecs
727
728
  getSystem<T>(system): T;
728
729
  ```
729
730
 
730
- Defined in: [World.ts:491](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L491)
731
+ Defined in: [World.ts:532](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L532)
731
732
 
732
733
  #### Type Parameters
733
734
 
@@ -753,7 +754,7 @@ Defined in: [World.ts:491](https://github.com/Relu-Interactives/relu-spatial-ecs
753
754
  hasSystem<T>(system): boolean;
754
755
  ```
755
756
 
756
- Defined in: [World.ts:508](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L508)
757
+ Defined in: [World.ts:549](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L549)
757
758
 
758
759
  #### Type Parameters
759
760
 
@@ -779,7 +780,7 @@ Defined in: [World.ts:508](https://github.com/Relu-Interactives/relu-spatial-ecs
779
780
  addSystem(system): void;
780
781
  ```
781
782
 
782
- Defined in: [World.ts:517](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L517)
783
+ Defined in: [World.ts:558](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L558)
783
784
 
784
785
  #### Parameters
785
786
 
@@ -799,7 +800,7 @@ Defined in: [World.ts:517](https://github.com/Relu-Interactives/relu-spatial-ecs
799
800
  addSystems(systems): void;
800
801
  ```
801
802
 
802
- Defined in: [World.ts:521](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L521)
803
+ Defined in: [World.ts:562](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L562)
803
804
 
804
805
  #### Parameters
805
806
 
@@ -823,7 +824,7 @@ setup(__namedParameters): {
823
824
  };
824
825
  ```
825
826
 
826
- Defined in: [World.ts:527](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L527)
827
+ Defined in: [World.ts:568](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L568)
827
828
 
828
829
  #### Parameters
829
830
 
@@ -845,9 +846,9 @@ Defined in: [World.ts:527](https://github.com/Relu-Interactives/relu-spatial-ecs
845
846
 
846
847
  | Name | Type | Defined in |
847
848
  | ------ | ------ | ------ |
848
- | `objectManagementSystem` | [`ObjectManagementSystem`](ObjectManagementSystem.md) | [World.ts:528](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L528) |
849
- | `transformSyncSystem` | [`TransformSyncSystem`](TransformSyncSystem.md) | [World.ts:529](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L529) |
850
- | `renderSystem` | [`RenderSystem`](RenderSystem.md) | [World.ts:530](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L530) |
849
+ | `objectManagementSystem` | [`ObjectManagementSystem`](ObjectManagementSystem.md) | [World.ts:569](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L569) |
850
+ | `transformSyncSystem` | [`TransformSyncSystem`](TransformSyncSystem.md) | [World.ts:570](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L570) |
851
+ | `renderSystem` | [`RenderSystem`](RenderSystem.md) | [World.ts:571](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L571) |
851
852
 
852
853
  ***
853
854
 
@@ -857,7 +858,59 @@ Defined in: [World.ts:527](https://github.com/Relu-Interactives/relu-spatial-ecs
857
858
  isEditorMode(): boolean;
858
859
  ```
859
860
 
860
- Defined in: [World.ts:615](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L615)
861
+ Defined in: [World.ts:671](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L671)
862
+
863
+ #### Returns
864
+
865
+ `boolean`
866
+
867
+ ***
868
+
869
+ ### isXrPresenting()
870
+
871
+ ```ts
872
+ isXrPresenting(): boolean;
873
+ ```
874
+
875
+ Defined in: [World.ts:688](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L688)
876
+
877
+ `true` while an immersive WebXR session is actively presenting.
878
+
879
+ While presenting, three's `WebXRManager` OWNS the render camera: each frame
880
+ `updateUserCamera()` writes the headset pose into the camera's
881
+ position/quaternion/scale and copies the XR projection (including a derived
882
+ `fov`) onto it. Systems that also drive the camera must stand down for the
883
+ duration, or they ping-pong with the headset every frame and defeat their
884
+ own dirty-checks.
885
+
886
+ Locomotion therefore moves the camera's PARENT (the XR rig) — three composes
887
+ the head pose as `parent.matrixWorld × headPose`.
888
+
889
+ #### Returns
890
+
891
+ `boolean`
892
+
893
+ ***
894
+
895
+ ### isXrPassthrough()
896
+
897
+ ```ts
898
+ isXrPassthrough(): boolean;
899
+ ```
900
+
901
+ Defined in: [World.ts:705](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L705)
902
+
903
+ `true` while the session is compositing over the real world (passthrough).
904
+
905
+ Read from the session's `environmentBlendMode` rather than from what the app
906
+ ASKED for: a request for `immersive-ar` can be granted as a plain opaque
907
+ session, and the blend mode is the only thing that says what the user is
908
+ actually looking at. `additive` (optical see-through) and `alpha-blend`
909
+ (video passthrough) both mean the real world is visible behind the render.
910
+
911
+ The load-bearing consequence is that nothing may paint an opaque background:
912
+ a skybox drawn over the whole framebuffer hides the room completely, which
913
+ looks exactly like passthrough having failed.
861
914
 
862
915
  #### Returns
863
916
 
@@ -871,7 +924,7 @@ Defined in: [World.ts:615](https://github.com/Relu-Interactives/relu-spatial-ecs
871
924
  pause(): void;
872
925
  ```
873
926
 
874
- Defined in: [World.ts:626](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L626)
927
+ Defined in: [World.ts:718](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L718)
875
928
 
876
929
  Pauses world simulation. While paused, `update()` skips all system ticks so
877
930
  physics, animation, scripts, and rendering stop advancing. The last rendered
@@ -891,7 +944,7 @@ Call [resume](#resume) to continue.
891
944
  resume(): void;
892
945
  ```
893
946
 
894
- Defined in: [World.ts:634](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L634)
947
+ Defined in: [World.ts:726](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L726)
895
948
 
896
949
  Resumes world simulation after a previous [pause](#pause) call.
897
950
  Has no effect if the world is not paused.
@@ -908,7 +961,7 @@ Has no effect if the world is not paused.
908
961
  isPaused(): boolean;
909
962
  ```
910
963
 
911
- Defined in: [World.ts:648](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L648)
964
+ Defined in: [World.ts:740](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L740)
912
965
 
913
966
  Returns `true` if the world is currently paused.
914
967
 
@@ -932,7 +985,7 @@ if (this.world.isPaused()) {
932
985
  getScene(): Scene;
933
986
  ```
934
987
 
935
- Defined in: [World.ts:652](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L652)
988
+ Defined in: [World.ts:744](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L744)
936
989
 
937
990
  #### Returns
938
991
 
@@ -946,7 +999,7 @@ Defined in: [World.ts:652](https://github.com/Relu-Interactives/relu-spatial-ecs
946
999
  getCamera(): PerspectiveCamera;
947
1000
  ```
948
1001
 
949
- Defined in: [World.ts:656](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L656)
1002
+ Defined in: [World.ts:748](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L748)
950
1003
 
951
1004
  #### Returns
952
1005
 
@@ -957,14 +1010,52 @@ Defined in: [World.ts:656](https://github.com/Relu-Interactives/relu-spatial-ecs
957
1010
  ### getRenderer()
958
1011
 
959
1012
  ```ts
960
- getRenderer(): WebGLRenderer;
1013
+ getRenderer(): EcsRenderer;
1014
+ ```
1015
+
1016
+ Defined in: [World.ts:758](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L758)
1017
+
1018
+ The renderer this world draws with: a `THREE.WebGLRenderer`, or a
1019
+ `WebGPURenderer` from `three/webgpu`. Check [getRendererKind](#getrendererkind) before
1020
+ using an API only one of them has (for example `capabilities` exists on
1021
+ WebGL only).
1022
+
1023
+ #### Returns
1024
+
1025
+ [`EcsRenderer`](../type-aliases/EcsRenderer.md)
1026
+
1027
+ ***
1028
+
1029
+ ### getRendererKind()
1030
+
1031
+ ```ts
1032
+ getRendererKind(): RendererKind;
961
1033
  ```
962
1034
 
963
- Defined in: [World.ts:660](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L660)
1035
+ Defined in: [World.ts:763](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L763)
1036
+
1037
+ `"webgpu"` when the world renders with a `WebGPURenderer`, else `"webgl"`.
1038
+
1039
+ #### Returns
1040
+
1041
+ [`RendererKind`](../type-aliases/RendererKind.md)
1042
+
1043
+ ***
1044
+
1045
+ ### getRenderBackend()
1046
+
1047
+ ```ts
1048
+ getRenderBackend(): RenderBackend;
1049
+ ```
1050
+
1051
+ Defined in: [World.ts:771](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L771)
1052
+
1053
+ The renderer-specific backend in use (post-processing, green-screen
1054
+ video, area lights). See `RenderBackend`.
964
1055
 
965
1056
  #### Returns
966
1057
 
967
- `WebGLRenderer`
1058
+ [`RenderBackend`](../interfaces/RenderBackend.md)
968
1059
 
969
1060
  ***
970
1061
 
@@ -974,7 +1065,7 @@ Defined in: [World.ts:660](https://github.com/Relu-Interactives/relu-spatial-ecs
974
1065
  update(deltaTime): void;
975
1066
  ```
976
1067
 
977
- Defined in: [World.ts:664](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L664)
1068
+ Defined in: [World.ts:775](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L775)
978
1069
 
979
1070
  #### Parameters
980
1071
 
@@ -994,7 +1085,7 @@ Defined in: [World.ts:664](https://github.com/Relu-Interactives/relu-spatial-ecs
994
1085
  dispose(): void;
995
1086
  ```
996
1087
 
997
- Defined in: [World.ts:671](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L671)
1088
+ Defined in: [World.ts:782](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L782)
998
1089
 
999
1090
  #### Returns
1000
1091
 
@@ -1008,7 +1099,7 @@ Defined in: [World.ts:671](https://github.com/Relu-Interactives/relu-spatial-ecs
1008
1099
  setSelectedEntity(entityId): void;
1009
1100
  ```
1010
1101
 
1011
- Defined in: [World.ts:683](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L683)
1102
+ Defined in: [World.ts:796](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L796)
1012
1103
 
1013
1104
  #### Parameters
1014
1105
 
@@ -1028,7 +1119,7 @@ Defined in: [World.ts:683](https://github.com/Relu-Interactives/relu-spatial-ecs
1028
1119
  getSelectedEntity(): number | null;
1029
1120
  ```
1030
1121
 
1031
- Defined in: [World.ts:705](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L705)
1122
+ Defined in: [World.ts:818](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L818)
1032
1123
 
1033
1124
  #### Returns
1034
1125
 
@@ -1042,7 +1133,7 @@ Defined in: [World.ts:705](https://github.com/Relu-Interactives/relu-spatial-ecs
1042
1133
  getEntitiesByComponent(component): WorldEntityView[];
1043
1134
  ```
1044
1135
 
1045
- Defined in: [World.ts:765](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L765)
1136
+ Defined in: [World.ts:878](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L878)
1046
1137
 
1047
1138
  #### Parameters
1048
1139
 
@@ -1062,7 +1153,7 @@ Defined in: [World.ts:765](https://github.com/Relu-Interactives/relu-spatial-ecs
1062
1153
  getEntitiesByName(name): WorldEntityView[];
1063
1154
  ```
1064
1155
 
1065
- Defined in: [World.ts:779](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L779)
1156
+ Defined in: [World.ts:892](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L892)
1066
1157
 
1067
1158
  #### Parameters
1068
1159
 
@@ -1082,7 +1173,7 @@ Defined in: [World.ts:779](https://github.com/Relu-Interactives/relu-spatial-ecs
1082
1173
  getEntityByName(name): WorldEntityView | null;
1083
1174
  ```
1084
1175
 
1085
- Defined in: [World.ts:788](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L788)
1176
+ Defined in: [World.ts:901](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L901)
1086
1177
 
1087
1178
  #### Parameters
1088
1179
 
@@ -1102,7 +1193,7 @@ Defined in: [World.ts:788](https://github.com/Relu-Interactives/relu-spatial-ecs
1102
1193
  getEntityById(entityId): WorldEntityView | null;
1103
1194
  ```
1104
1195
 
1105
- Defined in: [World.ts:793](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L793)
1196
+ Defined in: [World.ts:906](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L906)
1106
1197
 
1107
1198
  #### Parameters
1108
1199
 
@@ -1122,7 +1213,7 @@ Defined in: [World.ts:793](https://github.com/Relu-Interactives/relu-spatial-ecs
1122
1213
  getEntitiesChildren(entityId): WorldEntityView[];
1123
1214
  ```
1124
1215
 
1125
- Defined in: [World.ts:801](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L801)
1216
+ Defined in: [World.ts:914](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L914)
1126
1217
 
1127
1218
  #### Parameters
1128
1219
 
@@ -1142,7 +1233,7 @@ Defined in: [World.ts:801](https://github.com/Relu-Interactives/relu-spatial-ecs
1142
1233
  getEntitiesParent(entityId): WorldEntityView | null;
1143
1234
  ```
1144
1235
 
1145
- Defined in: [World.ts:815](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L815)
1236
+ Defined in: [World.ts:928](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L928)
1146
1237
 
1147
1238
  #### Parameters
1148
1239
 
@@ -1162,7 +1253,7 @@ Defined in: [World.ts:815](https://github.com/Relu-Interactives/relu-spatial-ecs
1162
1253
  spawnPrefab(source, options?): Promise<number>;
1163
1254
  ```
1164
1255
 
1165
- Defined in: [World.ts:830](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L830)
1256
+ Defined in: [World.ts:943](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L943)
1166
1257
 
1167
1258
  Instantiate a prefab asset into this world at runtime — see
1168
1259
  [spawnPrefab](../functions/spawnPrefab.md). Convenience wrapper so scripts and embedding apps
@@ -1187,7 +1278,7 @@ can spawn without reaching for the object management system.
1187
1278
  despawnPrefab(rootEntityId): number;
1188
1279
  ```
1189
1280
 
1190
- Defined in: [World.ts:838](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L838)
1281
+ Defined in: [World.ts:951](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L951)
1191
1282
 
1192
1283
  Remove a spawned prefab instance (root + descendants).
1193
1284
 
@@ -1209,7 +1300,7 @@ Remove a spawned prefab instance (root + descendants).
1209
1300
  getObjectManagementSystem(): ObjectManagementSystem;
1210
1301
  ```
1211
1302
 
1212
- Defined in: [World.ts:842](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L842)
1303
+ Defined in: [World.ts:955](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L955)
1213
1304
 
1214
1305
  #### Returns
1215
1306
 
@@ -1223,7 +1314,7 @@ Defined in: [World.ts:842](https://github.com/Relu-Interactives/relu-spatial-ecs
1223
1314
  getEnvironmentComponent(): Environment | undefined;
1224
1315
  ```
1225
1316
 
1226
- Defined in: [World.ts:870](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L870)
1317
+ Defined in: [World.ts:983](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L983)
1227
1318
 
1228
1319
  Returns the singleton [Environment](../../components/classes/Environment.md) component for the scene, or
1229
1320
  `undefined` if no environment entity exists yet.
@@ -1255,7 +1346,7 @@ getPostprocessingComponent():
1255
1346
  | undefined;
1256
1347
  ```
1257
1348
 
1258
- Defined in: [World.ts:893](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L893)
1349
+ Defined in: [World.ts:1006](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1006)
1259
1350
 
1260
1351
  Returns the singleton [Postprocessing](../../components/classes/Postprocessing.md) component for the scene, or
1261
1352
  `undefined` if no postprocessing entity exists yet.
@@ -1291,7 +1382,7 @@ raycast(
1291
1382
  far?): IntersectionResult[];
1292
1383
  ```
1293
1384
 
1294
- Defined in: [World.ts:923](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L923)
1385
+ Defined in: [World.ts:1036](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1036)
1295
1386
 
1296
1387
  Cast a ray from `origin` along `direction` and return every intersected
1297
1388
  entity-bound mesh, sorted by distance. Each result is a standard
@@ -1334,7 +1425,7 @@ raycastFrom(
1334
1425
  far?): IntersectionResult[];
1335
1426
  ```
1336
1427
 
1337
- Defined in: [World.ts:974](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L974)
1428
+ Defined in: [World.ts:1087](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1087)
1338
1429
 
1339
1430
  Cast a ray from an entity's world-space position along its forward
1340
1431
  direction (the +Z axis of its world matrix). Returns intersected
@@ -1371,7 +1462,7 @@ if (closest && closest.entityId !== null) {
1371
1462
  getEntityScript<T>(entityId): T | null;
1372
1463
  ```
1373
1464
 
1374
- Defined in: [World.ts:1057](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1057)
1465
+ Defined in: [World.ts:1170](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1170)
1375
1466
 
1376
1467
  #### Type Parameters
1377
1468
 
@@ -1397,7 +1488,7 @@ Defined in: [World.ts:1057](https://github.com/Relu-Interactives/relu-spatial-ec
1397
1488
  getScripts<T>(className): T[];
1398
1489
  ```
1399
1490
 
1400
- Defined in: [World.ts:1070](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1070)
1491
+ Defined in: [World.ts:1183](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1183)
1401
1492
 
1402
1493
  #### Type Parameters
1403
1494
 
@@ -1423,7 +1514,7 @@ Defined in: [World.ts:1070](https://github.com/Relu-Interactives/relu-spatial-ec
1423
1514
  getScript<T>(className): T | null;
1424
1515
  ```
1425
1516
 
1426
- Defined in: [World.ts:1111](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1111)
1517
+ Defined in: [World.ts:1224](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1224)
1427
1518
 
1428
1519
  #### Type Parameters
1429
1520
 
@@ -1449,7 +1540,7 @@ Defined in: [World.ts:1111](https://github.com/Relu-Interactives/relu-spatial-ec
1449
1540
  getAllEntities(): WorldEntityView[];
1450
1541
  ```
1451
1542
 
1452
- Defined in: [World.ts:1116](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1116)
1543
+ Defined in: [World.ts:1229](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1229)
1453
1544
 
1454
1545
  #### Returns
1455
1546
 
@@ -1463,7 +1554,7 @@ Defined in: [World.ts:1116](https://github.com/Relu-Interactives/relu-spatial-ec
1463
1554
  onSelectionChanged(listener): () => void;
1464
1555
  ```
1465
1556
 
1466
- Defined in: [World.ts:1122](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1122)
1557
+ Defined in: [World.ts:1235](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1235)
1467
1558
 
1468
1559
  #### Parameters
1469
1560
 
@@ -1483,7 +1574,7 @@ Defined in: [World.ts:1122](https://github.com/Relu-Interactives/relu-spatial-ec
1483
1574
  subscribe(listener): () => void;
1484
1575
  ```
1485
1576
 
1486
- Defined in: [World.ts:1130](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1130)
1577
+ Defined in: [World.ts:1243](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1243)
1487
1578
 
1488
1579
  #### Parameters
1489
1580
 
@@ -1497,13 +1588,104 @@ Defined in: [World.ts:1130](https://github.com/Relu-Interactives/relu-spatial-ec
1497
1588
 
1498
1589
  ***
1499
1590
 
1591
+ ### onScriptError()
1592
+
1593
+ ```ts
1594
+ onScriptError(listener): () => void;
1595
+ ```
1596
+
1597
+ Defined in: [World.ts:1269](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1269)
1598
+
1599
+ Listen for script errors from Behaviours and ScriptObjects: load
1600
+ failures, `init()` / `build()` / `update()` exceptions, and exceptions
1601
+ thrown inside Behaviour hooks such as `onSelect` or `onUiPress`.
1602
+
1603
+ Each DISTINCT error (same script URL, class, phase and message) is
1604
+ delivered once, so a script that throws every frame does not flood the
1605
+ listener. Returns an unsubscribe function.
1606
+
1607
+ #### Parameters
1608
+
1609
+ | Parameter | Type |
1610
+ | ------ | ------ |
1611
+ | `listener` | [`ScriptErrorListener`](../type-aliases/ScriptErrorListener.md) |
1612
+
1613
+ #### Returns
1614
+
1615
+ () => `void`
1616
+
1617
+ #### Example
1618
+
1619
+ ```ts
1620
+ const stop = world.onScriptError((event) => {
1621
+ console.warn(`${event.className} failed in ${event.phase}: ${event.message}`);
1622
+ });
1623
+ // later
1624
+ stop();
1625
+ ```
1626
+
1627
+ ***
1628
+
1629
+ ### reportScriptError()
1630
+
1631
+ ```ts
1632
+ reportScriptError(report, error): boolean;
1633
+ ```
1634
+
1635
+ Defined in: [World.ts:1286](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1286)
1636
+
1637
+ Report a script error. Used by the script systems and by any system that
1638
+ calls into Behaviour hooks; scripts themselves do not need to call it.
1639
+
1640
+ The first occurrence of a distinct error (same script URL, class, phase
1641
+ and message) is logged with `console.error` and delivered to
1642
+ [onScriptError](#onscripterror) listeners; repeats are dropped. Returns `true` when
1643
+ the error was new.
1644
+
1645
+ #### Parameters
1646
+
1647
+ | Parameter | Type |
1648
+ | ------ | ------ |
1649
+ | `report` | [`ScriptErrorReport`](../type-aliases/ScriptErrorReport.md) |
1650
+ | `error` | `unknown` |
1651
+
1652
+ #### Returns
1653
+
1654
+ `boolean`
1655
+
1656
+ ***
1657
+
1658
+ ### clearScriptErrors()
1659
+
1660
+ ```ts
1661
+ clearScriptErrors(scriptUrl?): void;
1662
+ ```
1663
+
1664
+ Defined in: [World.ts:1338](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1338)
1665
+
1666
+ Forget which script errors were already reported, so their next
1667
+ occurrence is logged and delivered again. Pass a script URL to forget only
1668
+ that script's errors (for example after hot-reloading it).
1669
+
1670
+ #### Parameters
1671
+
1672
+ | Parameter | Type |
1673
+ | ------ | ------ |
1674
+ | `scriptUrl?` | `string` |
1675
+
1676
+ #### Returns
1677
+
1678
+ `void`
1679
+
1680
+ ***
1681
+
1500
1682
  ### getDebugSnapshot()
1501
1683
 
1502
1684
  ```ts
1503
1685
  getDebugSnapshot(maxDepth?): unknown;
1504
1686
  ```
1505
1687
 
1506
- Defined in: [World.ts:1138](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1138)
1688
+ Defined in: [World.ts:1350](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1350)
1507
1689
 
1508
1690
  #### Parameters
1509
1691
 
@@ -1523,7 +1705,7 @@ Defined in: [World.ts:1138](https://github.com/Relu-Interactives/relu-spatial-ec
1523
1705
  getDebugSignature(maxDepth?): string;
1524
1706
  ```
1525
1707
 
1526
- Defined in: [World.ts:1188](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1188)
1708
+ Defined in: [World.ts:1400](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1400)
1527
1709
 
1528
1710
  #### Parameters
1529
1711
 
@@ -1552,7 +1734,7 @@ getEntitiesSnapshot(entityIds, maxDepth?): {
1552
1734
  };
1553
1735
  ```
1554
1736
 
1555
- Defined in: [World.ts:1197](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1197)
1737
+ Defined in: [World.ts:1409](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1409)
1556
1738
 
1557
1739
  Serialize ONLY the given entities into the same columnar
1558
1740
  `{entities, components}` shape as [getDebugSnapshot](#getdebugsnapshot) (no systems,
@@ -1582,8 +1764,8 @@ no selection). Used by prefab/scene subtree serialization.
1582
1764
 
1583
1765
  | Name | Type | Defined in |
1584
1766
  | ------ | ------ | ------ |
1585
- | `entities` | `number`[] | [World.ts:1201](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1201) |
1586
- | `components` | \{ `component`: `string`; `entries`: \{ `entityId`: `number`; `value`: `unknown`; \}[]; \}[] | [World.ts:1202](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1202) |
1767
+ | `entities` | `number`[] | [World.ts:1413](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1413) |
1768
+ | `components` | \{ `component`: `string`; `entries`: \{ `entityId`: `number`; `value`: `unknown`; \}[]; \}[] | [World.ts:1414](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1414) |
1587
1769
 
1588
1770
  ***
1589
1771
 
@@ -1593,7 +1775,7 @@ no selection). Used by prefab/scene subtree serialization.
1593
1775
  createHistorySnapshot(): WorldHistorySnapshot;
1594
1776
  ```
1595
1777
 
1596
- Defined in: [World.ts:1239](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1239)
1778
+ Defined in: [World.ts:1451](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1451)
1597
1779
 
1598
1780
  #### Returns
1599
1781
 
@@ -1607,7 +1789,7 @@ Defined in: [World.ts:1239](https://github.com/Relu-Interactives/relu-spatial-ec
1607
1789
  applyHistorySnapshot(snapshot): void;
1608
1790
  ```
1609
1791
 
1610
- Defined in: [World.ts:1260](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/World.ts#L1260)
1792
+ Defined in: [World.ts:1472](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/World.ts#L1472)
1611
1793
 
1612
1794
  #### Parameters
1613
1795