@relu-interactives/spatial-ecs 0.2.24 → 0.3.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 (270) hide show
  1. package/dist/{Video-ppAXaKt0.d.cts → Video-AIQYTAAr.d.cts} +15 -3
  2. package/dist/{Video-C1IOat7L.d.ts → Video-DlZ4G9ig.d.ts} +15 -3
  3. package/dist/{chunk-JHCPRVBC.js → chunk-7BPHZWQ6.js} +59 -17
  4. package/dist/chunk-7BPHZWQ6.js.map +1 -0
  5. package/dist/{chunk-CCE5K2TU.js → chunk-7JFSEV7A.js} +18 -13
  6. package/dist/chunk-7JFSEV7A.js.map +1 -0
  7. package/dist/{chunk-52CHDPRQ.js → chunk-AT5SPSPM.js} +4 -4
  8. package/dist/{chunk-52CHDPRQ.js.map → chunk-AT5SPSPM.js.map} +1 -1
  9. package/dist/{chunk-ZXGHKX7N.js → chunk-OWQSESTO.js} +12 -2
  10. package/dist/chunk-OWQSESTO.js.map +1 -0
  11. package/dist/{chunk-WKGCC7YL.js → chunk-PZ4CAALA.js} +3 -3
  12. package/dist/{chunk-WKGCC7YL.js.map → chunk-PZ4CAALA.js.map} +1 -1
  13. package/dist/components/index.cjs +55 -13
  14. package/dist/components/index.cjs.map +1 -1
  15. package/dist/components/index.d.cts +2 -2
  16. package/dist/components/index.d.ts +2 -2
  17. package/dist/components/index.js +1 -1
  18. package/dist/docs/api/Behaviour/classes/Behaviour.md +98 -51
  19. package/dist/docs/api/Component/classes/Component.md +4 -1
  20. package/dist/docs/api/components/classes/AnimationComponent.md +26 -26
  21. package/dist/docs/api/components/classes/AudioComponent.md +19 -19
  22. package/dist/docs/api/components/classes/CameraComponent.md +14 -14
  23. package/dist/docs/api/components/classes/EntityType.md +4 -4
  24. package/dist/docs/api/components/classes/Environment.md +3 -3
  25. package/dist/docs/api/components/classes/ImageComponent.md +7 -7
  26. package/dist/docs/api/components/classes/ImageTarget.md +7 -7
  27. package/dist/docs/api/components/classes/ImageTargetAnchor.md +4 -4
  28. package/dist/docs/api/components/classes/InstanceSlotComponent.md +4 -4
  29. package/dist/docs/api/components/classes/InstancedMeshComponent.md +10 -10
  30. package/dist/docs/api/components/classes/LightComponent.md +6 -6
  31. package/dist/docs/api/components/classes/MaterialComponent.md +57 -11
  32. package/dist/docs/api/components/classes/MeshComponent.md +3 -3
  33. package/dist/docs/api/components/classes/MeshGeometryComponent.md +9 -9
  34. package/dist/docs/api/components/classes/ModelComponent.md +4 -4
  35. package/dist/docs/api/components/classes/Name.md +3 -3
  36. package/dist/docs/api/components/classes/Object3DRef.md +4 -4
  37. package/dist/docs/api/components/classes/ParentId.md +3 -3
  38. package/dist/docs/api/components/classes/PhysicsComponent.md +12 -13
  39. package/dist/docs/api/components/classes/Postprocessing.md +3 -3
  40. package/dist/docs/api/components/classes/PrefabInstance.md +80 -0
  41. package/dist/docs/api/components/classes/PrefabNode.md +54 -0
  42. package/dist/docs/api/components/classes/ScriptComponent.md +5 -5
  43. package/dist/docs/api/components/classes/ScriptObjectComponent.md +55 -0
  44. package/dist/docs/api/components/classes/Selectable.md +3 -3
  45. package/dist/docs/api/components/classes/SelectionTransformState.md +5 -5
  46. package/dist/docs/api/components/classes/SpriteComponent.md +7 -7
  47. package/dist/docs/api/components/classes/TransformComponent.md +12 -12
  48. package/dist/docs/api/components/classes/VideoComponent.md +28 -28
  49. package/dist/docs/api/components/functions/defaultMaterialValue.md +17 -0
  50. package/dist/docs/api/components/functions/normalizePhysicsState.md +1 -1
  51. package/dist/docs/api/components/functions/setPhysicsLiveRef.md +34 -0
  52. package/dist/docs/api/components/index.md +8 -1
  53. package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +9 -9
  54. package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +13 -13
  55. package/dist/docs/api/components/type-aliases/CameraProjection.md +1 -1
  56. package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +1 -1
  57. package/dist/docs/api/components/type-aliases/ColliderShape.md +1 -1
  58. package/dist/docs/api/components/type-aliases/ColliderState.md +20 -20
  59. package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +4 -4
  60. package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +1 -1
  61. package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +8 -8
  62. package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +1 -1
  63. package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +1 -1
  64. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +7 -7
  65. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +1 -1
  66. package/dist/docs/api/components/type-aliases/EnvironmentState.md +5 -5
  67. package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +3 -3
  68. package/dist/docs/api/components/type-aliases/ImageTargetReference.md +7 -7
  69. package/dist/docs/api/components/type-aliases/InstanceTransform.md +13 -13
  70. package/dist/docs/api/components/type-aliases/InstancedMeshKind.md +1 -1
  71. package/dist/docs/api/components/type-aliases/LightValueState.md +11 -11
  72. package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +1 -1
  73. package/dist/docs/api/components/type-aliases/MaterialValueState.md +28 -28
  74. package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +1 -1
  75. package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +7 -7
  76. package/dist/docs/api/components/type-aliases/PhysicsState.md +3 -3
  77. package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +3 -3
  78. package/dist/docs/api/components/type-aliases/PostprocessingState.md +62 -62
  79. package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +3 -3
  80. package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +2 -2
  81. package/dist/docs/api/components/type-aliases/RigidbodyState.md +17 -17
  82. package/dist/docs/api/components/type-aliases/RigidbodyType.md +1 -1
  83. package/dist/docs/api/components/type-aliases/ScriptEntry.md +8 -10
  84. package/dist/docs/api/components/type-aliases/ScriptObjectComponentInput.md +20 -0
  85. package/dist/docs/api/components/type-aliases/ScriptObjectRuntimeState.md +13 -0
  86. package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +1 -1
  87. package/dist/docs/api/components/type-aliases/TransformData.md +4 -4
  88. package/dist/docs/api/components/type-aliases/TransformModeValue.md +1 -1
  89. package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +1 -1
  90. package/dist/docs/api/components/type-aliases/Vec3.md +4 -4
  91. package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +1 -1
  92. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +1 -1
  93. package/dist/docs/api/components/variables/DEFAULT_INSTANCED_MESH_PARAMETERS.md +1 -1
  94. package/dist/docs/api/components/variables/DEFAULT_INSTANCE_TRANSFORM.md +1 -1
  95. package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +1 -1
  96. package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +1 -1
  97. package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +1 -1
  98. package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +1 -1
  99. package/dist/docs/api/index/classes/AnimationStateMachine.md +16 -16
  100. package/dist/docs/api/index/classes/AnimationStateManager.md +13 -13
  101. package/dist/docs/api/index/classes/AnimationSystem.md +3 -3
  102. package/dist/docs/api/index/classes/AudioSystem.md +4 -4
  103. package/dist/docs/api/index/classes/CameraSyncSystem.md +2 -2
  104. package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +4 -4
  105. package/dist/docs/api/index/classes/InputSystem.md +33 -33
  106. package/dist/docs/api/index/classes/InstancedMeshSystem.md +2 -2
  107. package/dist/docs/api/index/classes/LightSyncSystem.md +2 -2
  108. package/dist/docs/api/index/classes/MaterialSyncSystem.md +3 -3
  109. package/dist/docs/api/index/classes/MeshGeometrySystem.md +2 -2
  110. package/dist/docs/api/index/classes/ObjectManagementSystem.md +14 -14
  111. package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +2 -2
  112. package/dist/docs/api/index/classes/PhysicsSyncSystem.md +4 -4
  113. package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +4 -4
  114. package/dist/docs/api/index/classes/RenderSystem.md +3 -3
  115. package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +5 -5
  116. package/dist/docs/api/index/classes/ScriptObject.md +156 -0
  117. package/dist/docs/api/index/classes/ScriptObjectSystem.md +129 -0
  118. package/dist/docs/api/index/classes/TransformSyncSystem.md +2 -2
  119. package/dist/docs/api/index/classes/VideoSystem.md +4 -4
  120. package/dist/docs/api/index/classes/World.md +183 -86
  121. package/dist/docs/api/index/functions/applyPrefabToSnapshotInstances.md +32 -0
  122. package/dist/docs/api/index/functions/buildComponentValueMaps.md +23 -0
  123. package/dist/docs/api/index/functions/buildNodeKeyMapsFromSnapshot.md +25 -0
  124. package/dist/docs/api/index/functions/buildNodeMapsFromSnapshot.md +23 -0
  125. package/dist/docs/api/index/functions/canonicalizeComponentValue.md +38 -0
  126. package/dist/docs/api/index/functions/clearModelCache.md +26 -0
  127. package/dist/docs/api/index/functions/clearPrefabCache.md +25 -0
  128. package/dist/docs/api/index/functions/collectDiffPaths.md +38 -0
  129. package/dist/docs/api/index/functions/collectDirectPrefabDependencies.md +27 -0
  130. package/dist/docs/api/index/functions/collectEntitySubtree.md +29 -0
  131. package/dist/docs/api/index/functions/collectSnapshotSubtreeIds.md +26 -0
  132. package/dist/docs/api/index/functions/computeInstanceOverrides.md +44 -0
  133. package/dist/docs/api/index/functions/createAnimationComponent.md +1 -1
  134. package/dist/docs/api/index/functions/createAudioComponent.md +1 -1
  135. package/dist/docs/api/index/functions/createCameraComponent.md +1 -1
  136. package/dist/docs/api/index/functions/createEntityTypeComponent.md +2 -2
  137. package/dist/docs/api/index/functions/createEnvironmentComponent.md +1 -1
  138. package/dist/docs/api/index/functions/createImageComponent.md +1 -1
  139. package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +1 -1
  140. package/dist/docs/api/index/functions/createImageTargetComponent.md +1 -1
  141. package/dist/docs/api/index/functions/createInstanceSlotComponent.md +1 -1
  142. package/dist/docs/api/index/functions/createInstancedMeshComponent.md +1 -1
  143. package/dist/docs/api/index/functions/createLightComponent.md +1 -1
  144. package/dist/docs/api/index/functions/createMaterialComponent.md +1 -1
  145. package/dist/docs/api/index/functions/createMeshComponent.md +1 -1
  146. package/dist/docs/api/index/functions/createMeshGeometryComponent.md +1 -1
  147. package/dist/docs/api/index/functions/createModelComponent.md +1 -1
  148. package/dist/docs/api/index/functions/createNameComponent.md +1 -1
  149. package/dist/docs/api/index/functions/createObject3DRefComponent.md +1 -1
  150. package/dist/docs/api/index/functions/createParentIdComponent.md +1 -1
  151. package/dist/docs/api/index/functions/createPhysicsComponent.md +2 -4
  152. package/dist/docs/api/index/functions/createPostprocessingComponent.md +1 -1
  153. package/dist/docs/api/index/functions/createScriptComponent.md +1 -1
  154. package/dist/docs/api/index/functions/createScriptObjectComponent.md +28 -0
  155. package/dist/docs/api/index/functions/createSelectableComponent.md +1 -1
  156. package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +1 -1
  157. package/dist/docs/api/index/functions/createSpriteComponent.md +1 -1
  158. package/dist/docs/api/index/functions/createTransformComponent.md +1 -1
  159. package/dist/docs/api/index/functions/createVideoComponent.md +1 -1
  160. package/dist/docs/api/index/functions/decanonicalizeComponentValue.md +28 -0
  161. package/dist/docs/api/index/functions/despawnPrefab.md +32 -0
  162. package/dist/docs/api/index/functions/encodeOverride.md +28 -0
  163. package/dist/docs/api/index/functions/findSnapshotRootEntityIds.md +25 -0
  164. package/dist/docs/api/index/functions/findTopLevelNestedRegions.md +28 -0
  165. package/dist/docs/api/index/functions/groupOverridePaths.md +25 -0
  166. package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +1 -1
  167. package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +4 -2
  168. package/dist/docs/api/index/functions/indexSnapshotByEntity.md +25 -0
  169. package/dist/docs/api/index/functions/instantiateSubtree.md +32 -0
  170. package/dist/docs/api/index/functions/loadPrefab.md +28 -0
  171. package/dist/docs/api/index/functions/loadSharedGltf.md +29 -0
  172. package/dist/docs/api/index/functions/mergeComponentValue.md +32 -0
  173. package/dist/docs/api/index/functions/parseOverride.md +34 -0
  174. package/dist/docs/api/index/functions/parsePrefabAsset.md +25 -0
  175. package/dist/docs/api/index/functions/prefabFileVersionFor.md +25 -0
  176. package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +1 -1
  177. package/dist/docs/api/index/functions/registerDefaultFactories.md +1 -1
  178. package/dist/docs/api/index/functions/remapSnapshotEntityIds.md +46 -0
  179. package/dist/docs/api/index/functions/resolveDracoDecoderPath.md +17 -0
  180. package/dist/docs/api/index/functions/restoreComponentState.md +34 -0
  181. package/dist/docs/api/index/functions/restorePostCreateComponents.md +36 -0
  182. package/dist/docs/api/index/functions/serializeEntitySubtree.md +35 -0
  183. package/dist/docs/api/index/functions/setDracoDecoderPath.md +30 -0
  184. package/dist/docs/api/index/functions/setPrefabAssetUrlResolver.md +30 -0
  185. package/dist/docs/api/index/functions/spawnPrefab.md +36 -0
  186. package/dist/docs/api/index/index.md +65 -0
  187. package/dist/docs/api/index/interfaces/EcsSystem.md +3 -3
  188. package/dist/docs/api/index/interfaces/StateMachine.md +13 -13
  189. package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +4 -4
  190. package/dist/docs/api/index/type-aliases/ApplyPrefabToSnapshotResult.md +23 -0
  191. package/dist/docs/api/index/type-aliases/ComponentFactory.md +1 -1
  192. package/dist/docs/api/index/type-aliases/ComponentValueMaps.md +69 -0
  193. package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +2 -1
  194. package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +3 -3
  195. package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +4 -4
  196. package/dist/docs/api/index/type-aliases/ExternalRefWarning.md +27 -0
  197. package/dist/docs/api/index/type-aliases/HydrateOptions.md +27 -0
  198. package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +7 -5
  199. package/dist/docs/api/index/type-aliases/InstantiateSubtreeResult.md +23 -0
  200. package/dist/docs/api/index/type-aliases/KeyboardKey.md +1 -1
  201. package/dist/docs/api/index/type-aliases/ModuleLoader.md +25 -0
  202. package/dist/docs/api/index/type-aliases/MouseButton.md +1 -1
  203. package/dist/docs/api/index/type-aliases/NestedRegion.md +27 -0
  204. package/dist/docs/api/index/type-aliases/NodeKeyMaps.md +30 -0
  205. package/dist/docs/api/index/type-aliases/NodeMaps.md +25 -0
  206. package/dist/docs/api/index/type-aliases/PrefabAsset.md +32 -0
  207. package/dist/docs/api/index/type-aliases/RemapSnapshotOptions.md +21 -0
  208. package/dist/docs/api/index/type-aliases/SelectionContext.md +4 -4
  209. package/dist/docs/api/index/type-aliases/SerializeEntitySubtreeResult.md +25 -0
  210. package/dist/docs/api/index/type-aliases/SpawnPrefabOptions.md +27 -0
  211. package/dist/docs/api/index/type-aliases/SpawnPrefabSource.md +19 -0
  212. package/dist/docs/api/index/type-aliases/SubtreeSnapshot.md +43 -0
  213. package/dist/docs/api/index/variables/ADDED_NODE_MARKER_COMPONENT.md +19 -0
  214. package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +1 -1
  215. package/dist/docs/api/index/variables/KeyboardKeys.md +89 -89
  216. package/dist/docs/api/index/variables/NODE_KEY_SEPARATOR.md +13 -0
  217. package/dist/docs/api/index/variables/OVERRIDE_DIFF_EXCLUDED_COMPONENTS.md +15 -0
  218. package/dist/docs/api/index/variables/OVERRIDE_ROOT_EXCLUDED_COMPONENTS.md +16 -0
  219. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION.md +13 -0
  220. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION_NESTED.md +15 -0
  221. package/dist/docs/api/index/variables/SCRIPT_OBJECT_ROOT_FLAG.md +15 -0
  222. package/dist/docs/api/index/variables/SHARED_MODEL_RESOURCE_FLAG.md +17 -0
  223. package/dist/docs/api/typedoc-sidebar.json +1 -1
  224. package/dist/docs/api/types/type-aliases/AssetInput.md +3 -3
  225. package/dist/docs/api/types/type-aliases/CheckboxInput.md +3 -3
  226. package/dist/docs/api/types/type-aliases/ColorInput.md +1 -1
  227. package/dist/docs/api/types/type-aliases/ComponentInput.md +4 -4
  228. package/dist/docs/api/types/type-aliases/ComponentKind.md +2 -1
  229. package/dist/docs/api/types/type-aliases/DropdownInput.md +3 -3
  230. package/dist/docs/api/types/type-aliases/DropdownOption.md +3 -3
  231. package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +1 -1
  232. package/dist/docs/api/types/type-aliases/EcsEntityKind.md +3 -2
  233. package/dist/docs/api/types/type-aliases/EntityId.md +1 -1
  234. package/dist/docs/api/types/type-aliases/EntityInput.md +3 -3
  235. package/dist/docs/api/types/type-aliases/FloatInput.md +1 -1
  236. package/dist/docs/api/types/type-aliases/IntersectionResult.md +3 -3
  237. package/dist/docs/api/types/type-aliases/ParentLookup.md +3 -3
  238. package/dist/docs/api/types/type-aliases/SelectionListener.md +1 -1
  239. package/dist/docs/api/types/type-aliases/SliderInput.md +5 -5
  240. package/dist/docs/api/types/type-aliases/TextInput.md +1 -1
  241. package/dist/docs/api/types/type-aliases/ToggleInput.md +1 -1
  242. package/dist/docs/api/types/type-aliases/Vec3.md +1 -1
  243. package/dist/docs/api/types/type-aliases/Vector2Input.md +3 -3
  244. package/dist/docs/api/types/type-aliases/Vector3Input.md +4 -4
  245. package/dist/docs/api/types/type-aliases/WorldEntityView.md +1 -1
  246. package/dist/docs/guide/components/_sidebar.json +4 -0
  247. package/dist/docs/guide/components/material.md +1 -0
  248. package/dist/docs/guide/components/script-object.md +32 -0
  249. package/dist/factories/index.cjs +54 -13
  250. package/dist/factories/index.cjs.map +1 -1
  251. package/dist/factories/index.d.cts +1 -1
  252. package/dist/factories/index.d.ts +1 -1
  253. package/dist/factories/index.js +3 -3
  254. package/dist/{index-DdiWu1b6.d.ts → index-BwiRJNIT.d.ts} +3 -2
  255. package/dist/{index-Cu2Pt7wN.d.cts → index-Gr8aCPRM.d.cts} +3 -2
  256. package/dist/index.cjs +80 -23
  257. package/dist/index.cjs.map +1 -1
  258. package/dist/index.d.cts +3 -3
  259. package/dist/index.d.ts +3 -3
  260. package/dist/index.js +9 -9
  261. package/dist/systems/index.cjs +68 -22
  262. package/dist/systems/index.cjs.map +1 -1
  263. package/dist/systems/index.js +3 -3
  264. package/dist/worldSnapshotUtils.cjs +10 -0
  265. package/dist/worldSnapshotUtils.cjs.map +1 -1
  266. package/dist/worldSnapshotUtils.js +1 -1
  267. package/package.json +4 -4
  268. package/dist/chunk-CCE5K2TU.js.map +0 -1
  269. package/dist/chunk-JHCPRVBC.js.map +0 -1
  270. package/dist/chunk-ZXGHKX7N.js.map +0 -1
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: AudioComponent
8
8
 
