@iwsdk/core 0.4.2 → 0.5.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 (314) hide show
  1. package/README.md +4 -7
  2. package/dist/asset/asset-manager.d.ts +136 -8
  3. package/dist/asset/asset-manager.d.ts.map +1 -1
  4. package/dist/asset/asset-manager.js +491 -47
  5. package/dist/asset/asset-manager.js.map +1 -1
  6. package/dist/asset/cache-manager.d.ts +4 -2
  7. package/dist/asset/cache-manager.d.ts.map +1 -1
  8. package/dist/asset/cache-manager.js +10 -3
  9. package/dist/asset/cache-manager.js.map +1 -1
  10. package/dist/asset/loaders/audio-loader.d.ts +1 -1
  11. package/dist/asset/loaders/audio-loader.d.ts.map +1 -1
  12. package/dist/asset/loaders/audio-loader.js +8 -26
  13. package/dist/asset/loaders/audio-loader.js.map +1 -1
  14. package/dist/asset/loaders/cached-asset-load.d.ts +35 -0
  15. package/dist/asset/loaders/cached-asset-load.d.ts.map +1 -0
  16. package/dist/asset/loaders/cached-asset-load.js +100 -0
  17. package/dist/asset/loaders/cached-asset-load.js.map +1 -0
  18. package/dist/asset/loaders/gltf-loader.d.ts +28 -1
  19. package/dist/asset/loaders/gltf-loader.d.ts.map +1 -1
  20. package/dist/asset/loaders/gltf-loader.js +254 -33
  21. package/dist/asset/loaders/gltf-loader.js.map +1 -1
  22. package/dist/asset/loaders/hdr-texture-loader.d.ts +1 -1
  23. package/dist/asset/loaders/hdr-texture-loader.d.ts.map +1 -1
  24. package/dist/asset/loaders/hdr-texture-loader.js +19 -29
  25. package/dist/asset/loaders/hdr-texture-loader.js.map +1 -1
  26. package/dist/asset/loaders/texture-loader.d.ts +1 -1
  27. package/dist/asset/loaders/texture-loader.d.ts.map +1 -1
  28. package/dist/asset/loaders/texture-loader.js +9 -26
  29. package/dist/asset/loaders/texture-loader.js.map +1 -1
  30. package/dist/asset/loaders/uikitml-loader.d.ts +12 -0
  31. package/dist/asset/loaders/uikitml-loader.d.ts.map +1 -0
  32. package/dist/asset/loaders/uikitml-loader.js +44 -0
  33. package/dist/asset/loaders/uikitml-loader.js.map +1 -0
  34. package/dist/audio/audio-pool.d.ts +7 -0
  35. package/dist/audio/audio-pool.d.ts.map +1 -1
  36. package/dist/audio/audio-pool.js.map +1 -1
  37. package/dist/audio/audio-system.d.ts +1 -0
  38. package/dist/audio/audio-system.d.ts.map +1 -1
  39. package/dist/audio/audio-system.js +16 -2
  40. package/dist/audio/audio-system.js.map +1 -1
  41. package/dist/camera/camera-system.d.ts.map +1 -1
  42. package/dist/camera/camera-system.js +5 -3
  43. package/dist/camera/camera-system.js.map +1 -1
  44. package/dist/depth/depth-sensing-system.d.ts.map +1 -1
  45. package/dist/depth/depth-sensing-system.js +31 -10
  46. package/dist/depth/depth-sensing-system.js.map +1 -1
  47. package/dist/ecs/builtin-components.d.ts +1239 -0
  48. package/dist/ecs/builtin-components.d.ts.map +1 -0
  49. package/dist/ecs/builtin-components.js +87 -0
  50. package/dist/ecs/builtin-components.js.map +1 -0
  51. package/dist/ecs/component-editor-metadata.d.ts +19 -0
  52. package/dist/ecs/component-editor-metadata.d.ts.map +1 -0
  53. package/dist/ecs/component-editor-metadata.js +19 -0
  54. package/dist/ecs/component-editor-metadata.js.map +1 -0
  55. package/dist/ecs/component-manifest.d.ts +24 -0
  56. package/dist/ecs/component-manifest.d.ts.map +1 -0
  57. package/dist/ecs/component-manifest.js +121 -0
  58. package/dist/ecs/component-manifest.js.map +1 -0
  59. package/dist/ecs/component.d.ts +1 -0
  60. package/dist/ecs/component.d.ts.map +1 -1
  61. package/dist/ecs/entity.d.ts +20 -2
  62. package/dist/ecs/entity.d.ts.map +1 -1
  63. package/dist/ecs/entity.js +59 -3
  64. package/dist/ecs/entity.js.map +1 -1
  65. package/dist/ecs/index.d.ts +3 -1
  66. package/dist/ecs/index.d.ts.map +1 -1
  67. package/dist/ecs/system.d.ts +9 -0
  68. package/dist/ecs/system.d.ts.map +1 -1
  69. package/dist/ecs/system.js.map +1 -1
  70. package/dist/ecs/world.d.ts +158 -4
  71. package/dist/ecs/world.d.ts.map +1 -1
  72. package/dist/ecs/world.js +304 -5
  73. package/dist/ecs/world.js.map +1 -1
  74. package/dist/environment/dome-gradient.d.ts +2 -1
  75. package/dist/environment/dome-gradient.d.ts.map +1 -1
  76. package/dist/environment/dome-gradient.js +2 -1
  77. package/dist/environment/dome-gradient.js.map +1 -1
  78. package/dist/environment/environment-system.d.ts +19 -3
  79. package/dist/environment/environment-system.d.ts.map +1 -1
  80. package/dist/environment/environment-system.js +78 -48
  81. package/dist/environment/environment-system.js.map +1 -1
  82. package/dist/environment/gradient-environment.d.ts.map +1 -1
  83. package/dist/environment/gradient-environment.js +13 -7
  84. package/dist/environment/gradient-environment.js.map +1 -1
  85. package/dist/environment/scene-ar-environment.d.ts +39 -0
  86. package/dist/environment/scene-ar-environment.d.ts.map +1 -0
  87. package/dist/environment/scene-ar-environment.js +93 -0
  88. package/dist/environment/scene-ar-environment.js.map +1 -0
  89. package/dist/grab/grab-helpers.d.ts +39 -0
  90. package/dist/grab/grab-helpers.d.ts.map +1 -0
  91. package/dist/grab/grab-helpers.js +59 -0
  92. package/dist/grab/grab-helpers.js.map +1 -0
  93. package/dist/grab/grab-system.d.ts +45 -0
  94. package/dist/grab/grab-system.d.ts.map +1 -1
  95. package/dist/grab/grab-system.js +67 -5
  96. package/dist/grab/grab-system.js.map +1 -1
  97. package/dist/grab/grab-warnings.d.ts +14 -0
  98. package/dist/grab/grab-warnings.d.ts.map +1 -0
  99. package/dist/grab/grab-warnings.js +53 -0
  100. package/dist/grab/grab-warnings.js.map +1 -0
  101. package/dist/grab/handles.d.ts.map +1 -1
  102. package/dist/grab/handles.js +8 -3
  103. package/dist/grab/handles.js.map +1 -1
  104. package/dist/index.d.ts +4 -0
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +42 -16
  107. package/dist/index.js.map +1 -1
  108. package/dist/init/world-initializer.d.ts +11 -7
  109. package/dist/init/world-initializer.d.ts.map +1 -1
  110. package/dist/init/world-initializer.js +118 -57
  111. package/dist/init/world-initializer.js.map +1 -1
  112. package/dist/init/xr.d.ts +0 -1
  113. package/dist/init/xr.d.ts.map +1 -1
  114. package/dist/init/xr.js +12 -3
  115. package/dist/init/xr.js.map +1 -1
  116. package/dist/input/input-system.d.ts.map +1 -1
  117. package/dist/input/input-system.js +26 -11
  118. package/dist/input/input-system.js.map +1 -1
  119. package/dist/layers/xr-layer-state.d.ts +47 -0
  120. package/dist/layers/xr-layer-state.d.ts.map +1 -0
  121. package/dist/layers/xr-layer-state.js +23 -0
  122. package/dist/layers/xr-layer-state.js.map +1 -0
  123. package/dist/layers/xr-layer-system.d.ts +45 -93
  124. package/dist/layers/xr-layer-system.d.ts.map +1 -1
  125. package/dist/layers/xr-layer-system.js +4 -25
  126. package/dist/layers/xr-layer-system.js.map +1 -1
  127. package/dist/level/index.d.ts +6 -2
  128. package/dist/level/index.d.ts.map +1 -1
  129. package/dist/level/level-component-applier.d.ts +24 -0
  130. package/dist/level/level-component-applier.d.ts.map +1 -0
  131. package/dist/level/level-component-applier.js +199 -0
  132. package/dist/level/level-component-applier.js.map +1 -0
  133. package/dist/level/level-player-rig.d.ts +17 -0
  134. package/dist/level/level-player-rig.d.ts.map +1 -0
  135. package/dist/level/level-player-rig.js +113 -0
  136. package/dist/level/level-player-rig.js.map +1 -0
  137. package/dist/level/level-scene-environment.d.ts +28 -0
  138. package/dist/level/level-scene-environment.d.ts.map +1 -0
  139. package/dist/level/level-scene-environment.js +121 -0
  140. package/dist/level/level-scene-environment.js.map +1 -0
  141. package/dist/level/level-scene-json-importer.d.ts +53 -0
  142. package/dist/level/level-scene-json-importer.d.ts.map +1 -0
  143. package/dist/level/level-scene-json-importer.js +256 -0
  144. package/dist/level/level-scene-json-importer.js.map +1 -0
  145. package/dist/level/level-scene-material.d.ts +22 -0
  146. package/dist/level/level-scene-material.d.ts.map +1 -0
  147. package/dist/level/level-scene-material.js +231 -0
  148. package/dist/level/level-scene-material.js.map +1 -0
  149. package/dist/level/level-scene-object.d.ts +49 -0
  150. package/dist/level/level-scene-object.d.ts.map +1 -0
  151. package/dist/level/level-scene-object.js +396 -0
  152. package/dist/level/level-scene-object.js.map +1 -0
  153. package/dist/level/level-scene-primitive.d.ts +21 -0
  154. package/dist/level/level-scene-primitive.d.ts.map +1 -0
  155. package/dist/level/level-scene-primitive.js +159 -0
  156. package/dist/level/level-scene-primitive.js.map +1 -0
  157. package/dist/level/level-system.d.ts +14 -20
  158. package/dist/level/level-system.d.ts.map +1 -1
  159. package/dist/level/level-system.js +114 -49
  160. package/dist/level/level-system.js.map +1 -1
  161. package/dist/lighting/index.d.ts +10 -0
  162. package/dist/lighting/index.d.ts.map +1 -0
  163. package/dist/lighting/index.js +4 -0
  164. package/dist/lighting/index.js.map +1 -0
  165. package/dist/lighting/light-binding.d.ts +76 -0
  166. package/dist/lighting/light-binding.d.ts.map +1 -0
  167. package/dist/lighting/light-binding.js +229 -0
  168. package/dist/lighting/light-binding.js.map +1 -0
  169. package/dist/lighting/light-components.d.ts +885 -0
  170. package/dist/lighting/light-components.d.ts.map +1 -0
  171. package/dist/lighting/light-components.js +146 -0
  172. package/dist/lighting/light-components.js.map +1 -0
  173. package/dist/lighting/light-system.d.ts +919 -0
  174. package/dist/lighting/light-system.d.ts.map +1 -0
  175. package/dist/lighting/light-system.js +244 -0
  176. package/dist/lighting/light-system.js.map +1 -0
  177. package/dist/locomotion/locomotion-environment.d.ts +27 -0
  178. package/dist/locomotion/locomotion-environment.d.ts.map +1 -0
  179. package/dist/locomotion/locomotion-environment.js +22 -0
  180. package/dist/locomotion/locomotion-environment.js.map +1 -0
  181. package/dist/locomotion/locomotion.d.ts +5 -34
  182. package/dist/locomotion/locomotion.d.ts.map +1 -1
  183. package/dist/locomotion/locomotion.js +33 -31
  184. package/dist/locomotion/locomotion.js.map +1 -1
  185. package/dist/locomotion/materials/line.js +1 -1
  186. package/dist/locomotion/slide.d.ts.map +1 -1
  187. package/dist/locomotion/slide.js +2 -2
  188. package/dist/locomotion/slide.js.map +1 -1
  189. package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
  190. package/dist/mcp/ecs-debug-tools.js +10 -2
  191. package/dist/mcp/ecs-debug-tools.js.map +1 -1
  192. package/dist/mcp/mcp-runtime.d.ts.map +1 -1
  193. package/dist/mcp/mcp-runtime.js +4 -1
  194. package/dist/mcp/mcp-runtime.js.map +1 -1
  195. package/dist/mcp/scene-tools.d.ts +152 -1
  196. package/dist/mcp/scene-tools.d.ts.map +1 -1
  197. package/dist/mcp/scene-tools.js +538 -8
  198. package/dist/mcp/scene-tools.js.map +1 -1
  199. package/dist/physics/index.js +11 -4
  200. package/dist/physics/index.js.map +1 -1
  201. package/dist/physics/physics-system.d.ts +704 -11
  202. package/dist/physics/physics-system.d.ts.map +1 -1
  203. package/dist/physics/physics-system.js +307 -25
  204. package/dist/physics/physics-system.js.map +1 -1
  205. package/dist/physics/physicsBody.d.ts +40 -1
  206. package/dist/physics/physicsBody.d.ts.map +1 -1
  207. package/dist/physics/physicsBody.js +39 -0
  208. package/dist/physics/physicsBody.js.map +1 -1
  209. package/dist/physics/physicsManipulation.d.ts +1 -1
  210. package/dist/physics/physicsManipulation.d.ts.map +1 -1
  211. package/dist/physics/physicsShape.d.ts +5 -3
  212. package/dist/physics/physicsShape.d.ts.map +1 -1
  213. package/dist/physics/physicsShape.js +2 -1
  214. package/dist/physics/physicsShape.js.map +1 -1
  215. package/dist/physics/utils.d.ts +10 -0
  216. package/dist/physics/utils.d.ts.map +1 -1
  217. package/dist/physics/utils.js +82 -48
  218. package/dist/physics/utils.js.map +1 -1
  219. package/dist/project/index.d.ts +11 -0
  220. package/dist/project/index.d.ts.map +1 -0
  221. package/dist/project/index.js +5 -0
  222. package/dist/project/index.js.map +1 -0
  223. package/dist/project/normalize.d.ts +19 -0
  224. package/dist/project/normalize.d.ts.map +1 -0
  225. package/dist/project/normalize.js +206 -0
  226. package/dist/project/normalize.js.map +1 -0
  227. package/dist/project/paths.d.ts +21 -0
  228. package/dist/project/paths.d.ts.map +1 -0
  229. package/dist/project/paths.js +75 -0
  230. package/dist/project/paths.js.map +1 -0
  231. package/dist/project/types.d.ts +159 -0
  232. package/dist/project/types.d.ts.map +1 -0
  233. package/dist/project/types.js +11 -0
  234. package/dist/project/types.js.map +1 -0
  235. package/dist/project/validation.d.ts +17 -0
  236. package/dist/project/validation.d.ts.map +1 -0
  237. package/dist/project/validation.js +501 -0
  238. package/dist/project/validation.js.map +1 -0
  239. package/dist/scene-understanding/scene-understanding-system.d.ts +23 -2
  240. package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
  241. package/dist/scene-understanding/scene-understanding-system.js +76 -54
  242. package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
  243. package/dist/schemas/iwsdk-project.v1.schema.json +305 -0
  244. package/dist/transform/transform-component.d.ts +32 -0
  245. package/dist/transform/transform-component.d.ts.map +1 -0
  246. package/dist/transform/transform-component.js +24 -0
  247. package/dist/transform/transform-component.js.map +1 -0
  248. package/dist/transform/transform.d.ts +9 -42
  249. package/dist/transform/transform.d.ts.map +1 -1
  250. package/dist/transform/transform.js +8 -25
  251. package/dist/transform/transform.js.map +1 -1
  252. package/dist/ui/document.d.ts +9 -2
  253. package/dist/ui/document.d.ts.map +1 -1
  254. package/dist/ui/document.js +30 -5
  255. package/dist/ui/document.js.map +1 -1
  256. package/dist/ui/follow-component.d.ts +57 -0
  257. package/dist/ui/follow-component.d.ts.map +1 -0
  258. package/dist/ui/follow-component.js +38 -0
  259. package/dist/ui/follow-component.js.map +1 -0
  260. package/dist/ui/follow.d.ts +28 -102
  261. package/dist/ui/follow.d.ts.map +1 -1
  262. package/dist/ui/follow.js +10 -48
  263. package/dist/ui/follow.js.map +1 -1
  264. package/dist/ui/index.d.ts +3 -0
  265. package/dist/ui/index.d.ts.map +1 -1
  266. package/dist/ui/panel-components.d.ts +29 -0
  267. package/dist/ui/panel-components.d.ts.map +1 -0
  268. package/dist/ui/panel-components.js +22 -0
  269. package/dist/ui/panel-components.js.map +1 -0
  270. package/dist/ui/screenspace-component.d.ts +39 -0
  271. package/dist/ui/screenspace-component.d.ts.map +1 -0
  272. package/dist/ui/screenspace-component.js +21 -0
  273. package/dist/ui/screenspace-component.js.map +1 -0
  274. package/dist/ui/screenspace.d.ts +47 -135
  275. package/dist/ui/screenspace.d.ts.map +1 -1
  276. package/dist/ui/screenspace.js +127 -65
  277. package/dist/ui/screenspace.js.map +1 -1
  278. package/dist/ui/ui.d.ts +20 -122
  279. package/dist/ui/ui.d.ts.map +1 -1
  280. package/dist/ui/ui.js +44 -107
  281. package/dist/ui/ui.js.map +1 -1
  282. package/dist/ui/uikitml-asset.d.ts +25 -0
  283. package/dist/ui/uikitml-asset.d.ts.map +1 -0
  284. package/dist/ui/uikitml-asset.js +56 -0
  285. package/dist/ui/uikitml-asset.js.map +1 -0
  286. package/dist/ui/uikitml.d.ts +41 -0
  287. package/dist/ui/uikitml.d.ts.map +1 -0
  288. package/dist/ui/uikitml.js +119 -0
  289. package/dist/ui/uikitml.js.map +1 -0
  290. package/dist/vendor/draco/gltf/draco_encoder.js +0 -0
  291. package/dist/version.d.ts +1 -1
  292. package/dist/version.js +1 -1
  293. package/dist/visibility/visibility-component.d.ts +14 -0
  294. package/dist/visibility/visibility-component.d.ts.map +1 -0
  295. package/dist/visibility/visibility-component.js +15 -0
  296. package/dist/visibility/visibility-component.js.map +1 -0
  297. package/dist/visibility/visibility.d.ts +3 -10
  298. package/dist/visibility/visibility.d.ts.map +1 -1
  299. package/dist/visibility/visibility.js +9 -12
  300. package/dist/visibility/visibility.js.map +1 -1
  301. package/package.json +48 -19
  302. package/LICENSE +0 -21
  303. package/dist/ecs/component-registry.d.ts +0 -54
  304. package/dist/ecs/component-registry.d.ts.map +0 -1
  305. package/dist/ecs/component-registry.js +0 -86
  306. package/dist/ecs/component-registry.js.map +0 -1
  307. package/dist/level/level-entity-creator.d.ts +0 -27
  308. package/dist/level/level-entity-creator.d.ts.map +0 -1
  309. package/dist/level/level-entity-creator.js +0 -108
  310. package/dist/level/level-entity-creator.js.map +0 -1
  311. package/dist/level/level-glxf-importer.d.ts +0 -23
  312. package/dist/level/level-glxf-importer.d.ts.map +0 -1
  313. package/dist/level/level-glxf-importer.js +0 -40
  314. package/dist/level/level-glxf-importer.js.map +0 -1
