@iwsdk/core 0.4.2 → 0.5.1

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 (312) 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/version.d.ts +1 -1
  291. package/dist/version.js +1 -1
  292. package/dist/visibility/visibility-component.d.ts +14 -0
  293. package/dist/visibility/visibility-component.d.ts.map +1 -0
  294. package/dist/visibility/visibility-component.js +15 -0
  295. package/dist/visibility/visibility-component.js.map +1 -0
  296. package/dist/visibility/visibility.d.ts +3 -10
  297. package/dist/visibility/visibility.d.ts.map +1 -1
  298. package/dist/visibility/visibility.js +9 -12
  299. package/dist/visibility/visibility.js.map +1 -1
  300. package/package.json +36 -8
  301. package/dist/ecs/component-registry.d.ts +0 -54
  302. package/dist/ecs/component-registry.d.ts.map +0 -1
  303. package/dist/ecs/component-registry.js +0 -86
  304. package/dist/ecs/component-registry.js.map +0 -1
  305. package/dist/level/level-entity-creator.d.ts +0 -27
  306. package/dist/level/level-entity-creator.d.ts.map +0 -1
  307. package/dist/level/level-entity-creator.js +0 -108
  308. package/dist/level/level-entity-creator.js.map +0 -1
  309. package/dist/level/level-glxf-importer.d.ts +0 -23
  310. package/dist/level/level-glxf-importer.d.ts.map +0 -1
  311. package/dist/level/level-glxf-importer.js +0 -40
  312. package/dist/level/level-glxf-importer.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-components.d.ts","sourceRoot":"","sources":["../../src/ecs/builtin-components.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgDH,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0C1B,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { AudioSource } from '../audio/audio.js';
