@relu-interactives/spatial-ecs 0.2.2

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 (308) hide show
  1. package/README.md +125 -0
  2. package/dist/System-rXAmagXA.d.cts +659 -0
  3. package/dist/System-rXAmagXA.d.ts +659 -0
  4. package/dist/Video-CDemv74U.d.cts +1261 -0
  5. package/dist/Video-ChKV1UI7.d.ts +1261 -0
  6. package/dist/assets/draco/draco_decoder.js +34 -0
  7. package/dist/assets/draco/draco_decoder.wasm +0 -0
  8. package/dist/assets/draco/draco_wasm_wrapper.js +117 -0
  9. package/dist/chunk-AYEF3X2P.js +223 -0
  10. package/dist/chunk-AYEF3X2P.js.map +1 -0
  11. package/dist/chunk-MAWBTMCG.js +1722 -0
  12. package/dist/chunk-MAWBTMCG.js.map +1 -0
  13. package/dist/chunk-NFDTIYR4.js +248 -0
  14. package/dist/chunk-NFDTIYR4.js.map +1 -0
  15. package/dist/chunk-OY7ZODZP.js +16 -0
  16. package/dist/chunk-OY7ZODZP.js.map +1 -0
  17. package/dist/chunk-P2YDX5DB.js +3304 -0
  18. package/dist/chunk-P2YDX5DB.js.map +1 -0
  19. package/dist/chunk-QHILSPT4.js +3 -0
  20. package/dist/chunk-QHILSPT4.js.map +1 -0
  21. package/dist/chunk-XWIEEJ7Z.js +1315 -0
  22. package/dist/chunk-XWIEEJ7Z.js.map +1 -0
  23. package/dist/components/index.cjs +1745 -0
  24. package/dist/components/index.cjs.map +1 -0
  25. package/dist/components/index.d.cts +4 -0
  26. package/dist/components/index.d.ts +4 -0
  27. package/dist/components/index.js +4 -0
  28. package/dist/components/index.js.map +1 -0
  29. package/dist/docs/api/Behaviour/classes/Behaviour.md +554 -0
  30. package/dist/docs/api/Behaviour/index.md +15 -0
  31. package/dist/docs/api/Component/classes/Component.md +57 -0
  32. package/dist/docs/api/Component/index.md +15 -0
  33. package/dist/docs/api/components/classes/AnimationComponent.md +318 -0
  34. package/dist/docs/api/components/classes/AudioComponent.md +114 -0
  35. package/dist/docs/api/components/classes/CameraComponent.md +59 -0
  36. package/dist/docs/api/components/classes/EntityType.md +48 -0
  37. package/dist/docs/api/components/classes/Environment.md +47 -0
  38. package/dist/docs/api/components/classes/ImageComponent.md +57 -0
  39. package/dist/docs/api/components/classes/ImageTarget.md +60 -0
  40. package/dist/docs/api/components/classes/ImageTargetAnchor.md +48 -0
  41. package/dist/docs/api/components/classes/LightComponent.md +70 -0
  42. package/dist/docs/api/components/classes/MaterialComponent.md +181 -0
  43. package/dist/docs/api/components/classes/MeshComponent.md +48 -0
  44. package/dist/docs/api/components/classes/MeshGeometryComponent.md +64 -0
  45. package/dist/docs/api/components/classes/ModelComponent.md +49 -0
  46. package/dist/docs/api/components/classes/Name.md +46 -0
  47. package/dist/docs/api/components/classes/Object3DRef.md +54 -0
  48. package/dist/docs/api/components/classes/ParentId.md +47 -0
  49. package/dist/docs/api/components/classes/PhysicsComponent.md +82 -0
  50. package/dist/docs/api/components/classes/Postprocessing.md +49 -0
  51. package/dist/docs/api/components/classes/ScriptComponent.md +54 -0
  52. package/dist/docs/api/components/classes/Selectable.md +46 -0
  53. package/dist/docs/api/components/classes/SelectionTransformState.md +54 -0
  54. package/dist/docs/api/components/classes/SpriteComponent.md +55 -0
  55. package/dist/docs/api/components/classes/TransformComponent.md +197 -0
  56. package/dist/docs/api/components/classes/VideoComponent.md +123 -0
  57. package/dist/docs/api/components/functions/normalizePhysicsState.md +23 -0
  58. package/dist/docs/api/components/index.md +94 -0
  59. package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +42 -0
  60. package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +45 -0
  61. package/dist/docs/api/components/type-aliases/CameraProjection.md +15 -0
  62. package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +15 -0
  63. package/dist/docs/api/components/type-aliases/ColliderShape.md +15 -0
  64. package/dist/docs/api/components/type-aliases/ColliderState.md +62 -0
  65. package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +27 -0
  66. package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +15 -0
  67. package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +37 -0
  68. package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +15 -0
  69. package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +15 -0
  70. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +34 -0
  71. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +15 -0
  72. package/dist/docs/api/components/type-aliases/EnvironmentState.md +29 -0
  73. package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +25 -0
  74. package/dist/docs/api/components/type-aliases/ImageTargetReference.md +33 -0
  75. package/dist/docs/api/components/type-aliases/LightValueState.md +41 -0
  76. package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +15 -0
  77. package/dist/docs/api/components/type-aliases/MaterialValueState.md +75 -0
  78. package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +13 -0
  79. package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +33 -0
  80. package/dist/docs/api/components/type-aliases/PhysicsState.md +25 -0
  81. package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +25 -0
  82. package/dist/docs/api/components/type-aliases/PostprocessingState.md +164 -0
  83. package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +25 -0
  84. package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +23 -0
  85. package/dist/docs/api/components/type-aliases/RigidbodyState.md +53 -0
  86. package/dist/docs/api/components/type-aliases/RigidbodyType.md +19 -0
  87. package/dist/docs/api/components/type-aliases/ScriptEntry.md +38 -0
  88. package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +15 -0
  89. package/dist/docs/api/components/type-aliases/TransformData.md +27 -0
  90. package/dist/docs/api/components/type-aliases/TransformModeValue.md +15 -0
  91. package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +15 -0
  92. package/dist/docs/api/components/type-aliases/Vec3.md +27 -0
  93. package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +13 -0
  94. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +13 -0
  95. package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +13 -0
  96. package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +13 -0
  97. package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +13 -0
  98. package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +13 -0
  99. package/dist/docs/api/index/classes/AnimationStateMachine.md +201 -0
  100. package/dist/docs/api/index/classes/AnimationStateManager.md +253 -0
  101. package/dist/docs/api/index/classes/AnimationSystem.md +68 -0
  102. package/dist/docs/api/index/classes/AudioSystem.md +98 -0
  103. package/dist/docs/api/index/classes/CameraSyncSystem.md +49 -0
  104. package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +75 -0
  105. package/dist/docs/api/index/classes/InputSystem.md +449 -0
  106. package/dist/docs/api/index/classes/LightSyncSystem.md +49 -0
  107. package/dist/docs/api/index/classes/MaterialSyncSystem.md +67 -0
  108. package/dist/docs/api/index/classes/MeshGeometrySystem.md +49 -0
  109. package/dist/docs/api/index/classes/ObjectManagementSystem.md +298 -0
  110. package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +49 -0
  111. package/dist/docs/api/index/classes/PhysicsSyncSystem.md +83 -0
  112. package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +80 -0
  113. package/dist/docs/api/index/classes/RenderSystem.md +64 -0
  114. package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +83 -0
  115. package/dist/docs/api/index/classes/TransformSyncSystem.md +49 -0
  116. package/dist/docs/api/index/classes/VideoSystem.md +97 -0
  117. package/dist/docs/api/index/classes/World.md +1405 -0
  118. package/dist/docs/api/index/functions/createAnimationComponent.md +28 -0
  119. package/dist/docs/api/index/functions/createAudioComponent.md +32 -0
  120. package/dist/docs/api/index/functions/createCameraComponent.md +28 -0
  121. package/dist/docs/api/index/functions/createEntityTypeComponent.md +28 -0
  122. package/dist/docs/api/index/functions/createEnvironmentComponent.md +28 -0
  123. package/dist/docs/api/index/functions/createImageComponent.md +28 -0
  124. package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +28 -0
  125. package/dist/docs/api/index/functions/createImageTargetComponent.md +28 -0
  126. package/dist/docs/api/index/functions/createLightComponent.md +28 -0
  127. package/dist/docs/api/index/functions/createMaterialComponent.md +28 -0
  128. package/dist/docs/api/index/functions/createMeshComponent.md +28 -0
  129. package/dist/docs/api/index/functions/createMeshGeometryComponent.md +28 -0
  130. package/dist/docs/api/index/functions/createModelComponent.md +28 -0
  131. package/dist/docs/api/index/functions/createNameComponent.md +28 -0
  132. package/dist/docs/api/index/functions/createObject3DRefComponent.md +28 -0
  133. package/dist/docs/api/index/functions/createParentIdComponent.md +28 -0
  134. package/dist/docs/api/index/functions/createPhysicsComponent.md +30 -0
  135. package/dist/docs/api/index/functions/createPostprocessingComponent.md +28 -0
  136. package/dist/docs/api/index/functions/createScriptComponent.md +28 -0
  137. package/dist/docs/api/index/functions/createSelectableComponent.md +28 -0
  138. package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +28 -0
  139. package/dist/docs/api/index/functions/createSpriteComponent.md +28 -0
  140. package/dist/docs/api/index/functions/createTransformComponent.md +28 -0
  141. package/dist/docs/api/index/functions/createVideoComponent.md +28 -0
  142. package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +28 -0
  143. package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +28 -0
  144. package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +23 -0
  145. package/dist/docs/api/index/functions/registerDefaultFactories.md +23 -0
  146. package/dist/docs/api/index/index.md +249 -0
  147. package/dist/docs/api/index/interfaces/EcsSystem.md +50 -0
  148. package/dist/docs/api/index/interfaces/StateMachine.md +26 -0
  149. package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +25 -0
  150. package/dist/docs/api/index/type-aliases/ComponentFactory.md +25 -0
  151. package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +37 -0
  152. package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +26 -0
  153. package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +25 -0
  154. package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +23 -0
  155. package/dist/docs/api/index/type-aliases/KeyboardKey.md +13 -0
  156. package/dist/docs/api/index/type-aliases/MouseButton.md +13 -0
  157. package/dist/docs/api/index/type-aliases/SelectionContext.md +31 -0
  158. package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +13 -0
  159. package/dist/docs/api/index/variables/KeyboardKeys.md +195 -0
  160. package/dist/docs/api/index.md +15 -0
  161. package/dist/docs/api/typedoc-sidebar.json +1 -0
  162. package/dist/docs/api/types/index.md +34 -0
  163. package/dist/docs/api/types/type-aliases/AssetInput.md +23 -0
  164. package/dist/docs/api/types/type-aliases/CheckboxInput.md +13 -0
  165. package/dist/docs/api/types/type-aliases/ColorInput.md +13 -0
  166. package/dist/docs/api/types/type-aliases/ComponentInput.md +52 -0
  167. package/dist/docs/api/types/type-aliases/ComponentKind.md +37 -0
  168. package/dist/docs/api/types/type-aliases/DropdownInput.md +23 -0
  169. package/dist/docs/api/types/type-aliases/DropdownOption.md +23 -0
  170. package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +15 -0
  171. package/dist/docs/api/types/type-aliases/EcsEntityKind.md +35 -0
  172. package/dist/docs/api/types/type-aliases/EntityId.md +16 -0
  173. package/dist/docs/api/types/type-aliases/EntityInput.md +23 -0
  174. package/dist/docs/api/types/type-aliases/FloatInput.md +13 -0
  175. package/dist/docs/api/types/type-aliases/IntersectionResult.md +29 -0
  176. package/dist/docs/api/types/type-aliases/ParentLookup.md +26 -0
  177. package/dist/docs/api/types/type-aliases/SelectionListener.md +25 -0
  178. package/dist/docs/api/types/type-aliases/SliderInput.md +27 -0
  179. package/dist/docs/api/types/type-aliases/TextInput.md +13 -0
  180. package/dist/docs/api/types/type-aliases/ToggleInput.md +13 -0
  181. package/dist/docs/api/types/type-aliases/Vec3.md +23 -0
  182. package/dist/docs/api/types/type-aliases/Vector2Input.md +23 -0
  183. package/dist/docs/api/types/type-aliases/Vector3Input.md +25 -0
  184. package/dist/docs/api/types/type-aliases/WorldEntityView.md +17 -0
  185. package/dist/docs/guide/accessing-components.md +399 -0
  186. package/dist/docs/guide/authoring-a-behaviour.md +166 -0
  187. package/dist/docs/guide/behaviour-lifecycle.md +43 -0
  188. package/dist/docs/guide/component-catalog.md +59 -0
  189. package/dist/docs/guide/components/_sidebar.json +78 -0
  190. package/dist/docs/guide/components/animation.md +171 -0
  191. package/dist/docs/guide/components/audio.md +181 -0
  192. package/dist/docs/guide/components/camera.md +179 -0
  193. package/dist/docs/guide/components/entity-type.md +141 -0
  194. package/dist/docs/guide/components/image-target-anchor.md +103 -0
  195. package/dist/docs/guide/components/image-target.md +122 -0
  196. package/dist/docs/guide/components/image.md +146 -0
  197. package/dist/docs/guide/components/light.md +157 -0
  198. package/dist/docs/guide/components/material.md +161 -0
  199. package/dist/docs/guide/components/mesh-geometry.md +153 -0
  200. package/dist/docs/guide/components/mesh.md +151 -0
  201. package/dist/docs/guide/components/model.md +96 -0
  202. package/dist/docs/guide/components/name.md +121 -0
  203. package/dist/docs/guide/components/object3d-ref.md +115 -0
  204. package/dist/docs/guide/components/parent-id.md +108 -0
  205. package/dist/docs/guide/components/physics.md +163 -0
  206. package/dist/docs/guide/components/script.md +142 -0
  207. package/dist/docs/guide/components/sprite.md +155 -0
  208. package/dist/docs/guide/components/transform.md +155 -0
  209. package/dist/docs/guide/components/video.md +153 -0
  210. package/dist/docs/guide/concepts.md +34 -0
  211. package/dist/docs/guide/getting-started/creating-objects.md +50 -0
  212. package/dist/docs/guide/getting-started/editing-objects.md +62 -0
  213. package/dist/docs/guide/getting-started/editor/assets-browser.md +55 -0
  214. package/dist/docs/guide/getting-started/editor/hierarchy.md +47 -0
  215. package/dist/docs/guide/getting-started/editor/index.md +16 -0
  216. package/dist/docs/guide/getting-started/editor/inspector.md +36 -0
  217. package/dist/docs/guide/getting-started/editor/modules.md +35 -0
  218. package/dist/docs/guide/getting-started/editor/scene-inspector.md +64 -0
  219. package/dist/docs/guide/getting-started/editor/toolbar.md +39 -0
  220. package/dist/docs/guide/getting-started/editor/viewport.md +43 -0
  221. package/dist/docs/guide/getting-started/first-launch.md +17 -0
  222. package/dist/docs/guide/getting-started/index.md +37 -0
  223. package/dist/docs/guide/getting-started/installation.md +59 -0
  224. package/dist/docs/guide/getting-started/preview-and-test.md +55 -0
  225. package/dist/docs/guide/getting-started/project-types/3d.md +30 -0
  226. package/dist/docs/guide/getting-started/project-types/ar.md +6 -0
  227. package/dist/docs/guide/getting-started/project-types/face-tracking.md +6 -0
  228. package/dist/docs/guide/getting-started/project-types/image-tracking.md +42 -0
  229. package/dist/docs/guide/getting-started/project-types/index.md +25 -0
  230. package/dist/docs/guide/getting-started/project-types/vr.md +6 -0
  231. package/dist/docs/guide/getting-started/projects.md +53 -0
  232. package/dist/docs/guide/getting-started/shortcuts.md +43 -0
  233. package/dist/docs/guide/inspector-data-binding.md +367 -0
  234. package/dist/docs/guide/reading-input.md +202 -0
  235. package/dist/docs/guide/scene/environment.md +101 -0
  236. package/dist/docs/guide/scene/index.md +36 -0
  237. package/dist/docs/guide/scene/postprocessing.md +108 -0
  238. package/dist/docs/guide/spawning/ambient-light.md +28 -0
  239. package/dist/docs/guide/spawning/area-light.md +32 -0
  240. package/dist/docs/guide/spawning/audio.md +42 -0
  241. package/dist/docs/guide/spawning/camera.md +50 -0
  242. package/dist/docs/guide/spawning/capsule.md +29 -0
  243. package/dist/docs/guide/spawning/cube.md +31 -0
  244. package/dist/docs/guide/spawning/cylinder.md +29 -0
  245. package/dist/docs/guide/spawning/directional-light.md +32 -0
  246. package/dist/docs/guide/spawning/empty.md +31 -0
  247. package/dist/docs/guide/spawning/image-target.md +48 -0
  248. package/dist/docs/guide/spawning/image.md +33 -0
  249. package/dist/docs/guide/spawning/index.md +79 -0
  250. package/dist/docs/guide/spawning/model.md +31 -0
  251. package/dist/docs/guide/spawning/plane.md +31 -0
  252. package/dist/docs/guide/spawning/point-light.md +32 -0
  253. package/dist/docs/guide/spawning/sphere.md +29 -0
  254. package/dist/docs/guide/spawning/spot-light.md +32 -0
  255. package/dist/docs/guide/spawning/sprite.md +31 -0
  256. package/dist/docs/guide/spawning/video.md +53 -0
  257. package/dist/docs/guide/system-overview.md +73 -0
  258. package/dist/docs/guide/systems/_sidebar.json +66 -0
  259. package/dist/docs/guide/systems/animation-system.md +32 -0
  260. package/dist/docs/guide/systems/audio-system.md +28 -0
  261. package/dist/docs/guide/systems/camera-sync-system.md +31 -0
  262. package/dist/docs/guide/systems/environment-sync-system.md +31 -0
  263. package/dist/docs/guide/systems/input-system.md +217 -0
  264. package/dist/docs/guide/systems/light-sync-system.md +29 -0
  265. package/dist/docs/guide/systems/material-sync-system.md +32 -0
  266. package/dist/docs/guide/systems/mesh-geometry-system.md +40 -0
  267. package/dist/docs/guide/systems/object-management-system.md +38 -0
  268. package/dist/docs/guide/systems/object-visibility-system.md +26 -0
  269. package/dist/docs/guide/systems/physics-sync-system.md +56 -0
  270. package/dist/docs/guide/systems/postprocessing-sync-system.md +43 -0
  271. package/dist/docs/guide/systems/render-system.md +22 -0
  272. package/dist/docs/guide/systems/script-behaviour-system.md +59 -0
  273. package/dist/docs/guide/systems/transform-sync-system.md +29 -0
  274. package/dist/docs/guide/systems/video-system.md +30 -0
  275. package/dist/docs/guide/world-api.md +405 -0
  276. package/dist/factories/index.cjs +3077 -0
  277. package/dist/factories/index.cjs.map +1 -0
  278. package/dist/factories/index.d.cts +69 -0
  279. package/dist/factories/index.d.ts +69 -0
  280. package/dist/factories/index.js +6 -0
  281. package/dist/factories/index.js.map +1 -0
  282. package/dist/index-B4-YyUNR.d.cts +73 -0
  283. package/dist/index-BZUOKeTO.d.ts +73 -0
  284. package/dist/index.cjs +8584 -0
  285. package/dist/index.cjs.map +1 -0
  286. package/dist/index.d.cts +283 -0
  287. package/dist/index.d.ts +283 -0
  288. package/dist/index.js +1729 -0
  289. package/dist/index.js.map +1 -0
  290. package/dist/systems/index.cjs +5119 -0
  291. package/dist/systems/index.cjs.map +1 -0
  292. package/dist/systems/index.d.cts +200 -0
  293. package/dist/systems/index.d.ts +200 -0
  294. package/dist/systems/index.js +6 -0
  295. package/dist/systems/index.js.map +1 -0
  296. package/dist/types.cjs +4 -0
  297. package/dist/types.cjs.map +1 -0
  298. package/dist/types.d.cts +3 -0
  299. package/dist/types.d.ts +3 -0
  300. package/dist/types.js +3 -0
  301. package/dist/types.js.map +1 -0
  302. package/dist/worldSnapshotUtils.cjs +259 -0
  303. package/dist/worldSnapshotUtils.cjs.map +1 -0
  304. package/dist/worldSnapshotUtils.d.cts +3 -0
  305. package/dist/worldSnapshotUtils.d.ts +3 -0
  306. package/dist/worldSnapshotUtils.js +4 -0
  307. package/dist/worldSnapshotUtils.js.map +1 -0
  308. package/package.json +80 -0
