@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,41 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / LightValueState
6
+
7
+ # Type Alias: LightValueState
8
+
9
+ ```ts
10
+ type LightValueState = {
11
+ color: string;
12
+ intensity: number;
13
+ castShadow: boolean;
14
+ frustumCulling: boolean;
15
+ distance?: number;
16
+ decay?: number;
17
+ angle?: number;
18
+ penumbra?: number;
19
+ width?: number;
20
+ height?: number;
21
+ };
22
+ ```
23
+
24
+ Defined in: [components/Light.ts:6](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L6)
25
+
26
+ Authoring state for [LightComponent](../classes/LightComponent.md). Common fields apply to every light kind; the optional fields are only meaningful for specific kinds.
27
+
28
+ ## Properties
29
+
30
+ | Property | Type | Description | Defined in |
31
+ | ------ | ------ | ------ | ------ |
32
+ | <a id="color"></a> `color` | `string` | Light color as `#rrggbb` hex string. | [components/Light.ts:8](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L8) |
33
+ | <a id="intensity"></a> `intensity` | `number` | Light intensity multiplier (units depend on three.js physically-correct mode). | [components/Light.ts:10](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L10) |
34
+ | <a id="castshadow"></a> `castShadow` | `boolean` | Whether the light casts shadows. | [components/Light.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L12) |
35
+ | <a id="frustumculling"></a> `frustumCulling` | `boolean` | Whether the light is frustum-culled when off-screen. | [components/Light.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L14) |
36
+ | <a id="distance"></a> `distance?` | `number` | Maximum range; `0` means infinite. (PointLight, SpotLight) | [components/Light.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L16) |
37
+ | <a id="decay"></a> `decay?` | `number` | Falloff exponent for distance attenuation. (PointLight, SpotLight) | [components/Light.ts:18](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L18) |
38
+ | <a id="angle"></a> `angle?` | `number` | Cone half-angle in **radians**. (SpotLight) | [components/Light.ts:20](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L20) |
39
+ | <a id="penumbra"></a> `penumbra?` | `number` | Soft-edge factor in `[0, 1]`; `0` is a hard edge. (SpotLight) | [components/Light.ts:22](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L22) |
40
+ | <a id="width"></a> `width?` | `number` | Rectangle width in world units. (RectAreaLight) | [components/Light.ts:24](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L24) |
41
+ | <a id="height"></a> `height?` | `number` | Rectangle height in world units. (RectAreaLight) | [components/Light.ts:26](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Light.ts#L26) |
@@ -0,0 +1,15 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / MaterialTypeValue
6
+
7
+ # Type Alias: MaterialTypeValue
8
+
9
+ ```ts
10
+ type MaterialTypeValue = "standard" | "basic" | "phong" | "physical";
11
+ ```
12
+
13
+ Defined in: [components/Material.ts:6](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L6)
14
+
15
+ Supported material classes. Each maps to a three.js `Mesh*Material` type.
@@ -0,0 +1,75 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / MaterialValueState
6
+
7
+ # Type Alias: MaterialValueState
8
+
9
+ ```ts
10
+ type MaterialValueState = {
11
+ type: MaterialTypeValue;
12
+ color: string;
13
+ roughness: number;
14
+ metalness: number;
15
+ normalScale: number;
16
+ opacity: number;
17
+ emissive: string;
18
+ emissiveIntensity: number;
19
+ side: number;
20
+ blending: number;
21
+ depthTest: boolean;
22
+ depthWrite: boolean;
23
+ wireframe: boolean;
24
+ transparent: boolean;
25
+ textureMap?: string;
26
+ alphaTextureMap?: string;
27
+ normalMap?: string;
28
+ roughnessMap?: string;
29
+ metalnessMap?: string;
30
+ aoMap?: string;
31
+ emissiveMap?: string;
32
+ bumpMap?: string;
33
+ displacementMap?: string;
34
+ lightMap?: string;
35
+ envMap?: string;
36
+ textureFiltering: TextureFilteringValue;
37
+ useMipmaps: boolean;
38
+ };
39
+ ```
40
+
41
+ Defined in: [components/Material.ts:11](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L11)
42
+
43
+ Authoring state for a single slot in [MaterialComponent.values](../classes/MaterialComponent.md#values). Mirrors the live three.js material so it can be re-applied when the project loads.
44
+
45
+ ## Properties
46
+
47
+ | Property | Type | Description | Defined in |
48
+ | ------ | ------ | ------ | ------ |
49
+ | <a id="type"></a> `type` | [`MaterialTypeValue`](MaterialTypeValue.md) | Underlying material class. | [components/Material.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L13) |
50
+ | <a id="color"></a> `color` | `string` | Base color as `#rrggbb` hex string. | [components/Material.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L15) |
51
+ | <a id="roughness"></a> `roughness` | `number` | PBR roughness in `[0, 1]`. | [components/Material.ts:17](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L17) |
52
+ | <a id="metalness"></a> `metalness` | `number` | PBR metalness in `[0, 1]`. | [components/Material.ts:19](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L19) |
53
+ | <a id="normalscale"></a> `normalScale` | `number` | Multiplier applied to the normal map (uniform on both axes). | [components/Material.ts:21](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L21) |
54
+ | <a id="opacity"></a> `opacity` | `number` | Surface opacity in `[0, 1]`. Combine with [transparent](#transparent) to enable alpha. | [components/Material.ts:23](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L23) |
55
+ | <a id="emissive"></a> `emissive` | `string` | Emissive color as `#rrggbb` hex string. | [components/Material.ts:25](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L25) |
56
+ | <a id="emissiveintensity"></a> `emissiveIntensity` | `number` | Emissive intensity multiplier. | [components/Material.ts:27](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L27) |
57
+ | <a id="side"></a> `side` | `number` | Three.js `Side` enum value (`FrontSide`, `BackSide`, or `DoubleSide`). | [components/Material.ts:29](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L29) |
58
+ | <a id="blending"></a> `blending` | `number` | Three.js `Blending` enum value. | [components/Material.ts:31](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L31) |
59
+ | <a id="depthtest"></a> `depthTest` | `boolean` | Whether depth testing is enabled. | [components/Material.ts:33](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L33) |
60
+ | <a id="depthwrite"></a> `depthWrite` | `boolean` | Whether depth writes are enabled. | [components/Material.ts:35](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L35) |
61
+ | <a id="wireframe"></a> `wireframe` | `boolean` | Render as wireframe. | [components/Material.ts:37](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L37) |
62
+ | <a id="transparent"></a> `transparent` | `boolean` | Enable transparency (must be `true` for [opacity](#opacity) < 1 to render correctly). | [components/Material.ts:39](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L39) |
63
+ | <a id="texturemap"></a> `textureMap?` | `string` | Color/diffuse texture URL. | [components/Material.ts:41](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L41) |
64
+ | <a id="alphatexturemap"></a> `alphaTextureMap?` | `string` | Alpha (transparency) texture URL. | [components/Material.ts:43](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L43) |
65
+ | <a id="normalmap"></a> `normalMap?` | `string` | Tangent-space normal map URL. | [components/Material.ts:45](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L45) |
66
+ | <a id="roughnessmap"></a> `roughnessMap?` | `string` | Roughness map URL (red channel). | [components/Material.ts:47](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L47) |
67
+ | <a id="metalnessmap"></a> `metalnessMap?` | `string` | Metalness map URL (red channel). | [components/Material.ts:49](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L49) |
68
+ | <a id="aomap"></a> `aoMap?` | `string` | Ambient occlusion map URL. | [components/Material.ts:51](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L51) |
69
+ | <a id="emissivemap"></a> `emissiveMap?` | `string` | Emissive color map URL. | [components/Material.ts:53](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L53) |
70
+ | <a id="bumpmap"></a> `bumpMap?` | `string` | Bump map URL (height-based shading approximation). | [components/Material.ts:55](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L55) |
71
+ | <a id="displacementmap"></a> `displacementMap?` | `string` | Displacement map URL (geometric vertex offset). | [components/Material.ts:57](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L57) |
72
+ | <a id="lightmap"></a> `lightMap?` | `string` | Pre-baked light map URL. | [components/Material.ts:59](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L59) |
73
+ | <a id="envmap"></a> `envMap?` | `string` | Environment reflection map URL. | [components/Material.ts:61](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L61) |
74
+ | <a id="texturefiltering"></a> `textureFiltering` | [`TextureFilteringValue`](TextureFilteringValue.md) | Texture sampling mode applied to the color map. | [components/Material.ts:63](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L63) |
75
+ | <a id="usemipmaps"></a> `useMipmaps` | `boolean` | Whether mipmaps are generated for texture maps. | [components/Material.ts:65](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L65) |
@@ -0,0 +1,13 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / MeshGeometryParameters
6
+
7
+ # Type Alias: MeshGeometryParameters
8
+
9
+ ```ts
10
+ type MeshGeometryParameters = MeshGeometryParametersByKind[EditableMeshObjectKind];
11
+ ```
12
+
13
+ Defined in: [components/MeshGeometry.ts:59](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L59)
@@ -0,0 +1,33 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / MeshGeometryParametersByKind
6
+
7
+ # Type Alias: MeshGeometryParametersByKind
8
+
9
+ ```ts
10
+ type MeshGeometryParametersByKind = {
11
+ capsule: RadiusHeightMeshParameters;
12
+ cube: CubeMeshParameters;
13
+ cylinder: RadiusHeightMeshParameters;
14
+ model: ModelMeshParameters;
15
+ plane: PlaneMeshParameters;
16
+ sphere: RadiusMeshParameters;
17
+ };
18
+ ```
19
+
20
+ Defined in: [components/MeshGeometry.ts:50](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L50)
21
+
22
+ Map from [EditableMeshObjectKind](EditableMeshObjectKind.md) to its parameter shape.
23
+
24
+ ## Properties
25
+
26
+ | Property | Type | Defined in |
27
+ | ------ | ------ | ------ |
28
+ | <a id="capsule"></a> `capsule` | [`RadiusHeightMeshParameters`](RadiusHeightMeshParameters.md) | [components/MeshGeometry.ts:51](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L51) |
29
+ | <a id="cube"></a> `cube` | [`CubeMeshParameters`](CubeMeshParameters.md) | [components/MeshGeometry.ts:52](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L52) |
30
+ | <a id="cylinder"></a> `cylinder` | [`RadiusHeightMeshParameters`](RadiusHeightMeshParameters.md) | [components/MeshGeometry.ts:53](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L53) |
31
+ | <a id="model"></a> `model` | `ModelMeshParameters` | [components/MeshGeometry.ts:54](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L54) |
32
+ | <a id="plane"></a> `plane` | [`PlaneMeshParameters`](PlaneMeshParameters.md) | [components/MeshGeometry.ts:55](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L55) |
33
+ | <a id="sphere"></a> `sphere` | [`RadiusMeshParameters`](RadiusMeshParameters.md) | [components/MeshGeometry.ts:56](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L56) |
@@ -0,0 +1,25 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / PhysicsState
6
+
7
+ # Type Alias: PhysicsState
8
+
9
+ ```ts
10
+ type PhysicsState = {
11
+ rigidbody: RigidbodyState;
12
+ collider: ColliderState;
13
+ };
14
+ ```
15
+
16
+ Defined in: [components/Physics.ts:165](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L165)
17
+
18
+ Combined authoring state for [PhysicsComponent](../classes/PhysicsComponent.md). Saved with the project.
19
+
20
+ ## Properties
21
+
22
+ | Property | Type | Description | Defined in |
23
+ | ------ | ------ | ------ | ------ |
24
+ | <a id="rigidbody"></a> `rigidbody` | [`RigidbodyState`](RigidbodyState.md) | Rigid body settings. | [components/Physics.ts:167](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L167) |
25
+ | <a id="collider"></a> `collider` | [`ColliderState`](ColliderState.md) | Collider settings. | [components/Physics.ts:169](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L169) |
@@ -0,0 +1,25 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / PlaneMeshParameters
6
+
7
+ # Type Alias: PlaneMeshParameters
8
+
9
+ ```ts
10
+ type PlaneMeshParameters = {
11
+ width: number;
12
+ height: number;
13
+ };
14
+ ```
15
+
16
+ Defined in: [components/MeshGeometry.ts:25](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L25)
17
+
18
+ Plane geometry parameters in world units.
19
+
20
+ ## Properties
21
+
22
+ | Property | Type | Description | Defined in |
23
+ | ------ | ------ | ------ | ------ |
24
+ | <a id="width"></a> `width` | `number` | Plane width along X. | [components/MeshGeometry.ts:27](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L27) |
25
+ | <a id="height"></a> `height` | `number` | Plane height along Y. | [components/MeshGeometry.ts:29](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L29) |
@@ -0,0 +1,164 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / PostprocessingState
6
+
7
+ # Type Alias: PostprocessingState
8
+
9
+ ```ts
10
+ type PostprocessingState = {
11
+ postEnabled: boolean;
12
+ dof: {
13
+ enabled: boolean;
14
+ focusDistance: number;
15
+ focalLength: number;
16
+ bokehScale: number;
17
+ };
18
+ bloom: {
19
+ enabled: boolean;
20
+ intensity: number;
21
+ threshold: number;
22
+ radius: number;
23
+ };
24
+ vignette: {
25
+ enabled: boolean;
26
+ offset: number;
27
+ darkness: number;
28
+ };
29
+ chromAberration: {
30
+ enabled: boolean;
31
+ offsetX: number;
32
+ offsetY: number;
33
+ };
34
+ noise: {
35
+ enabled: boolean;
36
+ opacity: number;
37
+ };
38
+ pixelation: {
39
+ enabled: boolean;
40
+ granularity: number;
41
+ };
42
+ toneMapping: {
43
+ enabled: boolean;
44
+ exposure: number;
45
+ };
46
+ hueSaturation: {
47
+ enabled: boolean;
48
+ hue: number;
49
+ saturation: number;
50
+ };
51
+ sepia: {
52
+ enabled: boolean;
53
+ intensity: number;
54
+ };
55
+ smaa: {
56
+ enabled: boolean;
57
+ };
58
+ ssao: {
59
+ enabled: boolean;
60
+ intensity: number;
61
+ radius: number;
62
+ };
63
+ dotScreen: {
64
+ enabled: boolean;
65
+ dotScreenScale: number;
66
+ dotScreenAngle: number;
67
+ angle?: number;
68
+ scale?: number;
69
+ blendFunction?: number;
70
+ opacity?: number;
71
+ };
72
+ glitch: {
73
+ enabled: boolean;
74
+ blendFunction?: number;
75
+ chromaticAberrationOffset?: | {
76
+ x: number;
77
+ y: number;
78
+ }
79
+ | [number, number];
80
+ delay?: [number, number];
81
+ duration?: [number, number];
82
+ strength?: | number
83
+ | {
84
+ x: number;
85
+ y: number;
86
+ };
87
+ dtSize?: number;
88
+ columns?: number;
89
+ ratio?: number;
90
+ mode?: string;
91
+ active?: boolean;
92
+ };
93
+ };
94
+ ```
95
+
96
+ Defined in: [components/Postprocessing.ts:4](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L4)
97
+
98
+ Aggregated post-processing effect chain authored on the scene environment. Each sub-effect has its own `enabled` flag plus per-effect parameters.
99
+
100
+ ## Properties
101
+
102
+ | Property | Type | Description | Defined in |
103
+ | ------ | ------ | ------ | ------ |
104
+ | <a id="postenabled"></a> `postEnabled` | `boolean` | Master toggle. When `false` no post-processing is applied even if individual effects are enabled. | [components/Postprocessing.ts:6](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L6) |
105
+ | <a id="dof"></a> `dof` | \{ `enabled`: `boolean`; `focusDistance`: `number`; `focalLength`: `number`; `bokehScale`: `number`; \} | Depth-of-field (bokeh) effect. | [components/Postprocessing.ts:8](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L8) |
106
+ | `dof.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:10](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L10) |
107
+ | `dof.focusDistance` | `number` | Distance to the focal plane in world units. | [components/Postprocessing.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L12) |
108
+ | `dof.focalLength` | `number` | Lens focal length controlling depth-of-field strength. | [components/Postprocessing.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L14) |
109
+ | `dof.bokehScale` | `number` | Bokeh blur kernel scale. | [components/Postprocessing.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L16) |
110
+ | <a id="bloom"></a> `bloom` | \{ `enabled`: `boolean`; `intensity`: `number`; `threshold`: `number`; `radius`: `number`; \} | Bloom (HDR glow) effect. | [components/Postprocessing.ts:19](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L19) |
111
+ | `bloom.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:21](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L21) |
112
+ | `bloom.intensity` | `number` | Strength of the bloom contribution. | [components/Postprocessing.ts:23](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L23) |
113
+ | `bloom.threshold` | `number` | Luminance threshold above which pixels bloom. | [components/Postprocessing.ts:25](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L25) |
114
+ | `bloom.radius` | `number` | Blur radius applied to the bloom buffer. | [components/Postprocessing.ts:27](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L27) |
115
+ | <a id="vignette"></a> `vignette` | \{ `enabled`: `boolean`; `offset`: `number`; `darkness`: `number`; \} | Vignette (corner darkening) effect. | [components/Postprocessing.ts:30](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L30) |
116
+ | `vignette.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:32](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L32) |
117
+ | `vignette.offset` | `number` | Distance from screen center where the vignette begins. | [components/Postprocessing.ts:34](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L34) |
118
+ | `vignette.darkness` | `number` | Maximum darkness applied at screen edges. | [components/Postprocessing.ts:36](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L36) |
119
+ | <a id="chromaberration"></a> `chromAberration` | \{ `enabled`: `boolean`; `offsetX`: `number`; `offsetY`: `number`; \} | Chromatic aberration (RGB channel offset) effect. | [components/Postprocessing.ts:39](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L39) |
120
+ | `chromAberration.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:41](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L41) |
121
+ | `chromAberration.offsetX` | `number` | Horizontal channel offset. | [components/Postprocessing.ts:43](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L43) |
122
+ | `chromAberration.offsetY` | `number` | Vertical channel offset. | [components/Postprocessing.ts:45](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L45) |
123
+ | <a id="noise"></a> `noise` | \{ `enabled`: `boolean`; `opacity`: `number`; \} | Film-noise overlay. | [components/Postprocessing.ts:48](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L48) |
124
+ | `noise.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:50](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L50) |
125
+ | `noise.opacity` | `number` | Opacity of the noise layer in `[0, 1]`. | [components/Postprocessing.ts:52](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L52) |
126
+ | <a id="pixelation"></a> `pixelation` | \{ `enabled`: `boolean`; `granularity`: `number`; \} | Pixelation (mosaic) effect. | [components/Postprocessing.ts:55](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L55) |
127
+ | `pixelation.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:57](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L57) |
128
+ | `pixelation.granularity` | `number` | Pixel block size in screen pixels. | [components/Postprocessing.ts:59](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L59) |
129
+ | <a id="tonemapping"></a> `toneMapping` | \{ `enabled`: `boolean`; `exposure`: `number`; \} | Tone-mapping exposure control. | [components/Postprocessing.ts:62](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L62) |
130
+ | `toneMapping.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:64](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L64) |
131
+ | `toneMapping.exposure` | `number` | Exposure multiplier applied before tone-mapping. | [components/Postprocessing.ts:66](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L66) |
132
+ | <a id="huesaturation"></a> `hueSaturation` | \{ `enabled`: `boolean`; `hue`: `number`; `saturation`: `number`; \} | Hue/saturation color grading. | [components/Postprocessing.ts:69](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L69) |
133
+ | `hueSaturation.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:71](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L71) |
134
+ | `hueSaturation.hue` | `number` | Hue rotation in radians. | [components/Postprocessing.ts:73](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L73) |
135
+ | `hueSaturation.saturation` | `number` | Saturation offset (`0` = unchanged, `>0` = more saturated). | [components/Postprocessing.ts:75](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L75) |
136
+ | <a id="sepia"></a> `sepia` | \{ `enabled`: `boolean`; `intensity`: `number`; \} | Sepia color grade. | [components/Postprocessing.ts:78](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L78) |
137
+ | `sepia.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:80](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L80) |
138
+ | `sepia.intensity` | `number` | Blend strength between original and sepia in `[0, 1]`. | [components/Postprocessing.ts:82](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L82) |
139
+ | <a id="smaa"></a> `smaa` | \{ `enabled`: `boolean`; \} | SMAA antialiasing pass. | [components/Postprocessing.ts:85](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L85) |
140
+ | `smaa.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:87](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L87) |
141
+ | <a id="ssao"></a> `ssao` | \{ `enabled`: `boolean`; `intensity`: `number`; `radius`: `number`; \} | Screen-space ambient occlusion. | [components/Postprocessing.ts:90](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L90) |
142
+ | `ssao.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:92](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L92) |
143
+ | `ssao.intensity` | `number` | Strength of the AO contribution. | [components/Postprocessing.ts:94](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L94) |
144
+ | `ssao.radius` | `number` | Sampling radius in world units. | [components/Postprocessing.ts:96](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L96) |
145
+ | <a id="dotscreen"></a> `dotScreen` | \{ `enabled`: `boolean`; `dotScreenScale`: `number`; `dotScreenAngle`: `number`; `angle?`: `number`; `scale?`: `number`; `blendFunction?`: `number`; `opacity?`: `number`; \} | Dot-screen (halftone) effect. | [components/Postprocessing.ts:99](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L99) |
146
+ | `dotScreen.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:101](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L101) |
147
+ | `dotScreen.dotScreenScale` | `number` | Pattern scale (legacy field; use [scale](#dotscreen) where available). | [components/Postprocessing.ts:103](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L103) |
148
+ | `dotScreen.dotScreenAngle` | `number` | Pattern rotation in radians (legacy field; use [angle](#dotscreen) where available). | [components/Postprocessing.ts:105](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L105) |
149
+ | `dotScreen.angle?` | `number` | Pattern rotation in radians. | [components/Postprocessing.ts:107](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L107) |
150
+ | `dotScreen.scale?` | `number` | Pattern scale. | [components/Postprocessing.ts:109](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L109) |
151
+ | `dotScreen.blendFunction?` | `number` | Three.js blend function override. | [components/Postprocessing.ts:111](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L111) |
152
+ | `dotScreen.opacity?` | `number` | Effect opacity in `[0, 1]`. | [components/Postprocessing.ts:113](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L113) |
153
+ | <a id="glitch"></a> `glitch` | \{ `enabled`: `boolean`; `blendFunction?`: `number`; `chromaticAberrationOffset?`: \| \{ `x`: `number`; `y`: `number`; \} \| \[`number`, `number`\]; `delay?`: \[`number`, `number`\]; `duration?`: \[`number`, `number`\]; `strength?`: \| `number` \| \{ `x`: `number`; `y`: `number`; \}; `dtSize?`: `number`; `columns?`: `number`; `ratio?`: `number`; `mode?`: `string`; `active?`: `boolean`; \} | Glitch effect (digital corruption simulation). | [components/Postprocessing.ts:116](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L116) |
154
+ | `glitch.enabled` | `boolean` | Enable the effect. | [components/Postprocessing.ts:118](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L118) |
155
+ | `glitch.blendFunction?` | `number` | Three.js blend function override. | [components/Postprocessing.ts:120](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L120) |
156
+ | `glitch.chromaticAberrationOffset?` | \| \{ `x`: `number`; `y`: `number`; \} \| \[`number`, `number`\] | RGB channel offset applied during a glitch burst. | [components/Postprocessing.ts:122](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L122) |
157
+ | `glitch.delay?` | \[`number`, `number`\] | `[min, max]` delay (seconds) between glitch bursts. | [components/Postprocessing.ts:124](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L124) |
158
+ | `glitch.duration?` | \[`number`, `number`\] | `[min, max]` duration (seconds) of each glitch burst. | [components/Postprocessing.ts:126](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L126) |
159
+ | `glitch.strength?` | \| `number` \| \{ `x`: `number`; `y`: `number`; \} | Glitch displacement strength (scalar or per-axis). | [components/Postprocessing.ts:128](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L128) |
160
+ | `glitch.dtSize?` | `number` | Size of the displacement texture sampled by the glitch shader. | [components/Postprocessing.ts:130](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L130) |
161
+ | `glitch.columns?` | `number` | Fraction of columns affected during a glitch burst. | [components/Postprocessing.ts:132](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L132) |
162
+ | `glitch.ratio?` | `number` | Ratio between weak and strong glitch bursts. | [components/Postprocessing.ts:134](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L134) |
163
+ | `glitch.mode?` | `string` | Glitch mode label (matches the postprocessing library's mode enum). | [components/Postprocessing.ts:136](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L136) |
164
+ | `glitch.active?` | `boolean` | Force the glitch to remain active. | [components/Postprocessing.ts:138](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Postprocessing.ts#L138) |
@@ -0,0 +1,25 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / RadiusHeightMeshParameters
6
+
7
+ # Type Alias: RadiusHeightMeshParameters
8
+
9
+ ```ts
10
+ type RadiusHeightMeshParameters = {
11
+ radius: number;
12
+ height: number;
13
+ };
14
+ ```
15
+
16
+ Defined in: [components/MeshGeometry.ts:39](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L39)
17
+
18
+ Radius + height primitive parameters (capsule, cylinder).
19
+
20
+ ## Properties
21
+
22
+ | Property | Type | Description | Defined in |
23
+ | ------ | ------ | ------ | ------ |
24
+ | <a id="radius"></a> `radius` | `number` | Radius of the cap/cylinder cross-section. | [components/MeshGeometry.ts:41](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L41) |
25
+ | <a id="height"></a> `height` | `number` | Length of the straight section between caps (capsule) or full height (cylinder). | [components/MeshGeometry.ts:43](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L43) |
@@ -0,0 +1,23 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / RadiusMeshParameters
6
+
7
+ # Type Alias: RadiusMeshParameters
8
+
9
+ ```ts
10
+ type RadiusMeshParameters = {
11
+ radius: number;
12
+ };
13
+ ```
14
+
15
+ Defined in: [components/MeshGeometry.ts:33](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L33)
16
+
17
+ Radius-only primitive parameters (sphere).
18
+
19
+ ## Properties
20
+
21
+ | Property | Type | Description | Defined in |
22
+ | ------ | ------ | ------ | ------ |
23
+ | <a id="radius"></a> `radius` | `number` | Sphere radius in world units. | [components/MeshGeometry.ts:35](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/MeshGeometry.ts#L35) |
@@ -0,0 +1,53 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / RigidbodyState
6
+
7
+ # Type Alias: RigidbodyState
8
+
9
+ ```ts
10
+ type RigidbodyState = {
11
+ enabled: boolean;
12
+ type: RigidbodyType;
13
+ mass: number;
14
+ linearDamping: number;
15
+ angularDamping: number;
16
+ gravityScale: number;
17
+ canSleep: boolean;
18
+ ccdEnabled: boolean;
19
+ lockTranslations: boolean;
20
+ lockTranslationX: boolean;
21
+ lockTranslationY: boolean;
22
+ lockTranslationZ: boolean;
23
+ lockRotations: boolean;
24
+ lockRotationX: boolean;
25
+ lockRotationY: boolean;
26
+ lockRotationZ: boolean;
27
+ };
28
+ ```
29
+
30
+ Defined in: [components/Physics.ts:24](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L24)
31
+
32
+ Authoring state for the rigidbody half of [PhysicsComponent](../classes/PhysicsComponent.md). Saved with the project.
33
+
34
+ ## Properties
35
+
36
+ | Property | Type | Description | Defined in |
37
+ | ------ | ------ | ------ | ------ |
38
+ | <a id="enabled"></a> `enabled` | `boolean` | When `false`, the body is removed from physics simulation but kept in state. | [components/Physics.ts:26](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L26) |
39
+ | <a id="type"></a> `type` | [`RigidbodyType`](RigidbodyType.md) | Body type. See [RigidbodyType](RigidbodyType.md). | [components/Physics.ts:28](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L28) |
40
+ | <a id="mass"></a> `mass` | `number` | Mass in kilograms. Only meaningful for `dynamic` bodies. | [components/Physics.ts:30](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L30) |
41
+ | <a id="lineardamping"></a> `linearDamping` | `number` | Damping applied to linear velocity each step (`0` = none). | [components/Physics.ts:32](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L32) |
42
+ | <a id="angulardamping"></a> `angularDamping` | `number` | Damping applied to angular velocity each step (`0` = none). | [components/Physics.ts:34](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L34) |
43
+ | <a id="gravityscale"></a> `gravityScale` | `number` | Scale factor applied to world gravity for this body (`1` = full gravity, `0` = floating). | [components/Physics.ts:36](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L36) |
44
+ | <a id="cansleep"></a> `canSleep` | `boolean` | Allow the body to sleep when at rest to save simulation cost. | [components/Physics.ts:38](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L38) |
45
+ | <a id="ccdenabled"></a> `ccdEnabled` | `boolean` | Enable continuous collision detection to prevent tunneling for fast bodies. | [components/Physics.ts:40](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L40) |
46
+ | <a id="locktranslations"></a> `lockTranslations` | `boolean` | Master toggle: when `true`, all linear motion is locked. | [components/Physics.ts:42](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L42) |
47
+ | <a id="locktranslationx"></a> `lockTranslationX` | `boolean` | Lock translation along world X. | [components/Physics.ts:44](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L44) |
48
+ | <a id="locktranslationy"></a> `lockTranslationY` | `boolean` | Lock translation along world Y. | [components/Physics.ts:46](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L46) |
49
+ | <a id="locktranslationz"></a> `lockTranslationZ` | `boolean` | Lock translation along world Z. | [components/Physics.ts:48](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L48) |
50
+ | <a id="lockrotations"></a> `lockRotations` | `boolean` | Master toggle: when `true`, all rotation is locked. | [components/Physics.ts:50](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L50) |
51
+ | <a id="lockrotationx"></a> `lockRotationX` | `boolean` | Lock rotation around world X. | [components/Physics.ts:52](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L52) |
52
+ | <a id="lockrotationy"></a> `lockRotationY` | `boolean` | Lock rotation around world Y. | [components/Physics.ts:54](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L54) |
53
+ | <a id="lockrotationz"></a> `lockRotationZ` | `boolean` | Lock rotation around world Z. | [components/Physics.ts:56](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L56) |
@@ -0,0 +1,19 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / RigidbodyType
6
+
7
+ # Type Alias: RigidbodyType
8
+
9
+ ```ts
10
+ type RigidbodyType = "dynamic" | "fixed" | "kinematicPosition" | "kinematicVelocity";
11
+ ```
12
+
13
+ Defined in: [components/Physics.ts:17](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Physics.ts#L17)
14
+
15
+ Rigidbody body type:
16
+ - `dynamic`: simulated by physics; affected by forces and gravity.
17
+ - `fixed`: immovable static body.
18
+ - `kinematicPosition`: moved by setting next position; ignores forces.
19
+ - `kinematicVelocity`: moved by setting velocity; ignores forces.
@@ -0,0 +1,38 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / ScriptEntry
6
+
7
+ # Type Alias: ScriptEntry
8
+
9
+ ```ts
10
+ type ScriptEntry = {
11
+ entityId: number;
12
+ className: string;
13
+ scriptUrl: string;
14
+ enabled: boolean;
15
+ executeInEditor?: boolean;
16
+ data: Record<string, unknown>;
17
+ runtimeState?: "idle" | "loading" | "ready" | "error";
18
+ runtimeMessage?: string;
19
+ };
20
+ ```
21
+
22
+ Defined in: [components/ScriptComponent.ts:7](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/ScriptComponent.ts#L7)
23
+
24
+ One script attached to an entity. Multiple entries may target a single
25
+ entity (different classes from the same or different files).
26
+
27
+ ## Properties
28
+
29
+ | Property | Type | Description | Defined in |
30
+ | ------ | ------ | ------ | ------ |
31
+ | <a id="entityid"></a> `entityId` | `number` | Owning entity id. | [components/ScriptComponent.ts:9](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/ScriptComponent.ts#L9) |
32
+ | <a id="classname"></a> `className` | `string` | Class name exported by the script module (default export class name). | [components/ScriptComponent.ts:11](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/ScriptComponent.ts#L11) |
33
+ | <a id="scripturl"></a> `scriptUrl` | `string` | Compiled script URL (e.g. `localasset://.../scripts/foo.js`). | [components/ScriptComponent.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/ScriptComponent.ts#L13) |
34
+ | <a id="enabled"></a> `enabled` | `boolean` | When `false`, the script is skipped each frame. | [components/ScriptComponent.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/ScriptComponent.ts#L15) |
35
+ | <a id="executeineditor"></a> `executeInEditor?` | `boolean` | When `true`, the script is executed inside the editor (not just at preview/runtime). Enables direct Three.js scene access via `this.world.getScene()` / `getCamera()` / `getRenderer()` for logic the editor's object palette cannot produce (custom shaders, procedural geometry, grass, etc.). Defaults to `false`. | [components/ScriptComponent.ts:22](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/ScriptComponent.ts#L22) |
36
+ | <a id="data"></a> `data` | `Record`\<`string`, `unknown`\> | Inspector-bound payload exposed to the script as `this.data`. | [components/ScriptComponent.ts:24](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/ScriptComponent.ts#L24) |
37
+ | <a id="runtimestate"></a> `runtimeState?` | `"idle"` \| `"loading"` \| `"ready"` \| `"error"` | Last load/runtime status reported by `ScriptBehaviourSystem`. | [components/ScriptComponent.ts:26](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/ScriptComponent.ts#L26) |
38
+ | <a id="runtimemessage"></a> `runtimeMessage?` | `string` | Optional human-readable status message (e.g. compile/load error). | [components/ScriptComponent.ts:28](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/ScriptComponent.ts#L28) |
@@ -0,0 +1,15 @@
1
+ [**@relu-interactives/spatial-ecs**](../../index.md)
2
+
3
+ ***
4
+
5
+ [@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / TextureFilteringValue
6
+
7
+ # Type Alias: TextureFilteringValue
8
+
9
+ ```ts
10
+ type TextureFilteringValue = "smooth" | "sharp";
11
+ ```
12
+
13
+ Defined in: [components/Material.ts:8](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/d7abe871a8dd71d2e6e1dff3235da21d5376bd8f/core/components/Material.ts#L8)
14
+
15
+ Texture sampling mode. `smooth` uses linear filtering; `sharp` uses nearest filtering for pixel-art look.