2
+ import { CameraSource } from '../camera/camera-source.js';
3
+ import { DepthOccludable } from '../depth/depth-occludable.js';
4
+ import { DomeGradient } from '../environment/dome-gradient.js';
5
+ import { DomeTexture } from '../environment/dome-texture.js';
6
+ import { IBLGradient } from '../environment/ibl-gradient.js';
7
+ import { IBLTexture } from '../environment/ibl-texture.js';
8
+ import { EnvironmentRaycastTarget } from '../environment-raycast/raycast-target.js';
9
+ import { DistanceGrabbable } from '../grab/distance-grabbable.js';
10
+ import { Grabbed } from '../grab/grabbed.js';
11
+ import { Handle } from '../grab/handles.js';
12
+ import { OneHandGrabbable } from '../grab/one-hand-grabbable.js';
13
+ import { TwoHandsGrabbable } from '../grab/two-hands-grabbable.js';
14
+ import { Hovered, PokeInteractable, Pressed, RayInteractable } from '../input/state-tags.js';
15
+ import { XRCylinderLayer } from '../layers/xr-cylinder-layer.js';
16
+ import { XRLayerState } from '../layers/xr-layer-state.js';
17
+ import { XRQuadLayer } from '../layers/xr-quad-layer.js';
18
+ import { LevelRoot } from '../level/level-root.js';
19
+ import { LevelTag } from '../level/level-tag.js';
20
+ import { AmbientLightComponent, DirectionalLightComponent, HemisphereLightComponent, PointLightComponent, RectAreaLightComponent, SpotLightComponent } from '../lighting/light-components.js';
21
+ import { LocomotionEnvironment } from '../locomotion/locomotion-environment.js';
22
+ import { PhysicsBody } from '../physics/physicsBody.js';
23
+ import { PhysicsManipulation } from '../physics/physicsManipulation.js';
24
+ import { PhysicsShape } from '../physics/physicsShape.js';
25
+ import { XRAnchor } from '../scene-understanding/anchor.js';
26
+ import { XRMesh } from '../scene-understanding/mesh.js';
27
+ import { XRPlane } from '../scene-understanding/plane.js';
28
+ import { Transform } from '../transform/transform-component.js';
29
+ import { Follower } from '../ui/follow-component.js';
30
+ import { PanelDocument, PanelUI } from '../ui/panel-components.js';
31
+ import { ScreenSpace } from '../ui/screenspace-component.js';
32
+ import { Visibility } from '../visibility/visibility-component.js';
33
+ import { defineComponents } from './component-manifest.js';
34
+
35
+ /**
36
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
37
+ *
38
+ * This source code is licensed under the MIT license found in the
39
+ * LICENSE file in the root directory of this source tree.
40
+ */
41
+ /** Complete editor-visible IWSDK component catalog in deterministic order. */
42
+ const IWSDK_BUILTIN_COMPONENTS = defineComponents([
43
+ AudioSource,
44
+ AmbientLightComponent,
45
+ CameraSource,
46
+ DepthOccludable,
47
+ DistanceGrabbable,
48
+ DirectionalLightComponent,
49
+ DomeGradient,
50
+ DomeTexture,
51
+ EnvironmentRaycastTarget,
52
+ Follower,
53
+ Grabbed,
54
+ Handle,
55
+ Hovered,
56
+ HemisphereLightComponent,
57
+ IBLGradient,
58
+ IBLTexture,
59
+ LevelRoot,
60
+ LevelTag,
61
+ LocomotionEnvironment,
62
+ OneHandGrabbable,
63
+ PanelDocument,
64
+ PanelUI,
65
+ PhysicsBody,
66
+ PhysicsManipulation,
67
+ PhysicsShape,
68
+ PointLightComponent,
69
+ PokeInteractable,
70
+ Pressed,
71
+ RayInteractable,
72
+ RectAreaLightComponent,
73
+ ScreenSpace,
74
+ SpotLightComponent,
75
+ Transform,
76
+ TwoHandsGrabbable,
77
+ Visibility,
78
+ XRAnchor,
79
+ XRCylinderLayer,
80
+ XRLayerState,
81
+ XRMesh,
82
+ XRPlane,
83
+ XRQuadLayer,
84
+ ]);
85
+
86
+ export { IWSDK_BUILTIN_COMPONENTS };
87
+ //# sourceMappingURL=builtin-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-components.js","sources":["../../src/ecs/builtin-components.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAgDH;AACO,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;IACvD,WAAW;IACX,qBAAqB;IACrB,YAAY;IACZ,eAAe;IACf,iBAAiB;IACjB,yBAAyB;IACzB,YAAY;IACZ,WAAW;IACX,wBAAwB;IACxB,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,wBAAwB;IACxB,WAAW;IACX,UAAU;IACV,SAAS;IACT,QAAQ;IACR,qBAAqB;IACrB,gBAAgB;IAChB,aAAa;IACb,OAAO;IACP,WAAW;IACX,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;IACnB,gBAAgB;IAChB,OAAO;IACP,eAAe;IACf,sBAAsB;IACtB,WAAW;IACX,kBAAkB;IAClB,SAAS;IACT,iBAAiB;IACjB,UAAU;IACV,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,MAAM;IACN,OAAO;IACP,WAAW;AACH,CAAA;;;;"}
@@ -0,0 +1,19 @@
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 './component.js';
8
+ /** Presentation and lifecycle hints consumed by IWSDK authoring tools. */
9
+ export interface ComponentEditorMetadata {
10
+ /** Exclude this component from generic component authoring UI. */
11
+ hidden?: boolean;
12
+ /** The runtime owns this component as an intrinsic part of an entity. */
13
+ intrinsic?: boolean;
14
+ }
15
+ /** Attach editor metadata without changing the Elics component shape. */
16
+ export declare function setComponentEditorMetadata<C extends AnyComponent>(component: C, metadata: ComponentEditorMetadata): C;
17
+ /** Read editor metadata previously attached to an Elics component. */
18
+ export declare function getComponentEditorMetadata(component: AnyComponent): Readonly<ComponentEditorMetadata> | undefined;
19
+ //# sourceMappingURL=component-editor-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-editor-metadata.d.ts","sourceRoot":"","sources":["../../src/ecs/component-editor-metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACtC,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAOD,yEAAyE;AACzE,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,YAAY,EAC/D,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,uBAAuB,GAChC,CAAC,CAGH;AAED,sEAAsE;AACtE,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,YAAY,GACtB,QAAQ,CAAC,uBAAuB,CAAC,GAAG,SAAS,CAE/C"}
@@ -0,0 +1,19 @@
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
+ const metadataByComponent = new WeakMap();
8
+ /** Attach editor metadata without changing the Elics component shape. */
9
+ function setComponentEditorMetadata(component, metadata) {
10
+ metadataByComponent.set(component, Object.freeze({ ...metadata }));
11
+ return component;
12
+ }
13
+ /** Read editor metadata previously attached to an Elics component. */
14
+ function getComponentEditorMetadata(component) {
15
+ return metadataByComponent.get(component);
16
+ }
17
+
18
+ export { getComponentEditorMetadata, setComponentEditorMetadata };
19
+ //# sourceMappingURL=component-editor-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-editor-metadata.js","sources":["../../src/ecs/component-editor-metadata.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AAYH,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAGpC;AAEH;AACM,SAAU,0BAA0B,CACxC,SAAY,EACZ,QAAiC,EAAA;AAEjC,IAAA,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;AAClE,IAAA,OAAO,SAAS;AAClB;AAEA;AACM,SAAU,0BAA0B,CACxC,SAAuB,EAAA;AAEvB,IAAA,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;AAC3C;;;;"}
@@ -0,0 +1,24 @@
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 SceneComponentCatalog, type SceneComponentSchema } from '@iwsdk/scene-composition';
8
+ import { ComponentRegistry, type AnyComponent } from './component.js';
9
+ export type ComponentManifest<T extends readonly AnyComponent[] = readonly AnyComponent[]> = T & {
10
+ /** Used by the managed editor to detect split Elics module instances. */
11
+ readonly componentRegistry: typeof ComponentRegistry;
12
+ };
13
+ /**
14
+ * Declare the complete set of application components shared by runtime and
15
+ * editor. Individual createComponent declarations remain unchanged.
16
+ */
17
+ export declare function defineComponents<const T extends readonly AnyComponent[]>(components: T): ComponentManifest<T>;
18
+ export interface ComponentCatalogOptions {
19
+ source?: SceneComponentSchema['source'];
20
+ }
21
+ /** Derive editor and validation metadata from the actual Elics schema. */
22
+ export declare function sceneComponentSchemaFromComponent(component: AnyComponent, options?: ComponentCatalogOptions): SceneComponentSchema;
23
+ export declare function componentCatalogFromComponents(components: readonly AnyComponent[], options?: ComponentCatalogOptions): SceneComponentCatalog;
24
+ //# sourceMappingURL=component-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-manifest.d.ts","sourceRoot":"","sources":["../../src/ecs/component-manifest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,qBAAqB,EAE1B,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,SAAS,YAAY,EAAE,GAAG,SAAS,YAAY,EAAE,IACzD,CAAC,GAAG;IACN,yEAAyE;IACzE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;CACtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,YAAY,EAAE,EACtE,UAAU,EAAE,CAAC,GACZ,iBAAiB,CAAC,CAAC,CAAC,CAmBtB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;CACzC;AAED,0EAA0E;AAC1E,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,YAAY,EACvB,OAAO,GAAE,uBAA4B,GACpC,oBAAoB,CA8CtB;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,SAAS,YAAY,EAAE,EACnC,OAAO,GAAE,uBAA4B,GACpC,qBAAqB,CAMvB"}
@@ -0,0 +1,121 @@
1
+ import { createSceneComponentCatalog } from '@iwsdk/scene-composition';
2
+ import { getComponentEditorMetadata } from './component-editor-metadata.js';
3
+ import { ComponentRegistry } from 'elics';
4
+
5
+ /**
6
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */
11
+ /**
12
+ * Declare the complete set of application components shared by runtime and
13
+ * editor. Individual createComponent declarations remain unchanged.
14
+ */
15
+ function defineComponents(components) {
16
+ const ids = new Set();
17
+ for (const component of components) {
18
+ if (component.id.trim().length === 0) {
19
+ throw new Error('Component IDs must not be blank');
20
+ }
21
+ if (ids.has(component.id)) {
22
+ throw new Error(`Duplicate component manifest ID "${component.id}"`);
23
+ }
24
+ ids.add(component.id);
25
+ }
26
+ const manifest = [...components];
27
+ Object.defineProperty(manifest, 'componentRegistry', {
28
+ configurable: false,
29
+ enumerable: false,
30
+ value: ComponentRegistry,
31
+ writable: false,
32
+ });
33
+ return Object.freeze(manifest);
34
+ }
35
+ /** Derive editor and validation metadata from the actual Elics schema. */
36
+ function sceneComponentSchemaFromComponent(component, options = {}) {
37
+ var _a;
38
+ const editor = getComponentEditorMetadata(component);
39
+ const fields = {};
40
+ for (const [fieldName, source] of Object.entries(component.schema)) {
41
+ const field = source;
42
+ const defaultValue = jsonValueOrUndefined(field.default);
43
+ fields[fieldName] = {
44
+ type: String(field.type),
45
+ ...(defaultValue === undefined ? {} : { default: defaultValue }),
46
+ ...(typeof field.description === 'string'
47
+ ? { description: field.description }
48
+ : {}),
49
+ ...(typeof field.label === 'string' ? { label: field.label } : {}),
50
+ ...(typeof field.help === 'string' ? { help: field.help } : {}),
51
+ ...(isComponentWidget(field.widget) ? { widget: field.widget } : {}),
52
+ ...(field.required === true ? { required: true } : {}),
53
+ ...(typeof field.step === 'number' && Number.isFinite(field.step)
54
+ ? { step: field.step }
55
+ : {}),
56
+ ...(isStringRecord(field.enum) ? { enum: field.enum } : {}),
57
+ ...(typeof field.fileTypes === 'string'
58
+ ? { fileTypes: field.fileTypes }
59
+ : {}),
60
+ ...(typeof field.subfolder === 'string'
61
+ ? { subfolder: field.subfolder }
62
+ : {}),
63
+ ...(typeof field.min === 'number' && Number.isFinite(field.min)
64
+ ? { min: field.min }
65
+ : {}),
66
+ ...(typeof field.max === 'number' && Number.isFinite(field.max)
67
+ ? { max: field.max }
68
+ : {}),
69
+ ...(field.hidden === true || fieldName.startsWith('_')
70
+ ? { hidden: true }
71
+ : {}),
72
+ };
73
+ }
74
+ return {
75
+ id: component.id,
76
+ ...(component.description == null
77
+ ? {}
78
+ : { description: component.description }),
79
+ fields,
80
+ source: (_a = options.source) !== null && _a !== void 0 ? _a : 'app',
81
+ ...(editor == null ? {} : { editor: { ...editor } }),
82
+ };
83
+ }
84
+ function componentCatalogFromComponents(components, options = {}) {
85
+ return createSceneComponentCatalog(components.map((component) => sceneComponentSchemaFromComponent(component, options)));
86
+ }
87
+ function jsonValueOrUndefined(value) {
88
+ if (value === null ||
89
+ typeof value === 'string' ||
90
+ typeof value === 'boolean') {
91
+ return value;
92
+ }
93
+ if (typeof value === 'number') {
94
+ return Number.isFinite(value) ? value : undefined;
95
+ }
96
+ if (Array.isArray(value)) {
97
+ const entries = value.map(jsonValueOrUndefined);
98
+ return entries.every((entry) => entry !== undefined)
99
+ ? entries
100
+ : undefined;
101
+ }
102
+ if (value != null && typeof value === 'object') {
103
+ const entries = Object.entries(value).map(([key, entry]) => [key, jsonValueOrUndefined(entry)]);
104
+ return entries.every(([, entry]) => entry !== undefined)
105
+ ? Object.fromEntries(entries)
106
+ : undefined;
107
+ }
108
+ return undefined;
109
+ }
110
+ function isStringRecord(value) {
111
+ return (value != null &&
112
+ typeof value === 'object' &&
113
+ !Array.isArray(value) &&
114
+ Object.values(value).every((entry) => typeof entry === 'string'));
115
+ }
116
+ function isComponentWidget(value) {
117
+ return ['slider', 'color', 'vector', 'text', 'select', 'entity'].includes(String(value));
118
+ }
119
+
120
+ export { componentCatalogFromComponents, defineComponents, sceneComponentSchemaFromComponent };
121
+ //# sourceMappingURL=component-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-manifest.js","sources":["../../src/ecs/component-manifest.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { ComponentRegistry, Types, createComponent } from 'elics';
8
+ export type { AnyComponent, AnySchema } from 'elics';
8
9
  /** Elics query operators re-export. @category ECS */