@@ -0,0 +1,1405 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [index](../index.md) / World
6
+
7
+ # Class: World
8
+
9
+ Defined in: [World.ts:56](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L56)
10
+
11
+ ## Constructors
12
+
13
+ ### Constructor
14
+
15
+ ```ts
16
+ new World(options): World;
17
+ ```
18
+
19
+ Defined in: [World.ts:84](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L84)
20
+
21
+ #### Parameters
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` |
30
+
31
+ #### Returns
32
+
33
+ `World`
34
+
35
+ ## Methods
36
+
37
+ ### createEntity()
38
+
39
+ ```ts
40
+ createEntity(): number;
41
+ ```
42
+
43
+ Defined in: [World.ts:103](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L103)
44
+
45
+ #### Returns
46
+
47
+ `number`
48
+
49
+ ***
50
+
51
+ ### destroyEntity()
52
+
53
+ ```ts
54
+ destroyEntity(entityId): void;
55
+ ```
56
+
57
+ Defined in: [World.ts:111](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L111)
58
+
59
+ #### Parameters
60
+
61
+ | Parameter | Type |
62
+ | ------ | ------ |
63
+ | `entityId` | `number` |
64
+
65
+ #### Returns
66
+
67
+ `void`
68
+
69
+ ***
70
+
71
+ ### hasEntity()
72
+
73
+ ```ts
74
+ hasEntity(entityId): boolean;
75
+ ```
76
+
77
+ Defined in: [World.ts:138](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L138)
78
+
79
+ #### Parameters
80
+
81
+ | Parameter | Type |
82
+ | ------ | ------ |
83
+ | `entityId` | `number` |
84
+
85
+ #### Returns
86
+
87
+ `boolean`
88
+
89
+ ***
90
+
91
+ ### getEntities()
92
+
93
+ ```ts
94
+ getEntities(): number[];
95
+ ```
96
+
97
+ Defined in: [World.ts:142](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L142)
98
+
99
+ #### Returns
100
+
101
+ `number`[]
102
+
103
+ ***
104
+
105
+ ### getEntityCount()
106
+
107
+ ```ts
108
+ getEntityCount(): number;
109
+ ```
110
+
111
+ Defined in: [World.ts:146](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L146)
112
+
113
+ #### Returns
114
+
115
+ `number`
116
+
117
+ ***
118
+
119
+ ### addComponent()
120
+
121
+ ```ts
122
+ addComponent<T>(entityId, component): void;
123
+ ```
124
+
125
+ Defined in: [World.ts:150](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L150)
126
+
127
+ #### Type Parameters
128
+
129
+ | Type Parameter |
130
+ | ------ |
131
+ | `T` *extends* [`Component`](../../Component/classes/Component.md) |
132
+
133
+ #### Parameters
134
+
135
+ | Parameter | Type |
136
+ | ------ | ------ |
137
+ | `entityId` | `number` |
138
+ | `component` | `T` |
139
+
140
+ #### Returns
141
+
142
+ `void`
143
+
144
+ ***
145
+
146
+ ### addComponents()
147
+
148
+ ```ts
149
+ addComponents<T>(entityId, components): void;
150
+ ```
151
+
152
+ Defined in: [World.ts:165](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L165)
153
+
154
+ #### Type Parameters
155
+
156
+ | Type Parameter |
157
+ | ------ |
158
+ | `T` *extends* [`Component`](../../Component/classes/Component.md) |
159
+
160
+ #### Parameters
161
+
162
+ | Parameter | Type |
163
+ | ------ | ------ |
164
+ | `entityId` | `number` |
165
+ | `components` | `T`[] |
166
+
167
+ #### Returns
168
+
169
+ `void`
170
+
171
+ ***
172
+
173
+ ### removeComponent()
174
+
175
+ ```ts
176
+ removeComponent<T>(entityId, componentType): void;
177
+ ```
178
+
179
+ Defined in: [World.ts:186](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L186)
180
+
181
+ #### Type Parameters
182
+
183
+ | Type Parameter |
184
+ | ------ |
185
+ | `T` *extends* [`Component`](../../Component/classes/Component.md) |
186
+
187
+ #### Parameters
188
+
189
+ | Parameter | Type |
190
+ | ------ | ------ |
191
+ | `entityId` | `number` |
192
+ | `componentType` | `ComponentClass`\<`T`\> |
193
+
194
+ #### Returns
195
+
196
+ `void`
197
+
198
+ ***
199
+
200
+ ### getComponent()
201
+
202
+ ```ts
203
+ getComponent<T>(entityId, componentType): T | undefined;
204
+ ```
205
+
206
+ Defined in: [World.ts:194](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L194)
207
+
208
+ #### Type Parameters
209
+
210
+ | Type Parameter |
211
+ | ------ |
212
+ | `T` *extends* [`Component`](../../Component/classes/Component.md) |
213
+
214
+ #### Parameters
215
+
216
+ | Parameter | Type |
217
+ | ------ | ------ |
218
+ | `entityId` | `number` |
219
+ | `componentType` | `ComponentClass`\<`T`\> |
220
+
221
+ #### Returns
222
+
223
+ `T` \| `undefined`
224
+
225
+ ***
226
+
227
+ ### hasComponent()
228
+
229
+ ```ts
230
+ hasComponent<T>(entityId, componentType): boolean;
231
+ ```
232
+
233
+ Defined in: [World.ts:201](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L201)
234
+
235
+ #### Type Parameters
236
+
237
+ | Type Parameter |
238
+ | ------ |
239
+ | `T` *extends* [`Component`](../../Component/classes/Component.md) |
240
+
241
+ #### Parameters
242
+
243
+ | Parameter | Type |
244
+ | ------ | ------ |
245
+ | `entityId` | `number` |
246
+ | `componentType` | `ComponentClass`\<`T`\> |
247
+
248
+ #### Returns
249
+
250
+ `boolean`
251
+
252
+ ***
253
+
254
+ ### query()
255
+
256
+ ```ts
257
+ query(...componentTypes): number[];
258
+ ```
259
+
260
+ Defined in: [World.ts:208](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L208)
261
+
262
+ #### Parameters
263
+
264
+ | Parameter | Type |
265
+ | ------ | ------ |
266
+ | ...`componentTypes` | `ComponentClass`\<[`Component`](../../Component/classes/Component.md)\>[] |
267
+
268
+ #### Returns
269
+
270
+ `number`[]
271
+
272
+ ***
273
+
274
+ ### isEntityVisible()
275
+
276
+ ```ts
277
+ isEntityVisible(entityId): boolean;
278
+ ```
279
+
280
+ Defined in: [World.ts:222](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L222)
281
+
282
+ Returns `true` if the entity is currently visible (its `Object3DRef.visibility`
283
+ is `true`), or if the entity has no `Object3DRef` component (entities without a
284
+ scene object are always considered active). Systems use this to skip per-entity
285
+ updates for hidden objects.
286
+
287
+ #### Parameters
288
+
289
+ | Parameter | Type |
290
+ | ------ | ------ |
291
+ | `entityId` | `number` |
292
+
293
+ #### Returns
294
+
295
+ `boolean`
296
+
297
+ ***
298
+
299
+ ### getInputSystem()
300
+
301
+ ```ts
302
+ getInputSystem(): EcsSystem | null;
303
+ ```
304
+
305
+ Defined in: [World.ts:227](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L227)
306
+
307
+ #### Returns
308
+
309
+ [`EcsSystem`](../interfaces/EcsSystem.md) \| `null`
310
+
311
+ ***
312
+
313
+ ### getKeyDown()
314
+
315
+ ```ts
316
+ getKeyDown(key): boolean;
317
+ ```
318
+
319
+ Defined in: [World.ts:239](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L239)
320
+
321
+ #### Parameters
322
+
323
+ | Parameter | Type |
324
+ | ------ | ------ |
325
+ | `key` | [`KeyboardKey`](../type-aliases/KeyboardKey.md) |
326
+
327
+ #### Returns
328
+
329
+ `boolean`
330
+
331
+ ***
332
+
333
+ ### getKeyUp()
334
+
335
+ ```ts
336
+ getKeyUp(key): boolean;
337
+ ```
338
+
339
+ Defined in: [World.ts:248](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L248)
340
+
341
+ #### Parameters
342
+
343
+ | Parameter | Type |
344
+ | ------ | ------ |
345
+ | `key` | [`KeyboardKey`](../type-aliases/KeyboardKey.md) |
346
+
347
+ #### Returns
348
+
349
+ `boolean`
350
+
351
+ ***
352
+
353
+ ### getKey()
354
+
355
+ ```ts
356
+ getKey(key): boolean;
357
+ ```
358
+
359
+ Defined in: [World.ts:257](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L257)
360
+
361
+ #### Parameters
362
+
363
+ | Parameter | Type |
364
+ | ------ | ------ |
365
+ | `key` | [`KeyboardKey`](../type-aliases/KeyboardKey.md) |
366
+
367
+ #### Returns
368
+
369
+ `boolean`
370
+
371
+ ***
372
+
373
+ ### getMouse()
374
+
375
+ ```ts
376
+ getMouse(button): boolean;
377
+ ```
378
+
379
+ Defined in: [World.ts:266](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L266)
380
+
381
+ #### Parameters
382
+
383
+ | Parameter | Type |
384
+ | ------ | ------ |
385
+ | `button` | `string` \| `number` |
386
+
387
+ #### Returns
388
+
389
+ `boolean`
390
+
391
+ ***
392
+
393
+ ### getMouseDown()
394
+
395
+ ```ts
396
+ getMouseDown(button): boolean;
397
+ ```
398
+
399
+ Defined in: [World.ts:275](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L275)
400
+
401
+ #### Parameters
402
+
403
+ | Parameter | Type |
404
+ | ------ | ------ |
405
+ | `button` | `string` \| `number` |
406
+
407
+ #### Returns
408
+
409
+ `boolean`
410
+
411
+ ***
412
+
413
+ ### getMouseUp()
414
+
415
+ ```ts
416
+ getMouseUp(button): boolean;
417
+ ```
418
+
419
+ Defined in: [World.ts:284](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L284)
420
+
421
+ #### Parameters
422
+
423
+ | Parameter | Type |
424
+ | ------ | ------ |
425
+ | `button` | `string` \| `number` |
426
+
427
+ #### Returns
428
+
429
+ `boolean`
430
+
431
+ ***
432
+
433
+ ### getScrollClick()
434
+
435
+ ```ts
436
+ getScrollClick(): boolean;
437
+ ```
438
+
439
+ Defined in: [World.ts:293](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L293)
440
+
441
+ #### Returns
442
+
443
+ `boolean`
444
+
445
+ ***
446
+
447
+ ### getScrollClickDown()
448
+
449
+ ```ts
450
+ getScrollClickDown(): boolean;
451
+ ```
452
+
453
+ Defined in: [World.ts:302](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L302)
454
+
455
+ #### Returns
456
+
457
+ `boolean`
458
+
459
+ ***
460
+
461
+ ### getScrollClickUp()
462
+
463
+ ```ts
464
+ getScrollClickUp(): boolean;
465
+ ```
466
+
467
+ Defined in: [World.ts:311](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L311)
468
+
469
+ #### Returns
470
+
471
+ `boolean`
472
+
473
+ ***
474
+
475
+ ### getScrollDelta()
476
+
477
+ ```ts
478
+ getScrollDelta(): {
479
+ x: number;
480
+ y: number;
481
+ };
482
+ ```
483
+
484
+ Defined in: [World.ts:320](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L320)
485
+
486
+ #### Returns
487
+
488
+ ```ts
489
+ {
490
+ x: number;
491
+ y: number;
492
+ }
493
+ ```
494
+
495
+ | Name | Type | Defined in |
496
+ | ------ | ------ | ------ |
497
+ | `x` | `number` | [World.ts:320](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L320) |
498
+ | `y` | `number` | [World.ts:320](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L320) |
499
+
500
+ ***
501
+
502
+ ### consumeScrollDelta()
503
+
504
+ ```ts
505
+ consumeScrollDelta(): {
506
+ x: number;
507
+ y: number;
508
+ };
509
+ ```
510
+
511
+ Defined in: [World.ts:329](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L329)
512
+
513
+ #### Returns
514
+
515
+ ```ts
516
+ {
517
+ x: number;
518
+ y: number;
519
+ }
520
+ ```
521
+
522
+ | Name | Type | Defined in |
523
+ | ------ | ------ | ------ |
524
+ | `x` | `number` | [World.ts:329](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L329) |
525
+ | `y` | `number` | [World.ts:329](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L329) |
526
+
527
+ ***
528
+
529
+ ### getMousePosition()
530
+
531
+ ```ts
532
+ getMousePosition(): {
533
+ x: number;
534
+ y: number;
535
+ };
536
+ ```
537
+
538
+ Defined in: [World.ts:338](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L338)
539
+
540
+ #### Returns
541
+
542
+ ```ts
543
+ {
544
+ x: number;
545
+ y: number;
546
+ }
547
+ ```
548
+
549
+ | Name | Type | Defined in |
550
+ | ------ | ------ | ------ |
551
+ | `x` | `number` | [World.ts:338](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L338) |
552
+ | `y` | `number` | [World.ts:338](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L338) |
553
+
554
+ ***
555
+
556
+ ### getMouseDelta()
557
+
558
+ ```ts
559
+ getMouseDelta(): {
560
+ x: number;
561
+ y: number;
562
+ };
563
+ ```
564
+
565
+ Defined in: [World.ts:347](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L347)
566
+
567
+ #### Returns
568
+
569
+ ```ts
570
+ {
571
+ x: number;
572
+ y: number;
573
+ }
574
+ ```
575
+
576
+ | Name | Type | Defined in |
577
+ | ------ | ------ | ------ |
578
+ | `x` | `number` | [World.ts:347](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L347) |
579
+ | `y` | `number` | [World.ts:347](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L347) |
580
+
581
+ ***
582
+
583
+ ### consumeMouseDelta()
584
+
585
+ ```ts
586
+ consumeMouseDelta(): {
587
+ x: number;
588
+ y: number;
589
+ };
590
+ ```
591
+
592
+ Defined in: [World.ts:356](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L356)
593
+
594
+ #### Returns
595
+
596
+ ```ts
597
+ {
598
+ x: number;
599
+ y: number;
600
+ }
601
+ ```
602
+
603
+ | Name | Type | Defined in |
604
+ | ------ | ------ | ------ |
605
+ | `x` | `number` | [World.ts:356](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L356) |
606
+ | `y` | `number` | [World.ts:356](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L356) |
607
+
608
+ ***
609
+
610
+ ### getRapierModule()
611
+
612
+ ```ts
613
+ getRapierModule(): Promise<__module>;
614
+ ```
615
+
616
+ Defined in: [World.ts:365](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L365)
617
+
618
+ #### Returns
619
+
620
+ `Promise`\<`__module`\>
621
+
622
+ ***
623
+
624
+ ### getPhysicsWorld()
625
+
626
+ ```ts
627
+ getPhysicsWorld(): World | null;
628
+ ```
629
+
630
+ Defined in: [World.ts:383](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L383)
631
+
632
+ #### Returns
633
+
634
+ `World` \| `null`
635
+
636
+ ***
637
+
638
+ ### setPhysicsWorld()
639
+
640
+ ```ts
641
+ setPhysicsWorld(physicsWorld): void;
642
+ ```
643
+
644
+ Defined in: [World.ts:387](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L387)
645
+
646
+ #### Parameters
647
+
648
+ | Parameter | Type |
649
+ | ------ | ------ |
650
+ | `physicsWorld` | `World` \| `null` |
651
+
652
+ #### Returns
653
+
654
+ `void`
655
+
656
+ ***
657
+
658
+ ### createPhysicsWorld()
659
+
660
+ ```ts
661
+ createPhysicsWorld(options?): Promise<World | null>;
662
+ ```
663
+
664
+ Defined in: [World.ts:391](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L391)
665
+
666
+ #### Parameters
667
+
668
+ | Parameter | Type |
669
+ | ------ | ------ |
670
+ | `options?` | \{ `gravity?`: \{ `x?`: `number`; `y?`: `number`; `z?`: `number`; \}; \} |
671
+ | `options.gravity?` | \{ `x?`: `number`; `y?`: `number`; `z?`: `number`; \} |
672
+ | `options.gravity.x?` | `number` |
673
+ | `options.gravity.y?` | `number` |
674
+ | `options.gravity.z?` | `number` |
675
+
676
+ #### Returns
677
+
678
+ `Promise`\<`World` \| `null`\>
679
+
680
+ ***
681
+
682
+ ### lockMousePointer()
683
+
684
+ ```ts
685
+ lockMousePointer(): boolean;
686
+ ```
687
+
688
+ Defined in: [World.ts:410](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L410)
689
+
690
+ #### Returns
691
+
692
+ `boolean`
693
+
694
+ ***
695
+
696
+ ### unlockMousePointer()
697
+
698
+ ```ts
699
+ unlockMousePointer(): boolean;
700
+ ```
701
+
702
+ Defined in: [World.ts:441](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L441)
703
+
704
+ #### Returns
705
+
706
+ `boolean`
707
+
708
+ ***
709
+
710
+ ### isMousePointerLocked()
711
+
712
+ ```ts
713
+ isMousePointerLocked(): boolean;
714
+ ```
715
+
716
+ Defined in: [World.ts:462](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L462)
717
+
718
+ #### Returns
719
+
720
+ `boolean`
721
+
722
+ ***
723
+
724
+ ### getSystem()
725
+
726
+ ```ts
727
+ getSystem<T>(system): T;
728
+ ```
729
+
730
+ Defined in: [World.ts:478](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L478)
731
+
732
+ #### Type Parameters
733
+
734
+ | Type Parameter |
735
+ | ------ |
736
+ | `T` *extends* [`EcsSystem`](../interfaces/EcsSystem.md) |
737
+
738
+ #### Parameters
739
+
740
+ | Parameter | Type |
741
+ | ------ | ------ |
742
+ | `system` | `T` |
743
+
744
+ #### Returns
745
+
746
+ `T`
747
+
748
+ ***
749
+
750
+ ### hasSystem()
751
+
752
+ ```ts
753
+ hasSystem<T>(system): boolean;
754
+ ```
755
+
756
+ Defined in: [World.ts:495](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L495)
757
+
758
+ #### Type Parameters
759
+
760
+ | Type Parameter |
761
+ | ------ |
762
+ | `T` *extends* [`EcsSystem`](../interfaces/EcsSystem.md) |
763
+
764
+ #### Parameters
765
+
766
+ | Parameter | Type |
767
+ | ------ | ------ |
768
+ | `system` | `T` |
769
+
770
+ #### Returns
771
+
772
+ `boolean`
773
+
774
+ ***
775
+
776
+ ### addSystem()
777
+
778
+ ```ts
779
+ addSystem(system): void;
780
+ ```
781
+
782
+ Defined in: [World.ts:504](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L504)
783
+
784
+ #### Parameters
785
+
786
+ | Parameter | Type |
787
+ | ------ | ------ |
788
+ | `system` | [`EcsSystem`](../interfaces/EcsSystem.md) |
789
+
790
+ #### Returns
791
+
792
+ `void`
793
+
794
+ ***
795
+
796
+ ### addSystems()
797
+
798
+ ```ts
799
+ addSystems(systems): void;
800
+ ```
801
+
802
+ Defined in: [World.ts:508](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L508)
803
+
804
+ #### Parameters
805
+
806
+ | Parameter | Type |
807
+ | ------ | ------ |
808
+ | `systems` | [`EcsSystem`](../interfaces/EcsSystem.md)[] |
809
+
810
+ #### Returns
811
+
812
+ `void`
813
+
814
+ ***
815
+
816
+ ### setup()
817
+
818
+ ```ts
819
+ setup(__namedParameters): {
820
+ objectManagementSystem: ObjectManagementSystem;
821
+ transformSyncSystem: TransformSyncSystem;
822
+ renderSystem: RenderSystem;
823
+ };
824
+ ```
825
+
826
+ Defined in: [World.ts:514](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L514)
827
+
828
+ #### Parameters
829
+
830
+ | Parameter | Type |
831
+ | ------ | ------ |
832
+ | `__namedParameters` | \{ `systems`: [`EcsSystem`](../interfaces/EcsSystem.md)[]; `isEditor?`: `boolean`; \} |
833
+ | `__namedParameters.systems` | [`EcsSystem`](../interfaces/EcsSystem.md)[] |
834
+ | `__namedParameters.isEditor?` | `boolean` |
835
+
836
+ #### Returns
837
+
838
+ ```ts
839
+ {
840
+ objectManagementSystem: ObjectManagementSystem;
841
+ transformSyncSystem: TransformSyncSystem;
842
+ renderSystem: RenderSystem;
843
+ }
844
+ ```
845
+
846
+ | Name | Type | Defined in |
847
+ | ------ | ------ | ------ |
848
+ | `objectManagementSystem` | [`ObjectManagementSystem`](ObjectManagementSystem.md) | [World.ts:515](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L515) |
849
+ | `transformSyncSystem` | [`TransformSyncSystem`](TransformSyncSystem.md) | [World.ts:516](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L516) |
850
+ | `renderSystem` | [`RenderSystem`](RenderSystem.md) | [World.ts:517](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L517) |
851
+
852
+ ***
853
+
854
+ ### isEditorMode()
855
+
856
+ ```ts
857
+ isEditorMode(): boolean;
858
+ ```
859
+
860
+ Defined in: [World.ts:596](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L596)
861
+
862
+ #### Returns
863
+
864
+ `boolean`
865
+
866
+ ***
867
+
868
+ ### pause()
869
+
870
+ ```ts
871
+ pause(): void;
872
+ ```
873
+
874
+ Defined in: [World.ts:607](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L607)
875
+
876
+ Pauses world simulation. While paused, `update()` skips all system ticks so
877
+ physics, animation, scripts, and rendering stop advancing. The last rendered
878
+ frame remains frozen on-screen.
879
+
880
+ Call [resume](#resume) to continue.
881
+
882
+ #### Returns
883
+
884
+ `void`
885
+
886
+ ***
887
+
888
+ ### resume()
889
+
890
+ ```ts
891
+ resume(): void;
892
+ ```
893
+
894
+ Defined in: [World.ts:615](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L615)
895
+
896
+ Resumes world simulation after a previous [pause](#pause) call.
897
+ Has no effect if the world is not paused.
898
+
899
+ #### Returns
900
+
901
+ `void`
902
+
903
+ ***
904
+
905
+ ### isPaused()
906
+
907
+ ```ts
908
+ isPaused(): boolean;
909
+ ```
910
+
911
+ Defined in: [World.ts:629](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L629)
912
+
913
+ Returns `true` if the world is currently paused.
914
+
915
+ #### Returns
916
+
917
+ `boolean`
918
+
919
+ #### Example
920
+
921
+ ```ts
922
+ if (this.world.isPaused()) {
923
+ this.world.resume();
924
+ }
925
+ ```
926
+
927
+ ***
928
+
929
+ ### getScene()
930
+
931
+ ```ts
932
+ getScene(): Scene;
933
+ ```
934
+
935
+ Defined in: [World.ts:633](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L633)
936
+
937
+ #### Returns
938
+
939
+ `Scene`
940
+
941
+ ***
942
+
943
+ ### getCamera()
944
+
945
+ ```ts
946
+ getCamera(): PerspectiveCamera;
947
+ ```
948
+
949
+ Defined in: [World.ts:637](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L637)
950
+
951
+ #### Returns
952
+
953
+ `PerspectiveCamera`
954
+
955
+ ***
956
+
957
+ ### getRenderer()
958
+
959
+ ```ts
960
+ getRenderer(): WebGLRenderer;
961
+ ```
962
+
963
+ Defined in: [World.ts:641](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L641)
964
+
965
+ #### Returns
966
+
967
+ `WebGLRenderer`
968
+
969
+ ***
970
+
971
+ ### update()
972
+
973
+ ```ts
974
+ update(deltaTime): void;
975
+ ```
976
+
977
+ Defined in: [World.ts:645](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L645)
978
+
979
+ #### Parameters
980
+
981
+ | Parameter | Type |
982
+ | ------ | ------ |
983
+ | `deltaTime` | `number` |
984
+
985
+ #### Returns
986
+
987
+ `void`
988
+
989
+ ***
990
+
991
+ ### dispose()
992
+
993
+ ```ts
994
+ dispose(): void;
995
+ ```
996
+
997
+ Defined in: [World.ts:652](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L652)
998
+
999
+ #### Returns
1000
+
1001
+ `void`
1002
+
1003
+ ***
1004
+
1005
+ ### setSelectedEntity()
1006
+
1007
+ ```ts
1008
+ setSelectedEntity(entityId): void;
1009
+ ```
1010
+
1011
+ Defined in: [World.ts:664](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L664)
1012
+
1013
+ #### Parameters
1014
+
1015
+ | Parameter | Type |
1016
+ | ------ | ------ |
1017
+ | `entityId` | `number` \| `null` |
1018
+
1019
+ #### Returns
1020
+
1021
+ `void`
1022
+
1023
+ ***
1024
+
1025
+ ### getSelectedEntity()
1026
+
1027
+ ```ts
1028
+ getSelectedEntity(): number | null;
1029
+ ```
1030
+
1031
+ Defined in: [World.ts:686](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L686)
1032
+
1033
+ #### Returns
1034
+
1035
+ `number` \| `null`
1036
+
1037
+ ***
1038
+
1039
+ ### getEntitiesByComponent()
1040
+
1041
+ ```ts
1042
+ getEntitiesByComponent(component): WorldEntityView[];
1043
+ ```
1044
+
1045
+ Defined in: [World.ts:746](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L746)
1046
+
1047
+ #### Parameters
1048
+
1049
+ | Parameter | Type |
1050
+ | ------ | ------ |
1051
+ | `component` | [`Component`](../../Component/classes/Component.md) |
1052
+
1053
+ #### Returns
1054
+
1055
+ `WorldEntityView`[]
1056
+
1057
+ ***
1058
+
1059
+ ### getEntitiesByName()
1060
+
1061
+ ```ts
1062
+ getEntitiesByName(name): WorldEntityView[];
1063
+ ```
1064
+
1065
+ Defined in: [World.ts:760](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L760)
1066
+
1067
+ #### Parameters
1068
+
1069
+ | Parameter | Type |
1070
+ | ------ | ------ |
1071
+ | `name` | `string` |
1072
+
1073
+ #### Returns
1074
+
1075
+ `WorldEntityView`[]
1076
+
1077
+ ***
1078
+
1079
+ ### getEntityByName()
1080
+
1081
+ ```ts
1082
+ getEntityByName(name): WorldEntityView | null;
1083
+ ```
1084
+
1085
+ Defined in: [World.ts:769](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L769)
1086
+
1087
+ #### Parameters
1088
+
1089
+ | Parameter | Type |
1090
+ | ------ | ------ |
1091
+ | `name` | `string` |
1092
+
1093
+ #### Returns
1094
+
1095
+ `WorldEntityView` \| `null`
1096
+
1097
+ ***
1098
+
1099
+ ### getEntityById()
1100
+
1101
+ ```ts
1102
+ getEntityById(entityId): WorldEntityView | null;
1103
+ ```
1104
+
1105
+ Defined in: [World.ts:774](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L774)
1106
+
1107
+ #### Parameters
1108
+
1109
+ | Parameter | Type |
1110
+ | ------ | ------ |
1111
+ | `entityId` | `number` |
1112
+
1113
+ #### Returns
1114
+
1115
+ `WorldEntityView` \| `null`
1116
+
1117
+ ***
1118
+
1119
+ ### raycast()
1120
+
1121
+ ```ts
1122
+ raycast(
1123
+ origin,
1124
+ direction,
1125
+ near?,
1126
+ far?): IntersectionResult[];
1127
+ ```
1128
+
1129
+ Defined in: [World.ts:806](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L806)
1130
+
1131
+ Cast a ray from `origin` along `direction` and return every intersected
1132
+ entity-bound mesh, sorted by distance. Each result is a standard
1133
+ `THREE.Intersection` augmented with the owning `entityId` (or `null` if
1134
+ the hit object is not part of any tracked entity).
1135
+
1136
+ #### Parameters
1137
+
1138
+ | Parameter | Type | Default value | Description |
1139
+ | ------ | ------ | ------ | ------ |
1140
+ | `origin` | [`Vec3`](../../types/type-aliases/Vec3.md) | `undefined` | World-space origin of the ray (`THREE.Vector3` or `{ x, y, z }`). |
1141
+ | `direction` | [`Vec3`](../../types/type-aliases/Vec3.md) | `undefined` | World-space direction of the ray. Will be normalized internally; magnitude is ignored. |
1142
+ | `near` | `number` | `0` | Minimum hit distance from the origin. Defaults to `0`. |
1143
+ | `far` | `number` | `Infinity` | Maximum hit distance from the origin. Defaults to `Infinity`. |
1144
+
1145
+ #### Returns
1146
+
1147
+ [`IntersectionResult`](../../types/type-aliases/IntersectionResult.md)[]
1148
+
1149
+ #### Example
1150
+
1151
+ ```ts
1152
+ const hits = world.raycast(
1153
+ { x: 0, y: 1, z: 0 },
1154
+ { x: 0, y: 0, z: -1 },
1155
+ );
1156
+ if (hits[0]?.entityId !== null) {
1157
+ console.log("hit entity", hits[0].entityId, "at", hits[0].point);
1158
+ }
1159
+ ```
1160
+
1161
+ ***
1162
+
1163
+ ### raycastFrom()
1164
+
1165
+ ```ts
1166
+ raycastFrom(
1167
+ entityId,
1168
+ near?,
1169
+ far?): IntersectionResult[];
1170
+ ```
1171
+
1172
+ Defined in: [World.ts:857](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L857)
1173
+
1174
+ Cast a ray from an entity's world-space position along its forward
1175
+ direction (the +Z axis of its world matrix). Returns intersected
1176
+ entity-bound meshes sorted by distance, with the source entity itself
1177
+ filtered out so the ray does not hit the caster.
1178
+
1179
+ #### Parameters
1180
+
1181
+ | Parameter | Type | Default value | Description |
1182
+ | ------ | ------ | ------ | ------ |
1183
+ | `entityId` | `number` | `undefined` | Entity to cast the ray from. Must have an `Object3DRef`. |
1184
+ | `near` | `number` | `0` | Minimum hit distance from the origin. Defaults to `0`. |
1185
+ | `far` | `number` | `Infinity` | Maximum hit distance from the origin. Defaults to `Infinity`. |
1186
+
1187
+ #### Returns
1188
+
1189
+ [`IntersectionResult`](../../types/type-aliases/IntersectionResult.md)[]
1190
+
1191
+ #### Example
1192
+
1193
+ ```ts
1194
+ const hits = world.raycastFrom(this.entityId, 0, 50);
1195
+ const closest = hits[0];
1196
+ if (closest && closest.entityId !== null) {
1197
+ console.log("looking at", closest.entityId);
1198
+ }
1199
+ ```
1200
+
1201
+ ***
1202
+
1203
+ ### getEntityScript()
1204
+
1205
+ ```ts
1206
+ getEntityScript<T>(entityId): T | null;
1207
+ ```
1208
+
1209
+ Defined in: [World.ts:940](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L940)
1210
+
1211
+ #### Type Parameters
1212
+
1213
+ | Type Parameter | Default type |
1214
+ | ------ | ------ |
1215
+ | `T` | `unknown` |
1216
+
1217
+ #### Parameters
1218
+
1219
+ | Parameter | Type |
1220
+ | ------ | ------ |
1221
+ | `entityId` | `number` |
1222
+
1223
+ #### Returns
1224
+
1225
+ `T` \| `null`
1226
+
1227
+ ***
1228
+
1229
+ ### getScripts()
1230
+
1231
+ ```ts
1232
+ getScripts<T>(className): T[];
1233
+ ```
1234
+
1235
+ Defined in: [World.ts:953](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L953)
1236
+
1237
+ #### Type Parameters
1238
+
1239
+ | Type Parameter | Default type |
1240
+ | ------ | ------ |
1241
+ | `T` | `unknown` |
1242
+
1243
+ #### Parameters
1244
+
1245
+ | Parameter | Type |
1246
+ | ------ | ------ |
1247
+ | `className` | `string` |
1248
+
1249
+ #### Returns
1250
+
1251
+ `T`[]
1252
+
1253
+ ***
1254
+
1255
+ ### getScript()
1256
+
1257
+ ```ts
1258
+ getScript<T>(className): T | null;
1259
+ ```
1260
+
1261
+ Defined in: [World.ts:994](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L994)
1262
+
1263
+ #### Type Parameters
1264
+
1265
+ | Type Parameter | Default type |
1266
+ | ------ | ------ |
1267
+ | `T` | `unknown` |
1268
+
1269
+ #### Parameters
1270
+
1271
+ | Parameter | Type |
1272
+ | ------ | ------ |
1273
+ | `className` | `string` |
1274
+
1275
+ #### Returns
1276
+
1277
+ `T` \| `null`
1278
+
1279
+ ***
1280
+
1281
+ ### getAllEntities()
1282
+
1283
+ ```ts
1284
+ getAllEntities(): WorldEntityView[];
1285
+ ```
1286
+
1287
+ Defined in: [World.ts:999](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L999)
1288
+
1289
+ #### Returns
1290
+
1291
+ `WorldEntityView`[]
1292
+
1293
+ ***
1294
+
1295
+ ### onSelectionChanged()
1296
+
1297
+ ```ts
1298
+ onSelectionChanged(listener): () => void;
1299
+ ```
1300
+
1301
+ Defined in: [World.ts:1005](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L1005)
1302
+
1303
+ #### Parameters
1304
+
1305
+ | Parameter | Type |
1306
+ | ------ | ------ |
1307
+ | `listener` | [`SelectionListener`](../../types/type-aliases/SelectionListener.md) |
1308
+
1309
+ #### Returns
1310
+
1311
+ () => `void`
1312
+
1313
+ ***
1314
+
1315
+ ### subscribe()
1316
+
1317
+ ```ts
1318
+ subscribe(listener): () => void;
1319
+ ```
1320
+
1321
+ Defined in: [World.ts:1013](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L1013)
1322
+
1323
+ #### Parameters
1324
+
1325
+ | Parameter | Type |
1326
+ | ------ | ------ |
1327
+ | `listener` | `StoreListener` |
1328
+
1329
+ #### Returns
1330
+
1331
+ () => `void`
1332
+
1333
+ ***
1334
+
1335
+ ### getDebugSnapshot()
1336
+
1337
+ ```ts
1338
+ getDebugSnapshot(maxDepth?): unknown;
1339
+ ```
1340
+
1341
+ Defined in: [World.ts:1021](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L1021)
1342
+
1343
+ #### Parameters
1344
+
1345
+ | Parameter | Type | Default value |
1346
+ | ------ | ------ | ------ |
1347
+ | `maxDepth` | `number` | `3` |
1348
+
1349
+ #### Returns
1350
+
1351
+ `unknown`
1352
+
1353
+ ***
1354
+
1355
+ ### getDebugSignature()
1356
+
1357
+ ```ts
1358
+ getDebugSignature(maxDepth?): string;
1359
+ ```
1360
+
1361
+ Defined in: [World.ts:1071](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L1071)
1362
+
1363
+ #### Parameters
1364
+
1365
+ | Parameter | Type | Default value |
1366
+ | ------ | ------ | ------ |
1367
+ | `maxDepth` | `number` | `3` |
1368
+
1369
+ #### Returns
1370
+
1371
+ `string`
1372
+
1373
+ ***
1374
+
1375
+ ### createHistorySnapshot()
1376
+
1377
+ ```ts
1378
+ createHistorySnapshot(): WorldHistorySnapshot;
1379
+ ```
1380
+
1381
+ Defined in: [World.ts:1075](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L1075)
1382
+
1383
+ #### Returns
1384
+
1385
+ `WorldHistorySnapshot`
1386
+
1387
+ ***
1388
+
1389
+ ### applyHistorySnapshot()
1390
+
1391
+ ```ts
1392
+ applyHistorySnapshot(snapshot): void;
1393
+ ```
1394
+
1395
+ Defined in: [World.ts:1096](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/World.ts#L1096)
1396
+
1397
+ #### Parameters
1398
+
1399
+ | Parameter | Type |
1400
+ | ------ | ------ |
1401
+ | `snapshot` | `WorldHistorySnapshot` |
1402
+
1403
+ #### Returns
1404
+
1405
+ `void`