9
- Defined in: [components/Audio.ts:27](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L27)
9
+ Defined in: [components/Audio.ts:27](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L27)
10
10
 
11
11
  Plays an audio clip from `path`. Supports both global stereo (`positional:
12
12
  false`) and 3D positional audio with the configured distance model.
@@ -25,7 +25,7 @@ when the project loads and are never persisted to saved snapshots.
25
25
  new AudioComponent(path, options?): AudioComponent;
26
26
  ```
27
27
 
28
- Defined in: [components/Audio.ts:64](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L64)
28
+ Defined in: [components/Audio.ts:64](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L64)
29
29
 
30
30
  #### Parameters
31
31
 
@@ -46,20 +46,20 @@ Defined in: [components/Audio.ts:64](https://github.com/Relu-Interactives/relu-s
46
46
 
47
47
  | Property | Type | Description | Defined in |
48
48
  | ------ | ------ | ------ | ------ |
49
- | <a id="path"></a> `path` | `string` | Source URL or `localasset://` path of the audio file. | [components/Audio.ts:29](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L29) |
50
- | <a id="options"></a> `options` | \{ `autoplay`: `boolean`; `loop`: `boolean`; `pitch`: `number`; `volume`: `number`; `positional`: `boolean`; `refDistance`: `number`; `distanceModel`: `string`; `rolloffFactor`: `number`; \} | Playback options. | Field | Default | Description | |---|---|---| | `autoplay` | `false` | Start playback as soon as the clip is loaded. | | `loop` | `false` | Loop playback indefinitely. | | `pitch` | `1` | Playback rate multiplier (`1` = normal speed/pitch). | | `volume` | `1` | Linear gain in `[0, 1]`. | | `positional` | `false` | When `true`, audio is spatialized using the entity's transform. | | `refDistance` | `1` | Distance at which volume is unattenuated (positional only). | | `distanceModel` | `"inverse"` | WebAudio distance model (`linear`, `inverse`, `exponential`). | | `rolloffFactor` | `1` | How quickly volume falls off past `refDistance`. | | [components/Audio.ts:44](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L44) |
51
- | `options.autoplay` | `boolean` | - | [components/Audio.ts:9](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L9) |
52
- | `options.loop` | `boolean` | - | [components/Audio.ts:10](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L10) |
53
- | `options.pitch` | `number` | - | [components/Audio.ts:11](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L11) |
54
- | `options.volume` | `number` | - | [components/Audio.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L12) |
55
- | `options.positional` | `boolean` | - | [components/Audio.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L13) |
56
- | `options.refDistance` | `number` | - | [components/Audio.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L14) |
57
- | `options.distanceModel` | `string` | - | [components/Audio.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L15) |
58
- | `options.rolloffFactor` | `number` | - | [components/Audio.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L16) |
59
- | <a id="object"></a> `object` | `Object3D`\<`Object3DEventMap`\> \| `null` | Live three.js object hosting the audio (a parented `Audio`/`PositionalAudio`). `null` until built. | [components/Audio.ts:46](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L46) |
60
- | <a id="audio"></a> `audio` | `Audio`\<`GainNode`\> \| `PositionalAudio` \| `null` | Live three.js audio source. `null` until built. Recreated when the project loads. | [components/Audio.ts:48](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L48) |
61
- | <a id="isplaying"></a> `isPlaying` | `boolean` | Whether the audio should be playing. Managed by `AudioSystem` in preview. Non-enumerable — not persisted to snapshots or save data. Set via [play](#play) / [stop](#stop). | [components/Audio.ts:55](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L55) |
62
- | <a id="ispaused"></a> `isPaused` | `boolean` | Whether the audio is paused mid-playback (position is preserved). Non-enumerable — not persisted to snapshots or save data. Set via [pause](#pause) / [play](#play) / [stop](#stop). | [components/Audio.ts:62](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L62) |
49
+ | <a id="path"></a> `path` | `string` | Source URL or `localasset://` path of the audio file. | [components/Audio.ts:29](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L29) |
50
+ | <a id="options"></a> `options` | \{ `autoplay`: `boolean`; `loop`: `boolean`; `pitch`: `number`; `volume`: `number`; `positional`: `boolean`; `refDistance`: `number`; `distanceModel`: `string`; `rolloffFactor`: `number`; \} | Playback options. | Field | Default | Description | |---|---|---| | `autoplay` | `false` | Start playback as soon as the clip is loaded. | | `loop` | `false` | Loop playback indefinitely. | | `pitch` | `1` | Playback rate multiplier (`1` = normal speed/pitch). | | `volume` | `1` | Linear gain in `[0, 1]`. | | `positional` | `false` | When `true`, audio is spatialized using the entity's transform. | | `refDistance` | `1` | Distance at which volume is unattenuated (positional only). | | `distanceModel` | `"inverse"` | WebAudio distance model (`linear`, `inverse`, `exponential`). | | `rolloffFactor` | `1` | How quickly volume falls off past `refDistance`. | | [components/Audio.ts:44](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L44) |
51
+ | `options.autoplay` | `boolean` | - | [components/Audio.ts:9](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L9) |
52
+ | `options.loop` | `boolean` | - | [components/Audio.ts:10](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L10) |
53
+ | `options.pitch` | `number` | - | [components/Audio.ts:11](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L11) |
54
+ | `options.volume` | `number` | - | [components/Audio.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L12) |
55
+ | `options.positional` | `boolean` | - | [components/Audio.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L13) |
56
+ | `options.refDistance` | `number` | - | [components/Audio.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L14) |
57
+ | `options.distanceModel` | `string` | - | [components/Audio.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L15) |
58
+ | `options.rolloffFactor` | `number` | - | [components/Audio.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L16) |
59
+ | <a id="object"></a> `object` | `Object3D`\<`Object3DEventMap`\> \| `null` | Live three.js object hosting the audio (a parented `Audio`/`PositionalAudio`). `null` until built. | [components/Audio.ts:46](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L46) |
60
+ | <a id="audio"></a> `audio` | `Audio`\<`GainNode`\> \| `PositionalAudio` \| `null` | Live three.js audio source. `null` until built. Recreated when the project loads. | [components/Audio.ts:48](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L48) |
61
+ | <a id="isplaying"></a> `isPlaying` | `boolean` | Whether the audio should be playing. Managed by `AudioSystem` in preview. Non-enumerable — not persisted to snapshots or save data. Set via [play](#play) / [stop](#stop). | [components/Audio.ts:55](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L55) |
62
+ | <a id="ispaused"></a> `isPaused` | `boolean` | Whether the audio is paused mid-playback (position is preserved). Non-enumerable — not persisted to snapshots or save data. Set via [pause](#pause) / [play](#play) / [stop](#stop). | [components/Audio.ts:62](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L62) |
63
63
 
64
64
  ## Methods
65
65
 
@@ -69,7 +69,7 @@ Defined in: [components/Audio.ts:64](https://github.com/Relu-Interactives/relu-s
69
69
  play(): void;
70
70
  ```
71
71
 
72
- Defined in: [components/Audio.ts:98](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L98)
72
+ Defined in: [components/Audio.ts:98](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L98)
73
73
 
74
74
  Signals `AudioSystem` to start (or resume) playback.
75
75
  Has no direct effect in the editor — `AudioSystem` drives the actual
@@ -87,7 +87,7 @@ THREE.js call in preview.
87
87
  pause(): void;
88
88
  ```
89
89
 
90
- Defined in: [components/Audio.ts:108](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L108)
90
+ Defined in: [components/Audio.ts:108](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L108)
91
91
 
92
92
  Signals `AudioSystem` to pause playback, preserving the current position.
93
93
  Calling [play](#play) afterwards resumes from where it paused.
@@ -105,7 +105,7 @@ No-op if not currently playing.
105
105
  stop(): void;
106
106
  ```
107
107
 
108
- Defined in: [components/Audio.ts:117](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Audio.ts#L117)
108
+ Defined in: [components/Audio.ts:117](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Audio.ts#L117)
109
109
 
110
110
  Signals `AudioSystem` to stop playback and reset the playback position.
111
111
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: CameraComponent
8
8
 
9
- Defined in: [components/Camera.ts:160](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L160)
9
+ Defined in: [components/Camera.ts:160](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L160)
10
10
 
11
11
  Camera entity state. Supports perspective and orthographic projections, a
12
12
  `3d` or `ar` runtime type, and an `isDefault` flag for the camera that the
@@ -25,7 +25,7 @@ zoom are persisted; the live `THREE.Camera` is recreated when the project loads.
25
25
  new CameraComponent(payload?): CameraComponent;
26
26
  ```
27
27
 
28
- Defined in: [components/Camera.ts:186](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L186)
28
+ Defined in: [components/Camera.ts:186](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L186)
29
29
 
30
30
  #### Parameters
31
31
 
@@ -45,15 +45,15 @@ Defined in: [components/Camera.ts:186](https://github.com/Relu-Interactives/relu
45
45
 
46
46
  | Property | Type | Description | Defined in |
47
47
  | ------ | ------ | ------ | ------ |
48
- | <a id="camera"></a> `camera` | `Camera` | Live three.js camera. Recreated when the project loads to match [projection](#projection). | [components/Camera.ts:162](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L162) |
49
- | <a id="type"></a> `type` | [`CameraRuntimeType`](../type-aliases/CameraRuntimeType.md) | Runtime camera mode (`3d` or `ar`). | [components/Camera.ts:164](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L164) |
50
- | <a id="isdefault"></a> `isDefault` | `boolean` | When `true`, this is the active rendering camera. Only one camera per scene should be the default. | [components/Camera.ts:166](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L166) |
51
- | <a id="projection"></a> `projection` | [`CameraProjection`](../type-aliases/CameraProjection.md) | Active projection model (`perspective` or `orthographic`). | [components/Camera.ts:168](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L168) |
52
- | <a id="fov"></a> `fov` | `number` | Vertical field of view in **degrees**. Used when [projection](#projection) is `perspective`. | [components/Camera.ts:170](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L170) |
53
- | <a id="near"></a> `near` | `number` | Near clip plane in world units. | [components/Camera.ts:172](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L172) |
54
- | <a id="far"></a> `far` | `number` | Far clip plane in world units. | [components/Camera.ts:174](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L174) |
55
- | <a id="left"></a> `left` | `number` | Left edge of the orthographic frustum (orthographic only). | [components/Camera.ts:176](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L176) |
56
- | <a id="right"></a> `right` | `number` | Right edge of the orthographic frustum (orthographic only). | [components/Camera.ts:178](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L178) |
57
- | <a id="top"></a> `top` | `number` | Top edge of the orthographic frustum (orthographic only). | [components/Camera.ts:180](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L180) |
58
- | <a id="bottom"></a> `bottom` | `number` | Bottom edge of the orthographic frustum (orthographic only). | [components/Camera.ts:182](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L182) |
59
- | <a id="zoom"></a> `zoom` | `number` | Zoom multiplier applied to the projection. | [components/Camera.ts:184](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Camera.ts#L184) |
48
+ | <a id="camera"></a> `camera` | `Camera` | Live three.js camera. Recreated when the project loads to match [projection](#projection). | [components/Camera.ts:162](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L162) |
49
+ | <a id="type"></a> `type` | [`CameraRuntimeType`](../type-aliases/CameraRuntimeType.md) | Runtime camera mode (`3d` or `ar`). | [components/Camera.ts:164](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L164) |
50
+ | <a id="isdefault"></a> `isDefault` | `boolean` | When `true`, this is the active rendering camera. Only one camera per scene should be the default. | [components/Camera.ts:166](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L166) |
51
+ | <a id="projection"></a> `projection` | [`CameraProjection`](../type-aliases/CameraProjection.md) | Active projection model (`perspective` or `orthographic`). | [components/Camera.ts:168](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L168) |
52
+ | <a id="fov"></a> `fov` | `number` | Vertical field of view in **degrees**. Used when [projection](#projection) is `perspective`. | [components/Camera.ts:170](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L170) |
53
+ | <a id="near"></a> `near` | `number` | Near clip plane in world units. | [components/Camera.ts:172](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L172) |
54
+ | <a id="far"></a> `far` | `number` | Far clip plane in world units. | [components/Camera.ts:174](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L174) |
55
+ | <a id="left"></a> `left` | `number` | Left edge of the orthographic frustum (orthographic only). | [components/Camera.ts:176](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L176) |
56
+ | <a id="right"></a> `right` | `number` | Right edge of the orthographic frustum (orthographic only). | [components/Camera.ts:178](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L178) |
57
+ | <a id="top"></a> `top` | `number` | Top edge of the orthographic frustum (orthographic only). | [components/Camera.ts:180](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L180) |
58
+ | <a id="bottom"></a> `bottom` | `number` | Bottom edge of the orthographic frustum (orthographic only). | [components/Camera.ts:182](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L182) |
59
+ | <a id="zoom"></a> `zoom` | `number` | Zoom multiplier applied to the projection. | [components/Camera.ts:184](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Camera.ts#L184) |
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: EntityType
8
8
 
9
- Defined in: [components/EntityType.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/EntityType.ts#L12)
9
+ Defined in: [components/EntityType.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/EntityType.ts#L12)
10
10
 
11
11
  Tags an entity with the kind it was created from (`cube`, `sphere`,
12
12
  `model`, `directionalLight`, etc.). Factories use this to drive
@@ -25,13 +25,13 @@ editors.
25
25
  new EntityType(value): EntityType;
26
26
  ```
27
27
 
28
- Defined in: [components/EntityType.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/EntityType.ts#L16)
28
+ Defined in: [components/EntityType.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/EntityType.ts#L16)
29
29
 
30
30
  #### Parameters
31
31
 
32
32
  | Parameter | Type |
33
33
  | ------ | ------ |
34
- | `value` | \| `"model"` \| `"image"` \| `"capsule"` \| `"cube"` \| `"cylinder"` \| `"plane"` \| `"sphere"` \| `"empty"` \| `"imageTarget"` \| `"sprite"` \| `"audio"` \| `"camera"` \| `"video"` \| `"ambientLight"` \| `"directionalLight"` \| `"pointLight"` \| `"spotLight"` \| `"areaLight"` \| `"instancedMesh"` \| `"instanceSlot"` \| `"editorUtility"` |
34
+ | `value` | \| `"model"` \| `"image"` \| `"capsule"` \| `"cube"` \| `"cylinder"` \| `"plane"` \| `"sphere"` \| `"empty"` \| `"imageTarget"` \| `"sprite"` \| `"audio"` \| `"camera"` \| `"video"` \| `"ambientLight"` \| `"directionalLight"` \| `"pointLight"` \| `"spotLight"` \| `"areaLight"` \| `"instancedMesh"` \| `"instanceSlot"` \| `"scriptObject"` \| `"editorUtility"` |
35
35
 
36
36
  #### Returns
37
37
 
@@ -45,4 +45,4 @@ Defined in: [components/EntityType.ts:16](https://github.com/Relu-Interactives/r
45
45
 
46
46
  | Property | Type | Description | Defined in |
47
47
  | ------ | ------ | ------ | ------ |
48
- | <a id="value"></a> `value` | \| `"model"` \| `"image"` \| `"capsule"` \| `"cube"` \| `"cylinder"` \| `"plane"` \| `"sphere"` \| `"empty"` \| `"imageTarget"` \| `"sprite"` \| `"audio"` \| `"camera"` \| `"video"` \| `"ambientLight"` \| `"directionalLight"` \| `"pointLight"` \| `"spotLight"` \| `"areaLight"` \| `"instancedMesh"` \| `"instanceSlot"` \| `"editorUtility"` | Kind tag identifying which factory created this entity (e.g. `cube`, `directionalLight`, `model`). | [components/EntityType.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/EntityType.ts#L14) |
48
+ | <a id="value"></a> `value` | \| `"model"` \| `"image"` \| `"capsule"` \| `"cube"` \| `"cylinder"` \| `"plane"` \| `"sphere"` \| `"empty"` \| `"imageTarget"` \| `"sprite"` \| `"audio"` \| `"camera"` \| `"video"` \| `"ambientLight"` \| `"directionalLight"` \| `"pointLight"` \| `"spotLight"` \| `"areaLight"` \| `"instancedMesh"` \| `"instanceSlot"` \| `"scriptObject"` \| `"editorUtility"` | Kind tag identifying which factory created this entity (e.g. `cube`, `directionalLight`, `model`). | [components/EntityType.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/EntityType.ts#L14) |
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: Environment
8
8
 
9
- Defined in: [components/Environment.ts:164](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Environment.ts#L164)
9
+ Defined in: [components/Environment.ts:164](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Environment.ts#L164)
10
10
 
11
11
  Scene environment settings: skybox (gradient/color/image), fog
12
12
  (linear/exponential), and gravity vector for the physics world.
@@ -28,7 +28,7 @@ from a Behaviour script. Mutate `values` to change settings at runtime;
28
28
  new Environment(values?): Environment;
29
29
  ```
30
30
 
31
- Defined in: [components/Environment.ts:168](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Environment.ts#L168)
31
+ Defined in: [components/Environment.ts:168](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Environment.ts#L168)
32
32
 
33
33
  #### Parameters
34
34
 
@@ -48,4 +48,4 @@ Defined in: [components/Environment.ts:168](https://github.com/Relu-Interactives
48
48
 
49
49
  | Property | Type | Description | Defined in |
50
50
  | ------ | ------ | ------ | ------ |
51
- | <a id="values"></a> `values` | [`EnvironmentState`](../type-aliases/EnvironmentState.md) | Aggregated environment authoring state (skybox, fog, gravity). Saved with the project. | [components/Environment.ts:166](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Environment.ts#L166) |
51
+ | <a id="values"></a> `values` | [`EnvironmentState`](../type-aliases/EnvironmentState.md) | Aggregated environment authoring state (skybox, fog, gravity). Saved with the project. | [components/Environment.ts:166](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Environment.ts#L166) |
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: ImageComponent
8
8
 
9
- Defined in: [components/Image.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Image.ts#L13)
9
+ Defined in: [components/Image.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Image.ts#L13)
10
10
 
11
11
  Renders a 2D image as a textured quad in the scene. Width/height are in
12
12
  world units. Texture loading is handled by the image system, which
@@ -28,7 +28,7 @@ new ImageComponent(
28
28
  height?): ImageComponent;
29
29
  ```
30
30
 
31
- Defined in: [components/Image.ts:25](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Image.ts#L25)
31
+ Defined in: [components/Image.ts:25](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Image.ts#L25)
32
32
 
33
33
  #### Parameters
34
34
 
@@ -50,8 +50,8 @@ Defined in: [components/Image.ts:25](https://github.com/Relu-Interactives/relu-s
50
50
 
51
51
  | Property | Type | Description | Defined in |
52
52
  | ------ | ------ | ------ | ------ |
53
- | <a id="path"></a> `path` | `string` | Source URL or `localasset://` path of the image file. | [components/Image.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Image.ts#L15) |
54
- | <a id="width"></a> `width` | `number` | Width of the rendered quad in world units. | [components/Image.ts:17](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Image.ts#L17) |
55
- | <a id="height"></a> `height` | `number` | Height of the rendered quad in world units. | [components/Image.ts:19](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Image.ts#L19) |
56
- | <a id="texture"></a> `texture` | `Texture` \| `null` | Loaded texture, populated asynchronously by the image system. `null` until loaded. | [components/Image.ts:21](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Image.ts#L21) |
57
- | <a id="object"></a> `object` | `Object3D`\<`Object3DEventMap`\> \| `null` | Live three.js object representing the textured quad. `null` until built. | [components/Image.ts:23](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Image.ts#L23) |
53
+ | <a id="path"></a> `path` | `string` | Source URL or `localasset://` path of the image file. | [components/Image.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Image.ts#L15) |
54
+ | <a id="width"></a> `width` | `number` | Width of the rendered quad in world units. | [components/Image.ts:17](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Image.ts#L17) |
55
+ | <a id="height"></a> `height` | `number` | Height of the rendered quad in world units. | [components/Image.ts:19](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Image.ts#L19) |
56
+ | <a id="texture"></a> `texture` | `Texture` \| `null` | Loaded texture, populated asynchronously by the image system. `null` until loaded. | [components/Image.ts:21](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Image.ts#L21) |
57
+ | <a id="object"></a> `object` | `Object3D`\<`Object3DEventMap`\> \| `null` | Live three.js object representing the textured quad. `null` until built. | [components/Image.ts:23](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Image.ts#L23) |
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: ImageTarget
8
8
 
9
- Defined in: [components/ImageTarget.ts:29](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTarget.ts#L29)
9
+ Defined in: [components/ImageTarget.ts:29](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTarget.ts#L29)
10
10
 
11
11
  Image-tracking target metadata used by AR projects. Holds the source images
12
12
  users uploaded plus the URL of the compiled `.mind` target file produced by
@@ -28,7 +28,7 @@ new ImageTarget(
28
28
  object?): ImageTarget;
29
29
  ```
30
30
 
31
- Defined in: [components/ImageTarget.ts:41](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTarget.ts#L41)
31
+ Defined in: [components/ImageTarget.ts:41](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTarget.ts#L41)
32
32
 
33
33
  #### Parameters
34
34
 
@@ -53,8 +53,8 @@ Defined in: [components/ImageTarget.ts:41](https://github.com/Relu-Interactives/
53
53
 
54
54
  | Property | Type | Description | Defined in |
55
55
  | ------ | ------ | ------ | ------ |
56
- | <a id="targets"></a> `targets` | [`ImageTargetReference`](../type-aliases/ImageTargetReference.md)[] | Source images that were combined into the compiled `.mind` target. | [components/ImageTarget.ts:31](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTarget.ts#L31) |
57
- | <a id="compiledtargeturl"></a> `compiledTargetUrl?` | `string` | URL of the compiled `.mind` target file. Set after the image-target compiler finishes. | [components/ImageTarget.ts:33](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTarget.ts#L33) |
58
- | <a id="compiledtargetdir"></a> `compiledTargetDir?` | `string` | Directory containing the compiled `.mind` file (desktop projects). | [components/ImageTarget.ts:35](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTarget.ts#L35) |
59
- | <a id="texture"></a> `texture` | `Texture` \| `null` | Optional preview texture used in the editor viewport. `null` when not assigned. | [components/ImageTarget.ts:37](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTarget.ts#L37) |
60
- | <a id="object"></a> `object` | `Object3D`\<`Object3DEventMap`\> \| `null` | Optional preview object placed in the editor viewport. `null` when not assigned. | [components/ImageTarget.ts:39](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTarget.ts#L39) |
56
+ | <a id="targets"></a> `targets` | [`ImageTargetReference`](../type-aliases/ImageTargetReference.md)[] | Source images that were combined into the compiled `.mind` target. | [components/ImageTarget.ts:31](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTarget.ts#L31) |
57
+ | <a id="compiledtargeturl"></a> `compiledTargetUrl?` | `string` | URL of the compiled `.mind` target file. Set after the image-target compiler finishes. | [components/ImageTarget.ts:33](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTarget.ts#L33) |
58
+ | <a id="compiledtargetdir"></a> `compiledTargetDir?` | `string` | Directory containing the compiled `.mind` file (desktop projects). | [components/ImageTarget.ts:35](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTarget.ts#L35) |
59
+ | <a id="texture"></a> `texture` | `Texture` \| `null` | Optional preview texture used in the editor viewport. `null` when not assigned. | [components/ImageTarget.ts:37](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTarget.ts#L37) |
60
+ | <a id="object"></a> `object` | `Object3D`\<`Object3DEventMap`\> \| `null` | Optional preview object placed in the editor viewport. `null` when not assigned. | [components/ImageTarget.ts:39](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTarget.ts#L39) |
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: ImageTargetAnchor
8
8
 
9
- Defined in: [components/ImageTargetAnchor.ts:18](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTargetAnchor.ts#L18)
9
+ Defined in: [components/ImageTargetAnchor.ts:18](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTargetAnchor.ts#L18)
10
10
 
11
11
  Marks an entity as an anchor for an image-tracking target. The image
12
12
  tracking system reveals the entity when the referenced target is found and
@@ -24,7 +24,7 @@ hides it when the target is lost.
24
24
  new ImageTargetAnchor(options?): ImageTargetAnchor;
25
25
  ```
26
26
 
27
- Defined in: [components/ImageTargetAnchor.ts:24](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTargetAnchor.ts#L24)
27
+ Defined in: [components/ImageTargetAnchor.ts:24](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTargetAnchor.ts#L24)
28
28
 
29
29
  #### Parameters
30
30
 
@@ -44,5 +44,5 @@ Defined in: [components/ImageTargetAnchor.ts:24](https://github.com/Relu-Interac
44
44
 
45
45
  | Property | Type | Description | Defined in |
46
46
  | ------ | ------ | ------ | ------ |
47
- | <a id="targetid"></a> `targetId` | `number` \| `null` | Tracked target id this anchor follows. `null` when unbound. | [components/ImageTargetAnchor.ts:20](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTargetAnchor.ts#L20) |
48
- | <a id="targeturl"></a> `targetUrl?` | `string` | Canonical target image URL, retained as a fallback identifier. | [components/ImageTargetAnchor.ts:22](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/ImageTargetAnchor.ts#L22) |
47
+ | <a id="targetid"></a> `targetId` | `number` \| `null` | Tracked target id this anchor follows. `null` when unbound. | [components/ImageTargetAnchor.ts:20](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTargetAnchor.ts#L20) |
48
+ | <a id="targeturl"></a> `targetUrl?` | `string` | Canonical target image URL, retained as a fallback identifier. | [components/ImageTargetAnchor.ts:22](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/ImageTargetAnchor.ts#L22) |
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: InstanceSlotComponent
8
8
 
9
- Defined in: [components/InstanceSlotComponent.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstanceSlotComponent.ts#L13)
9
+ Defined in: [components/InstanceSlotComponent.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstanceSlotComponent.ts#L13)
10
10
 
11
11
  Marks an entity as an instance slot owned by an [InstancedMeshComponent](InstancedMeshComponent.md) group entity.
12
12
 
@@ -27,7 +27,7 @@ frame by `InstancedMeshSystem` to compose the instance matrix.
27
27
  new InstanceSlotComponent(groupEntityId, slotIndex): InstanceSlotComponent;
28
28
  ```
29
29
 
30
- Defined in: [components/InstanceSlotComponent.ts:19](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstanceSlotComponent.ts#L19)
30
+ Defined in: [components/InstanceSlotComponent.ts:19](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstanceSlotComponent.ts#L19)
31
31
 
32
32
  #### Parameters
33
33
 
@@ -48,5 +48,5 @@ Defined in: [components/InstanceSlotComponent.ts:19](https://github.com/Relu-Int
48
48
 
49
49
  | Property | Type | Description | Defined in |
50
50
  | ------ | ------ | ------ | ------ |
51
- | <a id="groupentityid"></a> `groupEntityId` | `number` | Entity ID of the owning `instancedMesh` group entity. | [components/InstanceSlotComponent.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstanceSlotComponent.ts#L15) |
52
- | <a id="slotindex"></a> `slotIndex` | `number` | Zero-based index of this slot within the group's `instanceEntityIds` array. | [components/InstanceSlotComponent.ts:17](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstanceSlotComponent.ts#L17) |
51
+ | <a id="groupentityid"></a> `groupEntityId` | `number` | Entity ID of the owning `instancedMesh` group entity. | [components/InstanceSlotComponent.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstanceSlotComponent.ts#L15) |
52
+ | <a id="slotindex"></a> `slotIndex` | `number` | Zero-based index of this slot within the group's `instanceEntityIds` array. | [components/InstanceSlotComponent.ts:17](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstanceSlotComponent.ts#L17) |
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: InstancedMeshComponent
8
8
 
9
- Defined in: [components/InstancedMesh.ts:64](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L64)
9
+ Defined in: [components/InstancedMesh.ts:64](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L64)
10
10
 
11
11
  Holds authored instanced-mesh data for an entity that renders as a
12
12
  `THREE.InstancedMesh`. Supports primitive geometry kinds (cube, sphere,
@@ -31,7 +31,7 @@ new InstancedMeshComponent(
31
31
  options?): InstancedMeshComponent;
32
32
  ```
33
33
 
34
- Defined in: [components/InstancedMesh.ts:93](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L93)
34
+ Defined in: [components/InstancedMesh.ts:93](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L93)
35
35
 
36
36
  #### Parameters
37
37
 
@@ -57,13 +57,13 @@ Defined in: [components/InstancedMesh.ts:93](https://github.com/Relu-Interactive
57
57
 
58
58
  | Property | Type | Description | Defined in |
59
59
  | ------ | ------ | ------ | ------ |
60
- | <a id="meshkind"></a> `meshKind` | [`InstancedMeshKind`](../type-aliases/InstancedMeshKind.md) | Geometry kind for all instances. Use `"model"` for a custom GLTF/GLB asset. | [components/InstancedMesh.ts:66](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L66) |
61
- | <a id="modelpath"></a> `modelPath` | `string` | Path to the GLTF/GLB asset when `meshKind === "model"`. Serialized in snapshots and restored on hydration. | [components/InstancedMesh.ts:71](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L71) |
62
- | <a id="meshparameters"></a> `meshParameters` | [`MeshGeometryParameters`](../type-aliases/MeshGeometryParameters.md) | Editable geometry parameters (width/height/depth, radius, etc.). Ignored when `meshKind === "model"`. | [components/InstancedMesh.ts:73](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L73) |
63
- | <a id="castshadow"></a> `castShadow` | `boolean` | Whether all instances cast shadows. | [components/InstancedMesh.ts:75](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L75) |
64
- | <a id="receiveshadow"></a> `receiveShadow` | `boolean` | Whether all instances receive shadows. | [components/InstancedMesh.ts:77](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L77) |
65
- | <a id="instanceentityids"></a> `instanceEntityIds` | `number`[] | Ordered list of entity IDs for the instance slot entities owned by this group. Each slot entity carries a `TransformComponent` that `InstancedMeshSystem` reads every frame to build the per-instance matrix. | [components/InstancedMesh.ts:83](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L83) |
66
- | <a id="instancedmesh"></a> `instancedMesh` | `Object3D`\<`Object3DEventMap`\> \| `null` | Live runtime container managed by `InstancedMeshSystem`: - For primitive kinds: a `THREE.InstancedMesh`. - For `"model"` kind: a `THREE.Group` containing per-mesh `THREE.InstancedMesh` objects. Excluded from snapshot serialization — do **not** read this in hydration code. | [components/InstancedMesh.ts:91](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L91) |
60
+ | <a id="meshkind"></a> `meshKind` | [`InstancedMeshKind`](../type-aliases/InstancedMeshKind.md) | Geometry kind for all instances. Use `"model"` for a custom GLTF/GLB asset. | [components/InstancedMesh.ts:66](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L66) |
61
+ | <a id="modelpath"></a> `modelPath` | `string` | Path to the GLTF/GLB asset when `meshKind === "model"`. Serialized in snapshots and restored on hydration. | [components/InstancedMesh.ts:71](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L71) |
62
+ | <a id="meshparameters"></a> `meshParameters` | [`MeshGeometryParameters`](../type-aliases/MeshGeometryParameters.md) | Editable geometry parameters (width/height/depth, radius, etc.). Ignored when `meshKind === "model"`. | [components/InstancedMesh.ts:73](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L73) |
63
+ | <a id="castshadow"></a> `castShadow` | `boolean` | Whether all instances cast shadows. | [components/InstancedMesh.ts:75](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L75) |
64
+ | <a id="receiveshadow"></a> `receiveShadow` | `boolean` | Whether all instances receive shadows. | [components/InstancedMesh.ts:77](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L77) |
65
+ | <a id="instanceentityids"></a> `instanceEntityIds` | `number`[] | Ordered list of entity IDs for the instance slot entities owned by this group. Each slot entity carries a `TransformComponent` that `InstancedMeshSystem` reads every frame to build the per-instance matrix. | [components/InstancedMesh.ts:83](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L83) |
66
+ | <a id="instancedmesh"></a> `instancedMesh` | `Object3D`\<`Object3DEventMap`\> \| `null` | Live runtime container managed by `InstancedMeshSystem`: - For primitive kinds: a `THREE.InstancedMesh`. - For `"model"` kind: a `THREE.Group` containing per-mesh `THREE.InstancedMesh` objects. Excluded from snapshot serialization — do **not** read this in hydration code. | [components/InstancedMesh.ts:91](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L91) |
67
67
 
68
68
  ## Methods
69
69
 
@@ -73,7 +73,7 @@ Defined in: [components/InstancedMesh.ts:93](https://github.com/Relu-Interactive
73
73
  getSanitizedParameters(): MeshGeometryParameters;
74
74
  ```
75
75
 
76
- Defined in: [components/InstancedMesh.ts:117](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/InstancedMesh.ts#L117)
76
+ Defined in: [components/InstancedMesh.ts:117](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/InstancedMesh.ts#L117)
77
77
 
78
78
  Sanitize and return a copy of the current mesh parameters with valid values.
79
79
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: LightComponent
8
8
 
9
- Defined in: [components/Light.ts:65](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Light.ts#L65)
9
+ Defined in: [components/Light.ts:65](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Light.ts#L65)
10
10
 
11
11
  Light source attached to an entity. `type` selects the underlying three.js
12
12
  light class (directional, point, spot, ambient, hemisphere, rect-area).
@@ -25,7 +25,7 @@ type-specific fields (distance, decay, angle, penumbra, width, height).
25
25
  new LightComponent(light): LightComponent;
26
26
  ```
27
27
 
28
- Defined in: [components/Light.ts:73](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Light.ts#L73)
28
+ Defined in: [components/Light.ts:73](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Light.ts#L73)
29
29
 
30
30
  #### Parameters
31
31
 
@@ -45,9 +45,9 @@ Defined in: [components/Light.ts:73](https://github.com/Relu-Interactives/relu-s
45
45
 
46
46
  | Property | Type | Description | Defined in |
47
47
  | ------ | ------ | ------ | ------ |
48
- | <a id="light"></a> `light` | `Light` | Live three.js light placed in the scene. Recreated when the project loads. | [components/Light.ts:67](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Light.ts#L67) |
49
- | <a id="type"></a> `type` | `string` | Three.js class name of the light (e.g. `"DirectionalLight"`, `"PointLight"`, `"SpotLight"`). | [components/Light.ts:69](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Light.ts#L69) |
50
- | <a id="values"></a> `values` | [`LightValueState`](../type-aliases/LightValueState.md) | Serialized authoring state. Saved with the project. | [components/Light.ts:71](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Light.ts#L71) |
48
+ | <a id="light"></a> `light` | `Light` | Live three.js light placed in the scene. Recreated when the project loads. | [components/Light.ts:67](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Light.ts#L67) |
49
+ | <a id="type"></a> `type` | `string` | Three.js class name of the light (e.g. `"DirectionalLight"`, `"PointLight"`, `"SpotLight"`). | [components/Light.ts:69](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Light.ts#L69) |
50
+ | <a id="values"></a> `values` | [`LightValueState`](../type-aliases/LightValueState.md) | Serialized authoring state. Saved with the project. | [components/Light.ts:71](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Light.ts#L71) |
51
51
 
52
52
  ## Methods
53
53
 
@@ -57,7 +57,7 @@ Defined in: [components/Light.ts:73](https://github.com/Relu-Interactives/relu-s
57
57
  setValues(patch): void;
58
58
  ```
59
59
 
60
- Defined in: [components/Light.ts:80](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Light.ts#L80)
60
+ Defined in: [components/Light.ts:80](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Light.ts#L80)
61
61
 
62
62
  #### Parameters
63
63
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: MaterialComponent
8
8
 
9
- Defined in: [components/Material.ts:190](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L190)
9
+ Defined in: [components/Material.ts:190](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L190)
10
10
 
11
11
  Material catalog for an entity. Tracks the live three.js materials
12
12
  (`materials`, `material`) plus serialized authoring state (`values[]`)
@@ -32,7 +32,7 @@ inside the editor.
32
32
  new MaterialComponent(materialOrMaterials?): MaterialComponent;
33
33
  ```
34
34
 
35
- Defined in: [components/Material.ts:198](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L198)
35
+ Defined in: [components/Material.ts:207](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L207)
36
36
 
37
37
  #### Parameters
38
38
 
@@ -52,19 +52,65 @@ Defined in: [components/Material.ts:198](https://github.com/Relu-Interactives/re
52
52
 
53
53
  | Property | Type | Description | Defined in |
54
54
  | ------ | ------ | ------ | ------ |
55
- | <a id="materials"></a> `materials` | `Material`[] | Live three.js materials currently bound to the entity's mesh (one per submesh). | [components/Material.ts:192](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L192) |
56
- | <a id="material"></a> `material` | `Material` \| `null` | Convenience reference to `materials[0]`. `null` when no material is assigned. | [components/Material.ts:194](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L194) |
57
- | <a id="values"></a> `values` | [`MaterialValueState`](../type-aliases/MaterialValueState.md)[] | Serialized authoring state (one entry per material in [materials](#materials)). Saved with the project. | [components/Material.ts:196](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L196) |
55
+ | <a id="materials"></a> `materials` | `Material`[] | Live three.js materials currently bound to the entity's mesh (one per submesh). | [components/Material.ts:192](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L192) |
56
+ | <a id="material"></a> `material` | `Material` \| `null` | Convenience reference to `materials[0]`. `null` when no material is assigned. | [components/Material.ts:194](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L194) |
57
+ | <a id="values"></a> `values` | [`MaterialValueState`](../type-aliases/MaterialValueState.md)[] | Serialized authoring state (one entry per material in [materials](#materials)). Saved with the project. | [components/Material.ts:196](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L196) |
58
+ | <a id="assetrefs"></a> `assetRefs` | (`string` \| `null`)[] | Editor-managed material-asset linkage, one entry per slot (parallel to [values](#values)). A `localasset://` URL of a `.material` asset file, or `null`/absent for a local (unlinked) material. The editor materializes the asset's values into [values](#values) and keeps them in sync when the asset is edited — rendering and the runtime read only [values](#values) and ignore this field. Saved with the project; survives material rebinds. | [components/Material.ts:205](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L205) |
58
59
 
59
60
  ## Methods
60
61
 
62
+ ### setAssetRef()
63
+
64
+ ```ts
65
+ setAssetRef(index, url): void;
66
+ ```
67
+
68
+ Defined in: [components/Material.ts:218](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L218)
69
+
70
+ Link/unlink a slot to a material asset URL (editor bookkeeping only).
71
+
72
+ #### Parameters
73
+
74
+ | Parameter | Type |
75
+ | ------ | ------ |
76
+ | `index` | `number` |
77
+ | `url` | `string` \| `null` |
78
+
79
+ #### Returns
80
+
81
+ `void`
82
+
83
+ ***
84
+
85
+ ### getAssetRef()
86
+
87
+ ```ts
88
+ getAssetRef(index): string | null;
89
+ ```
90
+
91
+ Defined in: [components/Material.ts:229](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L229)
92
+
93
+ The material-asset URL a slot is linked to, or null when local.
94
+
95
+ #### Parameters
96
+
97
+ | Parameter | Type |
98
+ | ------ | ------ |
99
+ | `index` | `number` |
100
+
101
+ #### Returns
102
+
103
+ `string` \| `null`
104
+
105
+ ***
106
+
61
107
  ### setMaterials()
62
108
 
63
109
  ```ts
64
110
  setMaterials(materialOrMaterials?): void;
65
111
  ```
66
112
 
67
- Defined in: [components/Material.ts:207](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L207)
113
+ Defined in: [components/Material.ts:233](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L233)
68
114
 
69
115
  #### Parameters
70
116
 
@@ -84,7 +130,7 @@ Defined in: [components/Material.ts:207](https://github.com/Relu-Interactives/re
84
130
  updateValue(index, patch): void;
85
131
  ```
86
132
 
87
- Defined in: [components/Material.ts:223](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L223)
133
+ Defined in: [components/Material.ts:249](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L249)
88
134
 
89
135
  #### Parameters
90
136
 
@@ -105,7 +151,7 @@ Defined in: [components/Material.ts:223](https://github.com/Relu-Interactives/re
105
151
  resetValue(index): void;
106
152
  ```
107
153
 
108
- Defined in: [components/Material.ts:238](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L238)
154
+ Defined in: [components/Material.ts:264](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L264)
109
155
 
110
156
  #### Parameters
111
157
 
@@ -125,7 +171,7 @@ Defined in: [components/Material.ts:238](https://github.com/Relu-Interactives/re
125
171
  setMaterialType(index, type): void;
126
172
  ```
127
173
 
128
- Defined in: [components/Material.ts:254](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L254)
174
+ Defined in: [components/Material.ts:280](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L280)
129
175
 
130
176
  #### Parameters
131
177
 
@@ -146,7 +192,7 @@ Defined in: [components/Material.ts:254](https://github.com/Relu-Interactives/re
146
192
  setTextureFiltering(index, filtering): void;
147
193
  ```
148
194
 
149
- Defined in: [components/Material.ts:258](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L258)
195
+ Defined in: [components/Material.ts:284](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L284)
150
196
 
151
197
  #### Parameters
152
198
 
@@ -167,7 +213,7 @@ Defined in: [components/Material.ts:258](https://github.com/Relu-Interactives/re
167
213
  setUseMipmaps(index, enabled): void;
168
214
  ```
169
215
 
170
- Defined in: [components/Material.ts:262](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/f4080487315dc2ea88332b3160fc071e7828b385/core/components/Material.ts#L262)
216
+ Defined in: [components/Material.ts:288](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/020795472520adb990c488982ca8572cbf8580db/core/components/Material.ts#L288)
171
217
 
172
218
  #### Parameters
173
219