9
10
  export { eq, ne, lt, le, gt, ge, isin, nin } from 'elics';
10
11
  /** ECS component helpers and Types re-export. @category ECS */
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/ecs/component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAElE,qDAAqD;AACrD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE1D,+DAA+D;AAC/D,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/ecs/component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD,qDAAqD;AACrD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE1D,+DAA+D;AAC/D,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC"}
@@ -5,7 +5,21 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import type { PointerEventsMap } from '@pmndrs/pointer-events';
8
- import type { Object3D, Object3DEventMap } from '../runtime/index.js';
8
+ import type { AnyComponent } from 'elics';
9
+ import type { Color, Object3D, Object3DEventMap } from '../runtime/index.js';
10
+ export type ColorValueInput = number | string | Color | readonly [number, number, number] | readonly [number, number, number, number];
11
+ type ColorKeys<C extends AnyComponent> = {
12
+ [K in keyof C['schema']]: C['schema'][K]['type'] extends 'Color' ? K : never;
13
+ }[keyof C['schema']];
14
+ /** Options for {@link Entity.dispose}. @category ECS */
15
+ export interface EntityDisposeOptions {
16
+ /**
17
+ * Whether to dispose GPU resources attached to this entity's Object3D tree.
18
+ *
19
+ * @defaultValue true
20
+ */
21
+ disposeResources?: boolean;
22
+ }
9
23
  declare module 'elics' {
10
24
  interface Entity {
11
25
  object3D?: Object3D<Object3DEventMap & PointerEventsMap>;
@@ -22,9 +36,13 @@ declare module 'elics' {
22
36
  * ```ts
23
37
  * // Remove entity and free GPU resources
24
38
  * entity.dispose();
39
+ *
40
+ * // Remove entity while preserving shared geometry/materials
41
+ * entity.dispose({ disposeResources: false });
25
42
  * ```
26
43
  */
27
- dispose(): void;
44
+ dispose(options?: EntityDisposeOptions): void;
45
+ setValue<C extends AnyComponent, K extends ColorKeys<C>>(component: C, key: K, value: ColorValueInput): void;
28
46
  }
29
47
  }
30
48
  export { Entity } from 'elics';
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/ecs/entity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,MAAM;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;QACzD,6EAA6E;QAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B;;;;;;;;;;;;WAYG;QACH,OAAO,IAAI,IAAI,CAAC;KACjB;CACF;AAQD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,6EAA6E;AAC7E,eAAO,MAAM,UAAU,KAAK,CAAC"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/ecs/entity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,MAAM,GACN,KAAK,GACL,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACjC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,KAAK,SAAS,CAAC,CAAC,SAAS,YAAY,IAAI;KACtC,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,KAAK;CAC7E,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAErB,wDAAwD;AACxD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,MAAM;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;QACzD,6EAA6E;QAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B;;;;;;;;;;;;;;;WAeG;QACH,OAAO,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;QAC9C,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EACrD,SAAS,EAAE,CAAC,EACZ,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,eAAe,GACrB,IAAI,CAAC;KACT;CACF;AA4FD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,6EAA6E;AAC7E,eAAO,MAAM,UAAU,KAAK,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Entity } from 'elics';
1
+ import { Entity, Types } from 'elics';
2
2
  export { Entity } from 'elics';
3
3
 
4
4
  /**
@@ -7,9 +7,65 @@ export { Entity } from 'elics';
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
+ function normalizeColorValue(value) {
11
+ if (typeof value === 'number') {
12
+ if (!Number.isInteger(value) || value < 0 || value > 0xffffff) {
13
+ throw new Error('Color hex numbers must be RGB integers between 0x000000 and 0xffffff. Use #RRGGBBAA strings when alpha is needed.');
14
+ }
15
+ return [
16
+ ((value >> 16) & 0xff) / 255,
17
+ ((value >> 8) & 0xff) / 255,
18
+ (value & 0xff) / 255,
19
+ 1,
20
+ ];
21
+ }
22
+ if (typeof value === 'string') {
23
+ const match = /^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.exec(value);
24
+ if (!match) {
25
+ throw new Error('Color strings must use #RRGGBB or #RRGGBBAA.');
26
+ }
27
+ const hex = match[1];
28
+ return [
29
+ parseInt(hex.slice(0, 2), 16) / 255,
30
+ parseInt(hex.slice(2, 4), 16) / 255,
31
+ parseInt(hex.slice(4, 6), 16) / 255,
32
+ hex.length === 8 ? parseInt(hex.slice(6, 8), 16) / 255 : 1,
33
+ ];
34
+ }
35
+ if (typeof value === 'object' &&
36
+ value !== null &&
37
+ value.isColor === true &&
38
+ typeof value.toArray === 'function') {
39
+ const [r = 1, g = 1, b = 1] = value.toArray();
40
+ return [r, g, b, 1];
41
+ }
42
+ if (Array.isArray(value)) {
43
+ if (value.length !== 3 && value.length !== 4) {
44
+ throw new Error('Color arrays must have 3 or 4 entries.');
45
+ }
46
+ if (!value.every((entry) => typeof entry === 'number' && Number.isFinite(entry))) {
47
+ throw new Error('Color array entries must be finite numbers.');
48
+ }
49
+ const [r, g, b, a = 1] = value;
50
+ return [r, g, b, a];
51
+ }
52
+ throw new Error('Color values must be a hex number, #RRGGBB/#RRGGBBAA string, THREE.Color, or RGB/RGBA array.');
53
+ }
54
+ const originalSetValue = Entity.prototype.setValue;
55
+ Entity.prototype.setValue = function setValueWithColorCoercion(component, key, value) {
56
+ var _a;
57
+ if (((_a = component.schema[key]) === null || _a === void 0 ? void 0 : _a.type) === Types.Color) {
58
+ this.getVectorView(component, key).set(normalizeColorValue(value));
59
+ this.queryManager.updateEntityValue(this, component);
60
+ return;
61
+ }
62
+ originalSetValue.call(this, component, key, value);
63
+ };
10
64
  // Add dispose method to Entity prototype
11
- Entity.prototype.dispose = function () {
12
- this._disposeResources = true;
65
+ Entity.prototype.dispose = function (options) {
66
+ if ((options === null || options === void 0 ? void 0 : options.disposeResources) !== false) {
67
+ this._disposeResources = true;
68
+ }
13
69
  this.destroy();
14
70
  };
15
71
  /** Sentinel value used for "no parent" in Transform.parent. @category ECS */
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sources":["../../src/ecs/entity.ts"],"sourcesContent":[null],"names":["ElicsEntity"],"mappings":";;;AAAA;;;;;AAKG;AA4BH;AACAA,MAAW,CAAC,SAAS,CAAC,OAAO,GAAG,YAAA;AAC7B,IAAA,IAAY,CAAC,iBAAiB,GAAG,IAAI;IACtC,IAAI,CAAC,OAAO,EAAE;AAChB,CAAC;AAGD;AACO,MAAM,UAAU,GAAG;;;;"}
1
+ {"version":3,"file":"entity.js","sources":["../../src/ecs/entity.ts"],"sourcesContent":[null],"names":["ElicsEntity"],"mappings":"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"}
@@ -7,6 +7,8 @@
7
7
  export * from './system.js';
8
8
  export * from './world.js';
9
9
  export * from './component.js';
10
+ export * from './component-editor-metadata.js';
11
+ export * from './component-manifest.js';
12
+ export * from './builtin-components.js';
10
13
  export * from './entity.js';
11
- export * from './component-registry.js';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ecs/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ecs/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC"}
@@ -47,6 +47,15 @@ export interface System<S extends SystemSchema, Q extends SystemQueries> extends
47
47
  readonly visibilityState: Signal<VisibilityState>;
48
48
  readonly cleanupFuncs: Array<() => void>;
49
49
  init(): void;
50
+ /**
51
+ * Per-frame tick. Both arguments are in seconds (Three.js `Clock` convention),
52
+ * not milliseconds.
53
+ *
54
+ * @param delta Seconds since the previous frame.
55
+ * @param time Accumulated `Clock.elapsedTime` (seconds since the render loop
56
+ * started ticking the clock); monotonic across frames within a
57
+ * session.
58
+ */
50
59
  update(delta: number, time: number): void;
51
60
  play(): void;
52
61
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/ecs/system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAU,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,MAAM,IAAI,WAAW,EACrB,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,eAAe,EAChB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EACL,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEtD,KAAK,mBAAmB,CAAC,CAAC,SAAS,YAAY,IAAI;KAChD,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CACtD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CACrE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAEzC,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;IACb,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,EAC1E,OAAO,GAAE,CAAW,EACpB,MAAM,GAAE,CAAW,GAClB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CA0E9C"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/ecs/system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAU,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,MAAM,IAAI,WAAW,EACrB,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,eAAe,EAChB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EACL,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEtD,KAAK,mBAAmB,CAAC,CAAC,SAAS,YAAY,IAAI;KAChD,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CACtD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CACrE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAEzC,IAAI,IAAI,IAAI,CAAC;IACb;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;IACb,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,EAC1E,OAAO,GAAE,CAAW,EACpB,MAAM,GAAE,CAAW,GAClB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CA0E9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sources":["../../src/ecs/system.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAqEH;;;;;;;;;;;;;;;AAeG;SACa,YAAY,CAC1B,UAAa,EAAO,EACpB,SAAY,EAAO,EAAA;;IAEnB,OAAA,EAAA,GAAO,MAAA;AAmBL,YAAA,WAAA,CACkB,KAAY,EACrB,YAA0B,EAC1B,QAAgB,EAAA;gBAFP,IAAA,CAAA,KAAK,GAAL,KAAK;gBACd,IAAA,CAAA,YAAY,GAAZ,YAAY;gBACZ,IAAA,CAAA,QAAQ,GAAR,QAAQ;gBAjBV,IAAA,CAAA,QAAQ,GAAY,KAAK;gBAEzB,IAAA,CAAA,MAAM,GAAG,EAA4B;gBAU5B,IAAA,CAAA,YAAY,GAAsB,EAAE;AAOlD,gBAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACxB,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAc,CAAC;gBACvD;AACA,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;AAC1B,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;AACtC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;AAC9C,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;AACxB,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;AACxB,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;AAC1B,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC9B,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe;YAC9C;AAEA,YAAA,IAAI,OAAO,GAAA;AACT,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B;AAEA,YAAA,IAAI,SAAS,GAAA;AACX,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YAC/B;AAEA,YAAA,IAAI,OAAO,GAAA;AACT,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAClC;YAEA,YAAY,GAAA;AACV,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAClC;YAEA,qBAAqB,CAAC,MAAiB,EAAE,MAAe,EAAA;gBACtD,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC;YACzD;AAEA,YAAA,IAAI,KAAU;AAEd,YAAA,MAAM,CAAC,MAAc,EAAE,KAAa,IAAS;YAE7C,IAAI,GAAA;AACF,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;YACvB;YAEA,IAAI,GAAA;AACF,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;YACtB;YAEA,OAAO,GAAA;AACL,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC7C;AACD,SAAA;AAvEQ,QAAA,EAAA,CAAA,MAAM,GAAG,MAAO;AAChB,QAAA,EAAA,CAAA,QAAQ,GAAG,IAAK;AAChB,QAAA,EAAA,CAAA,OAAO,GAAG,OAAQ;AAqEzB,QAAA,EAAA;AACJ;;;;"}
1
+ {"version":3,"file":"system.js","sources":["../../src/ecs/system.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AA8EH;;;;;;;;;;;;;;;AAeG;SACa,YAAY,CAC1B,UAAa,EAAO,EACpB,SAAY,EAAO,EAAA;;IAEnB,OAAA,EAAA,GAAO,MAAA;AAmBL,YAAA,WAAA,CACkB,KAAY,EACrB,YAA0B,EAC1B,QAAgB,EAAA;gBAFP,IAAA,CAAA,KAAK,GAAL,KAAK;gBACd,IAAA,CAAA,YAAY,GAAZ,YAAY;gBACZ,IAAA,CAAA,QAAQ,GAAR,QAAQ;gBAjBV,IAAA,CAAA,QAAQ,GAAY,KAAK;gBAEzB,IAAA,CAAA,MAAM,GAAG,EAA4B;gBAU5B,IAAA,CAAA,YAAY,GAAsB,EAAE;AAOlD,gBAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACxB,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAc,CAAC;gBACvD;AACA,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;AAC1B,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;AACtC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;AAC9C,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;AACxB,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;AACxB,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;AAC1B,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC9B,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe;YAC9C;AAEA,YAAA,IAAI,OAAO,GAAA;AACT,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B;AAEA,YAAA,IAAI,SAAS,GAAA;AACX,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YAC/B;AAEA,YAAA,IAAI,OAAO,GAAA;AACT,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAClC;YAEA,YAAY,GAAA;AACV,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAClC;YAEA,qBAAqB,CAAC,MAAiB,EAAE,MAAe,EAAA;gBACtD,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC;YACzD;AAEA,YAAA,IAAI,KAAU;AAEd,YAAA,MAAM,CAAC,MAAc,EAAE,KAAa,IAAS;YAE7C,IAAI,GAAA;AACF,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;YACvB;YAEA,IAAI,GAAA;AACF,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;YACtB;YAEA,OAAO,GAAA;AACL,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC7C;AACD,SAAA;AAvEQ,QAAA,EAAA,CAAA,MAAM,GAAG,MAAO;AAChB,QAAA,EAAA,CAAA,QAAQ,GAAG,IAAK;AAChB,QAAA,EAAA,CAAA,OAAO,GAAG,OAAQ;AAqEzB,QAAA,EAAA;AACJ;;;;"}