@@ -0,0 +1,919 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { AnyComponent } from '../ecs/component.js';
8
+ import type { Entity } from '../ecs/entity.js';
9
+ import { type LightSpec } from './light-binding.js';
10
+ declare const LightSystem_base: import("elics").SystemConstructor<import("elics").SystemSchema, {
11
+ ambientLights: {
12
+ required: import("elics").Component<{
13
+ color: {
14
+ readonly default: [number, number, number, number];
15
+ readonly label: string;
16
+ readonly type: import("elics/lib/types.js").Types.Color;
17
+ readonly widget: "color";
18
+ };
19
+ intensity: {
20
+ readonly description?: string;
21
+ readonly help?: string;
22
+ label: string;
23
+ readonly step?: number;
24
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
25
+ readonly max?: number;
26
+ readonly min?: number;
27
+ readonly default: number;
28
+ readonly type: import("elics/lib/types.js").Types.Float32;
29
+ };
30
+ }>[];
31
+ };
32
+ directionalLights: {
33
+ required: import("elics").Component<{
34
+ shadowCameraSize: {
35
+ readonly description?: string;
36
+ readonly help?: string;
37
+ label: string;
38
+ readonly step?: number;
39
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
40
+ readonly max?: number;
41
+ readonly min?: number;
42
+ readonly default: number;
43
+ readonly type: import("elics/lib/types.js").Types.Float32;
44
+ };
45
+ castShadow: {
46
+ readonly default: false;
47
+ readonly label: "Cast shadow";
48
+ readonly type: import("elics/lib/types.js").Types.Boolean;
49
+ };
50
+ shadowBias: {
51
+ readonly description?: string;
52
+ readonly help?: string;
53
+ label: string;
54
+ readonly step?: number;
55
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
56
+ readonly max?: number;
57
+ readonly min?: number;
58
+ readonly default: number;
59
+ readonly type: import("elics/lib/types.js").Types.Float32;
60
+ };
61
+ shadowCameraFar: {
62
+ readonly description?: string;
63
+ readonly help?: string;
64
+ label: string;
65
+ readonly step?: number;
66
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
67
+ readonly max?: number;
68
+ readonly min?: number;
69
+ readonly default: number;
70
+ readonly type: import("elics/lib/types.js").Types.Float32;
71
+ };
72
+ shadowCameraNear: {
73
+ readonly description?: string;
74
+ readonly help?: string;
75
+ label: string;
76
+ readonly step?: number;
77
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
78
+ readonly max?: number;
79
+ readonly min?: number;
80
+ readonly default: number;
81
+ readonly type: import("elics/lib/types.js").Types.Float32;
82
+ };
83
+ shadowMapSize: {
84
+ readonly default: "1024";
85
+ readonly enum: {
86
+ readonly Size256: "256";
87
+ readonly Size512: "512";
88
+ readonly Size1024: "1024";
89
+ readonly Size2048: "2048";
90
+ };
91
+ readonly help: "Square shadow texture resolution. Higher values cost more GPU memory and fill rate.";
92
+ readonly label: "Shadow resolution";
93
+ readonly type: import("elics/lib/types.js").Types.Enum;
94
+ };
95
+ shadowNormalBias: {
96
+ readonly description?: string;
97
+ readonly help?: string;
98
+ label: string;
99
+ readonly step?: number;
100
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
101
+ readonly max?: number;
102
+ readonly min?: number;
103
+ readonly default: number;
104
+ readonly type: import("elics/lib/types.js").Types.Float32;
105
+ };
106
+ shadowRadius: {
107
+ readonly description?: string;
108
+ readonly help?: string;
109
+ label: string;
110
+ readonly step?: number;
111
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
112
+ readonly max?: number;
113
+ readonly min?: number;
114
+ readonly default: number;
115
+ readonly type: import("elics/lib/types.js").Types.Float32;
116
+ };
117
+ color: {
118
+ readonly default: [number, number, number, number];
119
+ readonly label: string;
120
+ readonly type: import("elics/lib/types.js").Types.Color;
121
+ readonly widget: "color";
122
+ };
123
+ intensity: {
124
+ readonly description?: string;
125
+ readonly help?: string;
126
+ label: string;
127
+ readonly step?: number;
128
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
129
+ readonly max?: number;
130
+ readonly min?: number;
131
+ readonly default: number;
132
+ readonly type: import("elics/lib/types.js").Types.Float32;
133
+ };
134
+ }>[];
135
+ };
136
+ hemisphereLights: {
137
+ required: import("elics").Component<{
138
+ groundColor: {
139
+ readonly default: [number, number, number, number];
140
+ readonly label: string;
141
+ readonly type: import("elics/lib/types.js").Types.Color;
142
+ readonly widget: "color";
143
+ };
144
+ intensity: {
145
+ readonly description?: string;
146
+ readonly help?: string;
147
+ label: string;
148
+ readonly step?: number;
149
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
150
+ readonly max?: number;
151
+ readonly min?: number;
152
+ readonly default: number;
153
+ readonly type: import("elics/lib/types.js").Types.Float32;
154
+ };
155
+ skyColor: {
156
+ readonly default: [number, number, number, number];
157
+ readonly label: string;
158
+ readonly type: import("elics/lib/types.js").Types.Color;
159
+ readonly widget: "color";
160
+ };
161
+ }>[];
162
+ };
163
+ pointLights: {
164
+ required: import("elics").Component<{
165
+ castShadow: {
166
+ readonly default: false;
167
+ readonly label: "Cast shadow";
168
+ readonly type: import("elics/lib/types.js").Types.Boolean;
169
+ };
170
+ shadowBias: {
171
+ readonly description?: string;
172
+ readonly help?: string;
173
+ label: string;
174
+ readonly step?: number;
175
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
176
+ readonly max?: number;
177
+ readonly min?: number;
178
+ readonly default: number;
179
+ readonly type: import("elics/lib/types.js").Types.Float32;
180
+ };
181
+ shadowCameraFar: {
182
+ readonly description?: string;
183
+ readonly help?: string;
184
+ label: string;
185
+ readonly step?: number;
186
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
187
+ readonly max?: number;
188
+ readonly min?: number;
189
+ readonly default: number;
190
+ readonly type: import("elics/lib/types.js").Types.Float32;
191
+ };
192
+ shadowCameraNear: {
193
+ readonly description?: string;
194
+ readonly help?: string;
195
+ label: string;
196
+ readonly step?: number;
197
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
198
+ readonly max?: number;
199
+ readonly min?: number;
200
+ readonly default: number;
201
+ readonly type: import("elics/lib/types.js").Types.Float32;
202
+ };
203
+ shadowMapSize: {
204
+ readonly default: "1024";
205
+ readonly enum: {
206
+ readonly Size256: "256";
207
+ readonly Size512: "512";
208
+ readonly Size1024: "1024";
209
+ readonly Size2048: "2048";
210
+ };
211
+ readonly help: "Square shadow texture resolution. Higher values cost more GPU memory and fill rate.";
212
+ readonly label: "Shadow resolution";
213
+ readonly type: import("elics/lib/types.js").Types.Enum;
214
+ };
215
+ shadowNormalBias: {
216
+ readonly description?: string;
217
+ readonly help?: string;
218
+ label: string;
219
+ readonly step?: number;
220
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
221
+ readonly max?: number;
222
+ readonly min?: number;
223
+ readonly default: number;
224
+ readonly type: import("elics/lib/types.js").Types.Float32;
225
+ };
226
+ shadowRadius: {
227
+ readonly description?: string;
228
+ readonly help?: string;
229
+ label: string;
230
+ readonly step?: number;
231
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
232
+ readonly max?: number;
233
+ readonly min?: number;
234
+ readonly default: number;
235
+ readonly type: import("elics/lib/types.js").Types.Float32;
236
+ };
237
+ color: {
238
+ readonly default: [number, number, number, number];
239
+ readonly label: string;
240
+ readonly type: import("elics/lib/types.js").Types.Color;
241
+ readonly widget: "color";
242
+ };
243
+ decay: {
244
+ readonly description?: string;
245
+ readonly help?: string;
246
+ label: string;
247
+ readonly step?: number;
248
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
249
+ readonly max?: number;
250
+ readonly min?: number;
251
+ readonly default: number;
252
+ readonly type: import("elics/lib/types.js").Types.Float32;
253
+ };
254
+ distance: {
255
+ readonly description?: string;
256
+ readonly help?: string;
257
+ label: string;
258
+ readonly step?: number;
259
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
260
+ readonly max?: number;
261
+ readonly min?: number;
262
+ readonly default: number;
263
+ readonly type: import("elics/lib/types.js").Types.Float32;
264
+ };
265
+ intensity: {
266
+ readonly description?: string;
267
+ readonly help?: string;
268
+ label: string;
269
+ readonly step?: number;
270
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
271
+ readonly max?: number;
272
+ readonly min?: number;
273
+ readonly default: number;
274
+ readonly type: import("elics/lib/types.js").Types.Float32;
275
+ };
276
+ }>[];
277
+ };
278
+ rectAreaLights: {
279
+ required: import("elics").Component<{
280
+ color: {
281
+ readonly default: [number, number, number, number];
282
+ readonly label: string;
283
+ readonly type: import("elics/lib/types.js").Types.Color;
284
+ readonly widget: "color";
285
+ };
286
+ height: {
287
+ readonly description?: string;
288
+ readonly help?: string;
289
+ label: string;
290
+ readonly step?: number;
291
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
292
+ readonly max?: number;
293
+ readonly min?: number;
294
+ readonly default: number;
295
+ readonly type: import("elics/lib/types.js").Types.Float32;
296
+ };
297
+ intensity: {
298
+ readonly description?: string;
299
+ readonly help?: string;
300
+ label: string;
301
+ readonly step?: number;
302
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
303
+ readonly max?: number;
304
+ readonly min?: number;
305
+ readonly default: number;
306
+ readonly type: import("elics/lib/types.js").Types.Float32;
307
+ };
308
+ width: {
309
+ readonly description?: string;
310
+ readonly help?: string;
311
+ label: string;
312
+ readonly step?: number;
313
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
314
+ readonly max?: number;
315
+ readonly min?: number;
316
+ readonly default: number;
317
+ readonly type: import("elics/lib/types.js").Types.Float32;
318
+ };
319
+ }>[];
320
+ };
321
+ spotLights: {
322
+ required: import("elics").Component<{
323
+ castShadow: {
324
+ readonly default: false;
325
+ readonly label: "Cast shadow";
326
+ readonly type: import("elics/lib/types.js").Types.Boolean;
327
+ };
328
+ shadowBias: {
329
+ readonly description?: string;
330
+ readonly help?: string;
331
+ label: string;
332
+ readonly step?: number;
333
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
334
+ readonly max?: number;
335
+ readonly min?: number;
336
+ readonly default: number;
337
+ readonly type: import("elics/lib/types.js").Types.Float32;
338
+ };
339
+ shadowCameraFar: {
340
+ readonly description?: string;
341
+ readonly help?: string;
342
+ label: string;
343
+ readonly step?: number;
344
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
345
+ readonly max?: number;
346
+ readonly min?: number;
347
+ readonly default: number;
348
+ readonly type: import("elics/lib/types.js").Types.Float32;
349
+ };
350
+ shadowCameraNear: {
351
+ readonly description?: string;
352
+ readonly help?: string;
353
+ label: string;
354
+ readonly step?: number;
355
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
356
+ readonly max?: number;
357
+ readonly min?: number;
358
+ readonly default: number;
359
+ readonly type: import("elics/lib/types.js").Types.Float32;
360
+ };
361
+ shadowMapSize: {
362
+ readonly default: "1024";
363
+ readonly enum: {
364
+ readonly Size256: "256";
365
+ readonly Size512: "512";
366
+ readonly Size1024: "1024";
367
+ readonly Size2048: "2048";
368
+ };
369
+ readonly help: "Square shadow texture resolution. Higher values cost more GPU memory and fill rate.";
370
+ readonly label: "Shadow resolution";
371
+ readonly type: import("elics/lib/types.js").Types.Enum;
372
+ };
373
+ shadowNormalBias: {
374
+ readonly description?: string;
375
+ readonly help?: string;
376
+ label: string;
377
+ readonly step?: number;
378
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
379
+ readonly max?: number;
380
+ readonly min?: number;
381
+ readonly default: number;
382
+ readonly type: import("elics/lib/types.js").Types.Float32;
383
+ };
384
+ shadowRadius: {
385
+ readonly description?: string;
386
+ readonly help?: string;
387
+ label: string;
388
+ readonly step?: number;
389
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
390
+ readonly max?: number;
391
+ readonly min?: number;
392
+ readonly default: number;
393
+ readonly type: import("elics/lib/types.js").Types.Float32;
394
+ };
395
+ angleDeg: {
396
+ readonly description?: string;
397
+ readonly help?: string;
398
+ label: string;
399
+ readonly step?: number;
400
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
401
+ readonly max?: number;
402
+ readonly min?: number;
403
+ readonly default: number;
404
+ readonly type: import("elics/lib/types.js").Types.Float32;
405
+ };
406
+ color: {
407
+ readonly default: [number, number, number, number];
408
+ readonly label: string;
409
+ readonly type: import("elics/lib/types.js").Types.Color;
410
+ readonly widget: "color";
411
+ };
412
+ decay: {
413
+ readonly description?: string;
414
+ readonly help?: string;
415
+ label: string;
416
+ readonly step?: number;
417
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
418
+ readonly max?: number;
419
+ readonly min?: number;
420
+ readonly default: number;
421
+ readonly type: import("elics/lib/types.js").Types.Float32;
422
+ };
423
+ distance: {
424
+ readonly description?: string;
425
+ readonly help?: string;
426
+ label: string;
427
+ readonly step?: number;
428
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
429
+ readonly max?: number;
430
+ readonly min?: number;
431
+ readonly default: number;
432
+ readonly type: import("elics/lib/types.js").Types.Float32;
433
+ };
434
+ intensity: {
435
+ readonly description?: string;
436
+ readonly help?: string;
437
+ label: string;
438
+ readonly step?: number;
439
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
440
+ readonly max?: number;
441
+ readonly min?: number;
442
+ readonly default: number;
443
+ readonly type: import("elics/lib/types.js").Types.Float32;
444
+ };
445
+ penumbra: {
446
+ readonly description?: string;
447
+ readonly help?: string;
448
+ label: string;
449
+ readonly step?: number;
450
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
451
+ readonly max?: number;
452
+ readonly min?: number;
453
+ readonly default: number;
454
+ readonly type: import("elics/lib/types.js").Types.Float32;
455
+ };
456
+ }>[];
457
+ };
458
+ }, import("../index.js").World, import("../ecs/system.js").System<import("elics").SystemSchema, {
459
+ ambientLights: {
460
+ required: import("elics").Component<{
461
+ color: {
462
+ readonly default: [number, number, number, number];
463
+ readonly label: string;
464
+ readonly type: import("elics/lib/types.js").Types.Color;
465
+ readonly widget: "color";
466
+ };
467
+ intensity: {
468
+ readonly description?: string;
469
+ readonly help?: string;
470
+ label: string;
471
+ readonly step?: number;
472
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
473
+ readonly max?: number;
474
+ readonly min?: number;
475
+ readonly default: number;
476
+ readonly type: import("elics/lib/types.js").Types.Float32;
477
+ };
478
+ }>[];
479
+ };
480
+ directionalLights: {
481
+ required: import("elics").Component<{
482
+ shadowCameraSize: {
483
+ readonly description?: string;
484
+ readonly help?: string;
485
+ label: string;
486
+ readonly step?: number;
487
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
488
+ readonly max?: number;
489
+ readonly min?: number;
490
+ readonly default: number;
491
+ readonly type: import("elics/lib/types.js").Types.Float32;
492
+ };
493
+ castShadow: {
494
+ readonly default: false;
495
+ readonly label: "Cast shadow";
496
+ readonly type: import("elics/lib/types.js").Types.Boolean;
497
+ };
498
+ shadowBias: {
499
+ readonly description?: string;
500
+ readonly help?: string;
501
+ label: string;
502
+ readonly step?: number;
503
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
504
+ readonly max?: number;
505
+ readonly min?: number;
506
+ readonly default: number;
507
+ readonly type: import("elics/lib/types.js").Types.Float32;
508
+ };
509
+ shadowCameraFar: {
510
+ readonly description?: string;
511
+ readonly help?: string;
512
+ label: string;
513
+ readonly step?: number;
514
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
515
+ readonly max?: number;
516
+ readonly min?: number;
517
+ readonly default: number;
518
+ readonly type: import("elics/lib/types.js").Types.Float32;
519
+ };
520
+ shadowCameraNear: {
521
+ readonly description?: string;
522
+ readonly help?: string;
523
+ label: string;
524
+ readonly step?: number;
525
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
526
+ readonly max?: number;
527
+ readonly min?: number;
528
+ readonly default: number;
529
+ readonly type: import("elics/lib/types.js").Types.Float32;
530
+ };
531
+ shadowMapSize: {
532
+ readonly default: "1024";
533
+ readonly enum: {
534
+ readonly Size256: "256";
535
+ readonly Size512: "512";
536
+ readonly Size1024: "1024";
537
+ readonly Size2048: "2048";
538
+ };
539
+ readonly help: "Square shadow texture resolution. Higher values cost more GPU memory and fill rate.";
540
+ readonly label: "Shadow resolution";
541
+ readonly type: import("elics/lib/types.js").Types.Enum;
542
+ };
543
+ shadowNormalBias: {
544
+ readonly description?: string;
545
+ readonly help?: string;
546
+ label: string;
547
+ readonly step?: number;
548
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
549
+ readonly max?: number;
550
+ readonly min?: number;
551
+ readonly default: number;
552
+ readonly type: import("elics/lib/types.js").Types.Float32;
553
+ };
554
+ shadowRadius: {
555
+ readonly description?: string;
556
+ readonly help?: string;
557
+ label: string;
558
+ readonly step?: number;
559
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
560
+ readonly max?: number;
561
+ readonly min?: number;
562
+ readonly default: number;
563
+ readonly type: import("elics/lib/types.js").Types.Float32;
564
+ };
565
+ color: {
566
+ readonly default: [number, number, number, number];
567
+ readonly label: string;
568
+ readonly type: import("elics/lib/types.js").Types.Color;
569
+ readonly widget: "color";
570
+ };
571
+ intensity: {
572
+ readonly description?: string;
573
+ readonly help?: string;
574
+ label: string;
575
+ readonly step?: number;
576
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
577
+ readonly max?: number;
578
+ readonly min?: number;
579
+ readonly default: number;
580
+ readonly type: import("elics/lib/types.js").Types.Float32;
581
+ };
582
+ }>[];
583
+ };
584
+ hemisphereLights: {
585
+ required: import("elics").Component<{
586
+ groundColor: {
587
+ readonly default: [number, number, number, number];
588
+ readonly label: string;
589
+ readonly type: import("elics/lib/types.js").Types.Color;
590
+ readonly widget: "color";
591
+ };
592
+ intensity: {
593
+ readonly description?: string;
594
+ readonly help?: string;
595
+ label: string;
596
+ readonly step?: number;
597
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
598
+ readonly max?: number;
599
+ readonly min?: number;
600
+ readonly default: number;
601
+ readonly type: import("elics/lib/types.js").Types.Float32;
602
+ };
603
+ skyColor: {
604
+ readonly default: [number, number, number, number];
605
+ readonly label: string;
606
+ readonly type: import("elics/lib/types.js").Types.Color;
607
+ readonly widget: "color";
608
+ };
609
+ }>[];
610
+ };
611
+ pointLights: {
612
+ required: import("elics").Component<{
613
+ castShadow: {
614
+ readonly default: false;
615
+ readonly label: "Cast shadow";
616
+ readonly type: import("elics/lib/types.js").Types.Boolean;
617
+ };
618
+ shadowBias: {
619
+ readonly description?: string;
620
+ readonly help?: string;
621
+ label: string;
622
+ readonly step?: number;
623
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
624
+ readonly max?: number;
625
+ readonly min?: number;
626
+ readonly default: number;
627
+ readonly type: import("elics/lib/types.js").Types.Float32;
628
+ };
629
+ shadowCameraFar: {
630
+ readonly description?: string;
631
+ readonly help?: string;
632
+ label: string;
633
+ readonly step?: number;
634
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
635
+ readonly max?: number;
636
+ readonly min?: number;
637
+ readonly default: number;
638
+ readonly type: import("elics/lib/types.js").Types.Float32;
639
+ };
640
+ shadowCameraNear: {
641
+ readonly description?: string;
642
+ readonly help?: string;
643
+ label: string;
644
+ readonly step?: number;
645
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
646
+ readonly max?: number;
647
+ readonly min?: number;
648
+ readonly default: number;
649
+ readonly type: import("elics/lib/types.js").Types.Float32;
650
+ };
651
+ shadowMapSize: {
652
+ readonly default: "1024";
653
+ readonly enum: {
654
+ readonly Size256: "256";
655
+ readonly Size512: "512";
656
+ readonly Size1024: "1024";
657
+ readonly Size2048: "2048";
658
+ };
659
+ readonly help: "Square shadow texture resolution. Higher values cost more GPU memory and fill rate.";
660
+ readonly label: "Shadow resolution";
661
+ readonly type: import("elics/lib/types.js").Types.Enum;
662
+ };
663
+ shadowNormalBias: {
664
+ readonly description?: string;
665
+ readonly help?: string;
666
+ label: string;
667
+ readonly step?: number;
668
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
669
+ readonly max?: number;
670
+ readonly min?: number;
671
+ readonly default: number;
672
+ readonly type: import("elics/lib/types.js").Types.Float32;
673
+ };
674
+ shadowRadius: {
675
+ readonly description?: string;
676
+ readonly help?: string;
677
+ label: string;
678
+ readonly step?: number;
679
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
680
+ readonly max?: number;
681
+ readonly min?: number;
682
+ readonly default: number;
683
+ readonly type: import("elics/lib/types.js").Types.Float32;
684
+ };
685
+ color: {
686
+ readonly default: [number, number, number, number];
687
+ readonly label: string;
688
+ readonly type: import("elics/lib/types.js").Types.Color;
689
+ readonly widget: "color";
690
+ };
691
+ decay: {
692
+ readonly description?: string;
693
+ readonly help?: string;
694
+ label: string;
695
+ readonly step?: number;
696
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
697
+ readonly max?: number;
698
+ readonly min?: number;
699
+ readonly default: number;
700
+ readonly type: import("elics/lib/types.js").Types.Float32;
701
+ };
702
+ distance: {
703
+ readonly description?: string;
704
+ readonly help?: string;
705
+ label: string;
706
+ readonly step?: number;
707
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
708
+ readonly max?: number;
709
+ readonly min?: number;
710
+ readonly default: number;
711
+ readonly type: import("elics/lib/types.js").Types.Float32;
712
+ };
713
+ intensity: {
714
+ readonly description?: string;
715
+ readonly help?: string;
716
+ label: string;
717
+ readonly step?: number;
718
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
719
+ readonly max?: number;
720
+ readonly min?: number;
721
+ readonly default: number;
722
+ readonly type: import("elics/lib/types.js").Types.Float32;
723
+ };
724
+ }>[];
725
+ };
726
+ rectAreaLights: {
727
+ required: import("elics").Component<{
728
+ color: {
729
+ readonly default: [number, number, number, number];
730
+ readonly label: string;
731
+ readonly type: import("elics/lib/types.js").Types.Color;
732
+ readonly widget: "color";
733
+ };
734
+ height: {
735
+ readonly description?: string;
736
+ readonly help?: string;
737
+ label: string;
738
+ readonly step?: number;
739
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
740
+ readonly max?: number;
741
+ readonly min?: number;
742
+ readonly default: number;
743
+ readonly type: import("elics/lib/types.js").Types.Float32;
744
+ };
745
+ intensity: {
746
+ readonly description?: string;
747
+ readonly help?: string;
748
+ label: string;
749
+ readonly step?: number;
750
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
751
+ readonly max?: number;
752
+ readonly min?: number;
753
+ readonly default: number;
754
+ readonly type: import("elics/lib/types.js").Types.Float32;
755
+ };
756
+ width: {
757
+ readonly description?: string;
758
+ readonly help?: string;
759
+ label: string;
760
+ readonly step?: number;
761
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
762
+ readonly max?: number;
763
+ readonly min?: number;
764
+ readonly default: number;
765
+ readonly type: import("elics/lib/types.js").Types.Float32;
766
+ };
767
+ }>[];
768
+ };
769
+ spotLights: {
770
+ required: import("elics").Component<{
771
+ castShadow: {
772
+ readonly default: false;
773
+ readonly label: "Cast shadow";
774
+ readonly type: import("elics/lib/types.js").Types.Boolean;
775
+ };
776
+ shadowBias: {
777
+ readonly description?: string;
778
+ readonly help?: string;
779
+ label: string;
780
+ readonly step?: number;
781
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
782
+ readonly max?: number;
783
+ readonly min?: number;
784
+ readonly default: number;
785
+ readonly type: import("elics/lib/types.js").Types.Float32;
786
+ };
787
+ shadowCameraFar: {
788
+ readonly description?: string;
789
+ readonly help?: string;
790
+ label: string;
791
+ readonly step?: number;
792
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
793
+ readonly max?: number;
794
+ readonly min?: number;
795
+ readonly default: number;
796
+ readonly type: import("elics/lib/types.js").Types.Float32;
797
+ };
798
+ shadowCameraNear: {
799
+ readonly description?: string;
800
+ readonly help?: string;
801
+ label: string;
802
+ readonly step?: number;
803
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
804
+ readonly max?: number;
805
+ readonly min?: number;
806
+ readonly default: number;
807
+ readonly type: import("elics/lib/types.js").Types.Float32;
808
+ };
809
+ shadowMapSize: {
810
+ readonly default: "1024";
811
+ readonly enum: {
812
+ readonly Size256: "256";
813
+ readonly Size512: "512";
814
+ readonly Size1024: "1024";
815
+ readonly Size2048: "2048";
816
+ };
817
+ readonly help: "Square shadow texture resolution. Higher values cost more GPU memory and fill rate.";
818
+ readonly label: "Shadow resolution";
819
+ readonly type: import("elics/lib/types.js").Types.Enum;
820
+ };
821
+ shadowNormalBias: {
822
+ readonly description?: string;
823
+ readonly help?: string;
824
+ label: string;
825
+ readonly step?: number;
826
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
827
+ readonly max?: number;
828
+ readonly min?: number;
829
+ readonly default: number;
830
+ readonly type: import("elics/lib/types.js").Types.Float32;
831
+ };
832
+ shadowRadius: {
833
+ readonly description?: string;
834
+ readonly help?: string;
835
+ label: string;
836
+ readonly step?: number;
837
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
838
+ readonly max?: number;
839
+ readonly min?: number;
840
+ readonly default: number;
841
+ readonly type: import("elics/lib/types.js").Types.Float32;
842
+ };
843
+ angleDeg: {
844
+ readonly description?: string;
845
+ readonly help?: string;
846
+ label: string;
847
+ readonly step?: number;
848
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
849
+ readonly max?: number;
850
+ readonly min?: number;
851
+ readonly default: number;
852
+ readonly type: import("elics/lib/types.js").Types.Float32;
853
+ };
854
+ color: {
855
+ readonly default: [number, number, number, number];
856
+ readonly label: string;
857
+ readonly type: import("elics/lib/types.js").Types.Color;
858
+ readonly widget: "color";
859
+ };
860
+ decay: {
861
+ readonly description?: string;
862
+ readonly help?: string;
863
+ label: string;
864
+ readonly step?: number;
865
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
866
+ readonly max?: number;
867
+ readonly min?: number;
868
+ readonly default: number;
869
+ readonly type: import("elics/lib/types.js").Types.Float32;
870
+ };
871
+ distance: {
872
+ readonly description?: string;
873
+ readonly help?: string;
874
+ label: string;
875
+ readonly step?: number;
876
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
877
+ readonly max?: number;
878
+ readonly min?: number;
879
+ readonly default: number;
880
+ readonly type: import("elics/lib/types.js").Types.Float32;
881
+ };
882
+ intensity: {
883
+ readonly description?: string;
884
+ readonly help?: string;
885
+ label: string;
886
+ readonly step?: number;
887
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
888
+ readonly max?: number;
889
+ readonly min?: number;
890
+ readonly default: number;
891
+ readonly type: import("elics/lib/types.js").Types.Float32;
892
+ };
893
+ penumbra: {
894
+ readonly description?: string;
895
+ readonly help?: string;
896
+ label: string;
897
+ readonly step?: number;
898
+ readonly widget?: "slider" | "color" | "vector" | "text" | "select";
899
+ readonly max?: number;
900
+ readonly min?: number;
901
+ readonly default: number;
902
+ readonly type: import("elics/lib/types.js").Types.Float32;
903
+ };
904
+ }>[];
905
+ };
906
+ }>>;
907
+ export declare class LightSystem extends LightSystem_base {
908
+ private readonly bindings;
909
+ init(): void;
910
+ update(): void;
911
+ destroy(): void;
912
+ private attach;
913
+ private detach;
914
+ }
915
+ export declare function readLightSpec(entity: Entity, component: AnyComponent): LightSpec;
916
+ /** Convert one serialized component payload to the shared light specification. */
917
+ export declare function lightSpecFromComponentValue(componentName: string, value: unknown): LightSpec | undefined;
918
+ export {};
919
+ //# sourceMappingURL=light-system.d.ts.map