@iwsdk/core 0.1.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 (326) hide show
  1. package/LICENSE +21 -0
  2. package/dist/asset/asset-manager.d.ts +72 -0
  3. package/dist/asset/asset-manager.d.ts.map +1 -0
  4. package/dist/asset/asset-manager.js +138 -0
  5. package/dist/asset/asset-manager.js.map +1 -0
  6. package/dist/asset/cache-manager.d.ts +44 -0
  7. package/dist/asset/cache-manager.d.ts.map +1 -0
  8. package/dist/asset/cache-manager.js +80 -0
  9. package/dist/asset/cache-manager.js.map +1 -0
  10. package/dist/asset/index.d.ts +9 -0
  11. package/dist/asset/index.d.ts.map +1 -0
  12. package/dist/asset/loaders/audio-loader.d.ts +21 -0
  13. package/dist/asset/loaders/audio-loader.d.ts.map +1 -0
  14. package/dist/asset/loaders/audio-loader.js +57 -0
  15. package/dist/asset/loaders/audio-loader.js.map +1 -0
  16. package/dist/asset/loaders/gltf-loader.d.ts +33 -0
  17. package/dist/asset/loaders/gltf-loader.d.ts.map +1 -0
  18. package/dist/asset/loaders/gltf-loader.js +79 -0
  19. package/dist/asset/loaders/gltf-loader.js.map +1 -0
  20. package/dist/asset/loaders/hdr-texture-loader.d.ts +18 -0
  21. package/dist/asset/loaders/hdr-texture-loader.d.ts.map +1 -0
  22. package/dist/asset/loaders/hdr-texture-loader.js +65 -0
  23. package/dist/asset/loaders/hdr-texture-loader.js.map +1 -0
  24. package/dist/asset/loaders/texture-loader.d.ts +21 -0
  25. package/dist/asset/loaders/texture-loader.d.ts.map +1 -0
  26. package/dist/asset/loaders/texture-loader.js +57 -0
  27. package/dist/asset/loaders/texture-loader.js.map +1 -0
  28. package/dist/audio/audio-pool.d.ts +59 -0
  29. package/dist/audio/audio-pool.d.ts.map +1 -0
  30. package/dist/audio/audio-pool.js +105 -0
  31. package/dist/audio/audio-pool.js.map +1 -0
  32. package/dist/audio/audio-system.d.ts +326 -0
  33. package/dist/audio/audio-system.d.ts.map +1 -0
  34. package/dist/audio/audio-system.js +478 -0
  35. package/dist/audio/audio-system.js.map +1 -0
  36. package/dist/audio/audio-utils.d.ts +71 -0
  37. package/dist/audio/audio-utils.d.ts.map +1 -0
  38. package/dist/audio/audio-utils.js +145 -0
  39. package/dist/audio/audio-utils.js.map +1 -0
  40. package/dist/audio/audio.d.ts +178 -0
  41. package/dist/audio/audio.d.ts.map +1 -0
  42. package/dist/audio/audio.js +104 -0
  43. package/dist/audio/audio.js.map +1 -0
  44. package/dist/audio/index.d.ts +11 -0
  45. package/dist/audio/index.d.ts.map +1 -0
  46. package/dist/ecs/component-registry.d.ts +54 -0
  47. package/dist/ecs/component-registry.d.ts.map +1 -0
  48. package/dist/ecs/component-registry.js +86 -0
  49. package/dist/ecs/component-registry.js.map +1 -0
  50. package/dist/ecs/component.d.ts +12 -0
  51. package/dist/ecs/component.d.ts.map +1 -0
  52. package/dist/ecs/entity.d.ts +17 -0
  53. package/dist/ecs/entity.d.ts.map +1 -0
  54. package/dist/ecs/entity.js +13 -0
  55. package/dist/ecs/entity.js.map +1 -0
  56. package/dist/ecs/index.d.ts +12 -0
  57. package/dist/ecs/index.d.ts.map +1 -0
  58. package/dist/ecs/system.d.ts +70 -0
  59. package/dist/ecs/system.d.ts.map +1 -0
  60. package/dist/ecs/system.js +79 -0
  61. package/dist/ecs/system.js.map +1 -0
  62. package/dist/ecs/world.d.ts +101 -0
  63. package/dist/ecs/world.d.ts.map +1 -0
  64. package/dist/ecs/world.js +165 -0
  65. package/dist/ecs/world.js.map +1 -0
  66. package/dist/environment/dome-gradient.d.ts +39 -0
  67. package/dist/environment/dome-gradient.d.ts.map +1 -0
  68. package/dist/environment/dome-gradient.js +30 -0
  69. package/dist/environment/dome-gradient.js.map +1 -0
  70. package/dist/environment/dome-texture.d.ts +39 -0
  71. package/dist/environment/dome-texture.d.ts.map +1 -0
  72. package/dist/environment/dome-texture.js +30 -0
  73. package/dist/environment/dome-texture.js.map +1 -0
  74. package/dist/environment/environment-system.d.ts +82 -0
  75. package/dist/environment/environment-system.d.ts.map +1 -0
  76. package/dist/environment/environment-system.js +389 -0
  77. package/dist/environment/environment-system.js.map +1 -0
  78. package/dist/environment/gradient-environment.d.ts +37 -0
  79. package/dist/environment/gradient-environment.d.ts.map +1 -0
  80. package/dist/environment/gradient-environment.js +99 -0
  81. package/dist/environment/gradient-environment.js.map +1 -0
  82. package/dist/environment/ibl-gradient.d.ts +38 -0
  83. package/dist/environment/ibl-gradient.d.ts.map +1 -0
  84. package/dist/environment/ibl-gradient.js +29 -0
  85. package/dist/environment/ibl-gradient.js.map +1 -0
  86. package/dist/environment/ibl-texture.d.ts +36 -0
  87. package/dist/environment/ibl-texture.d.ts.map +1 -0
  88. package/dist/environment/ibl-texture.js +30 -0
  89. package/dist/environment/ibl-texture.js.map +1 -0
  90. package/dist/environment/index.d.ts +12 -0
  91. package/dist/environment/index.d.ts.map +1 -0
  92. package/dist/grab/distance-grabbable.d.ts +115 -0
  93. package/dist/grab/distance-grabbable.d.ts.map +1 -0
  94. package/dist/grab/distance-grabbable.js +102 -0
  95. package/dist/grab/distance-grabbable.js.map +1 -0
  96. package/dist/grab/grab-system.d.ts +320 -0
  97. package/dist/grab/grab-system.d.ts.map +1 -0
  98. package/dist/grab/grab-system.js +239 -0
  99. package/dist/grab/grab-system.js.map +1 -0
  100. package/dist/grab/handles.d.ts +43 -0
  101. package/dist/grab/handles.d.ts.map +1 -0
  102. package/dist/grab/handles.js +132 -0
  103. package/dist/grab/handles.js.map +1 -0
  104. package/dist/grab/index.d.ts +13 -0
  105. package/dist/grab/index.d.ts.map +1 -0
  106. package/dist/grab/index.js +23 -0
  107. package/dist/grab/index.js.map +1 -0
  108. package/dist/grab/one-hand-grabbable.d.ts +80 -0
  109. package/dist/grab/one-hand-grabbable.d.ts.map +1 -0
  110. package/dist/grab/one-hand-grabbable.js +80 -0
  111. package/dist/grab/one-hand-grabbable.js.map +1 -0
  112. package/dist/grab/pointer-events-patch.d.ts +16 -0
  113. package/dist/grab/pointer-events-patch.d.ts.map +1 -0
  114. package/dist/grab/pointer-events-patch.js +223 -0
  115. package/dist/grab/pointer-events-patch.js.map +1 -0
  116. package/dist/grab/two-hands-grabbable.d.ts +103 -0
  117. package/dist/grab/two-hands-grabbable.d.ts.map +1 -0
  118. package/dist/grab/two-hands-grabbable.js +100 -0
  119. package/dist/grab/two-hands-grabbable.js.map +1 -0
  120. package/dist/index.d.ts +27 -0
  121. package/dist/index.d.ts.map +1 -0
  122. package/dist/index.js +82 -0
  123. package/dist/index.js.map +1 -0
  124. package/dist/init/index.d.ts +9 -0
  125. package/dist/init/index.d.ts.map +1 -0
  126. package/dist/init/world-initializer.d.ts +76 -0
  127. package/dist/init/world-initializer.d.ts.map +1 -0
  128. package/dist/init/world-initializer.js +403 -0
  129. package/dist/init/world-initializer.js.map +1 -0
  130. package/dist/init/xr.d.ts +87 -0
  131. package/dist/init/xr.d.ts.map +1 -0
  132. package/dist/init/xr.js +193 -0
  133. package/dist/init/xr.js.map +1 -0
  134. package/dist/input/index.d.ts +9 -0
  135. package/dist/input/index.d.ts.map +1 -0
  136. package/dist/input/input-system.d.ts +52 -0
  137. package/dist/input/input-system.d.ts.map +1 -0
  138. package/dist/input/input-system.js +176 -0
  139. package/dist/input/input-system.js.map +1 -0
  140. package/dist/input/state-tags.d.ts +56 -0
  141. package/dist/input/state-tags.d.ts.map +1 -0
  142. package/dist/input/state-tags.js +63 -0
  143. package/dist/input/state-tags.js.map +1 -0
  144. package/dist/level/index.d.ts +12 -0
  145. package/dist/level/index.d.ts.map +1 -0
  146. package/dist/level/level-entity-creator.d.ts +27 -0
  147. package/dist/level/level-entity-creator.d.ts.map +1 -0
  148. package/dist/level/level-entity-creator.js +110 -0
  149. package/dist/level/level-entity-creator.js.map +1 -0
  150. package/dist/level/level-glxf-importer.d.ts +22 -0
  151. package/dist/level/level-glxf-importer.d.ts.map +1 -0
  152. package/dist/level/level-glxf-importer.js +40 -0
  153. package/dist/level/level-glxf-importer.js.map +1 -0
  154. package/dist/level/level-root.d.ts +18 -0
  155. package/dist/level/level-root.d.ts.map +1 -0
  156. package/dist/level/level-root.js +25 -0
  157. package/dist/level/level-root.js.map +1 -0
  158. package/dist/level/level-system.d.ts +54 -0
  159. package/dist/level/level-system.d.ts.map +1 -0
  160. package/dist/level/level-system.js +134 -0
  161. package/dist/level/level-system.js.map +1 -0
  162. package/dist/level/level-tag.d.ts +25 -0
  163. package/dist/level/level-tag.d.ts.map +1 -0
  164. package/dist/level/level-tag.js +28 -0
  165. package/dist/level/level-tag.js.map +1 -0
  166. package/dist/locomotion/geometries/beveled-cylinder.d.ts +12 -0
  167. package/dist/locomotion/geometries/beveled-cylinder.d.ts.map +1 -0
  168. package/dist/locomotion/geometries/beveled-cylinder.js +64 -0
  169. package/dist/locomotion/geometries/beveled-cylinder.js.map +1 -0
  170. package/dist/locomotion/index.d.ts +11 -0
  171. package/dist/locomotion/index.d.ts.map +1 -0
  172. package/dist/locomotion/locomotion.d.ts +239 -0
  173. package/dist/locomotion/locomotion.d.ts.map +1 -0
  174. package/dist/locomotion/locomotion.js +256 -0
  175. package/dist/locomotion/locomotion.js.map +1 -0
  176. package/dist/locomotion/materials/line.d.ts +24 -0
  177. package/dist/locomotion/materials/line.d.ts.map +1 -0
  178. package/dist/locomotion/materials/line.js +307 -0
  179. package/dist/locomotion/materials/line.js.map +1 -0
  180. package/dist/locomotion/slide.d.ts +76 -0
  181. package/dist/locomotion/slide.d.ts.map +1 -0
  182. package/dist/locomotion/slide.js +131 -0
  183. package/dist/locomotion/slide.js.map +1 -0
  184. package/dist/locomotion/teleport.d.ts +68 -0
  185. package/dist/locomotion/teleport.d.ts.map +1 -0
  186. package/dist/locomotion/teleport.js +150 -0
  187. package/dist/locomotion/teleport.js.map +1 -0
  188. package/dist/locomotion/turn.d.ts +77 -0
  189. package/dist/locomotion/turn.d.ts.map +1 -0
  190. package/dist/locomotion/turn.js +126 -0
  191. package/dist/locomotion/turn.js.map +1 -0
  192. package/dist/node_modules/.pnpm/@pmndrs_uikitml@0.0.10_@pmndrs_uikit@1.0.32_super-three@0.177.0_/node_modules/@pmndrs/uikitml/dist/index.js +13 -0
  193. package/dist/node_modules/.pnpm/@pmndrs_uikitml@0.0.10_@pmndrs_uikit@1.0.32_super-three@0.177.0_/node_modules/@pmndrs/uikitml/dist/index.js.map +1 -0
  194. package/dist/node_modules/.pnpm/@pmndrs_uikitml@0.0.10_@pmndrs_uikit@1.0.32_super-three@0.177.0_/node_modules/@pmndrs/uikitml/dist/interpreter/index.js +154 -0
  195. package/dist/node_modules/.pnpm/@pmndrs_uikitml@0.0.10_@pmndrs_uikit@1.0.32_super-three@0.177.0_/node_modules/@pmndrs/uikitml/dist/interpreter/index.js.map +1 -0
  196. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/error-codes.js +66 -0
  197. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/error-codes.js.map +1 -0
  198. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/foreign-content.js +162 -0
  199. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/foreign-content.js.map +1 -0
  200. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/html.js +519 -0
  201. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/html.js.map +1 -0
  202. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/token.js +15 -0
  203. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/token.js.map +1 -0
  204. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/unicode.js +32 -0
  205. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/unicode.js.map +1 -0
  206. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/formatting-element-list.js +10 -0
  207. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/formatting-element-list.js.map +1 -0
  208. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/index.js +41 -0
  209. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/index.js.map +1 -0
  210. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/open-element-stack.js +35 -0
  211. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/open-element-stack.js.map +1 -0
  212. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/index.js +24 -0
  213. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/index.js.map +1 -0
  214. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/index.js +92 -0
  215. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/index.js.map +1 -0
  216. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/libs/fflate.module.js +382 -0
  217. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/libs/fflate.module.js.map +1 -0
  218. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/loaders/EXRLoader.js +2587 -0
  219. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/loaders/EXRLoader.js.map +1 -0
  220. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/loaders/RGBELoader.js +477 -0
  221. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/loaders/RGBELoader.js.map +1 -0
  222. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/src/math/MathUtils.js +17 -0
  223. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/src/math/MathUtils.js.map +1 -0
  224. package/dist/physics/index.d.ts +11 -0
  225. package/dist/physics/index.d.ts.map +1 -0
  226. package/dist/physics/physics-system.d.ts +314 -0
  227. package/dist/physics/physics-system.d.ts.map +1 -0
  228. package/dist/physics/physics-system.js +419 -0
  229. package/dist/physics/physics-system.js.map +1 -0
  230. package/dist/physics/physicsBody.d.ts +83 -0
  231. package/dist/physics/physicsBody.d.ts.map +1 -0
  232. package/dist/physics/physicsBody.js +60 -0
  233. package/dist/physics/physicsBody.js.map +1 -0
  234. package/dist/physics/physicsManipulation.d.ts +51 -0
  235. package/dist/physics/physicsManipulation.d.ts.map +1 -0
  236. package/dist/physics/physicsManipulation.js +46 -0
  237. package/dist/physics/physicsManipulation.js.map +1 -0
  238. package/dist/physics/physicsShape.d.ts +133 -0
  239. package/dist/physics/physicsShape.d.ts.map +1 -0
  240. package/dist/physics/physicsShape.js +97 -0
  241. package/dist/physics/physicsShape.js.map +1 -0
  242. package/dist/physics/utils.d.ts +21 -0
  243. package/dist/physics/utils.d.ts.map +1 -0
  244. package/dist/physics/utils.js +130 -0
  245. package/dist/physics/utils.js.map +1 -0
  246. package/dist/runtime/index.d.ts +8 -0
  247. package/dist/runtime/index.d.ts.map +1 -0
  248. package/dist/runtime/three.d.ts +8 -0
  249. package/dist/runtime/three.d.ts.map +1 -0
  250. package/dist/runtime/three.js +18 -0
  251. package/dist/runtime/three.js.map +1 -0
  252. package/dist/scene-understanding/anchor.d.ts +42 -0
  253. package/dist/scene-understanding/anchor.d.ts.map +1 -0
  254. package/dist/scene-understanding/anchor.js +45 -0
  255. package/dist/scene-understanding/anchor.js.map +1 -0
  256. package/dist/scene-understanding/index.d.ts +11 -0
  257. package/dist/scene-understanding/index.d.ts.map +1 -0
  258. package/dist/scene-understanding/mesh.d.ts +67 -0
  259. package/dist/scene-understanding/mesh.d.ts.map +1 -0
  260. package/dist/scene-understanding/mesh.js +55 -0
  261. package/dist/scene-understanding/mesh.js.map +1 -0
  262. package/dist/scene-understanding/plane.d.ts +39 -0
  263. package/dist/scene-understanding/plane.d.ts.map +1 -0
  264. package/dist/scene-understanding/plane.js +42 -0
  265. package/dist/scene-understanding/plane.js.map +1 -0
  266. package/dist/scene-understanding/scene-understanding-system.d.ts +180 -0
  267. package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -0
  268. package/dist/scene-understanding/scene-understanding-system.js +342 -0
  269. package/dist/scene-understanding/scene-understanding-system.js.map +1 -0
  270. package/dist/transform/index.d.ts +10 -0
  271. package/dist/transform/index.d.ts.map +1 -0
  272. package/dist/transform/synced-quaternion.d.ts +35 -0
  273. package/dist/transform/synced-quaternion.d.ts.map +1 -0
  274. package/dist/transform/synced-quaternion.js +128 -0
  275. package/dist/transform/synced-quaternion.js.map +1 -0
  276. package/dist/transform/synced-vector3.d.ts +34 -0
  277. package/dist/transform/synced-vector3.d.ts.map +1 -0
  278. package/dist/transform/synced-vector3.js +106 -0
  279. package/dist/transform/synced-vector3.js.map +1 -0
  280. package/dist/transform/transform.d.ts +100 -0
  281. package/dist/transform/transform.d.ts.map +1 -0
  282. package/dist/transform/transform.js +194 -0
  283. package/dist/transform/transform.js.map +1 -0
  284. package/dist/types/webxr-augmentations.d.ts +23 -0
  285. package/dist/types/webxr-augmentations.d.ts.map +1 -0
  286. package/dist/ui/document.d.ts +112 -0
  287. package/dist/ui/document.d.ts.map +1 -0
  288. package/dist/ui/document.js +298 -0
  289. package/dist/ui/document.js.map +1 -0
  290. package/dist/ui/follow.d.ts +197 -0
  291. package/dist/ui/follow.d.ts.map +1 -0
  292. package/dist/ui/follow.js +143 -0
  293. package/dist/ui/follow.js.map +1 -0
  294. package/dist/ui/index.d.ts +18 -0
  295. package/dist/ui/index.d.ts.map +1 -0
  296. package/dist/ui/screenspace.d.ts +219 -0
  297. package/dist/ui/screenspace.d.ts.map +1 -0
  298. package/dist/ui/screenspace.js +215 -0
  299. package/dist/ui/screenspace.js.map +1 -0
  300. package/dist/ui/ui.d.ts +209 -0
  301. package/dist/ui/ui.d.ts.map +1 -0
  302. package/dist/ui/ui.js +185 -0
  303. package/dist/ui/ui.js.map +1 -0
  304. package/dist/vendor/basis/README.md +46 -0
  305. package/dist/vendor/basis/basis_transcoder.js +19 -0
  306. package/dist/vendor/basis/basis_transcoder.wasm +0 -0
  307. package/dist/vendor/draco/README.md +32 -0
  308. package/dist/vendor/draco/draco_decoder.js +34 -0
  309. package/dist/vendor/draco/draco_decoder.wasm +0 -0
  310. package/dist/vendor/draco/draco_encoder.js +33 -0
  311. package/dist/vendor/draco/draco_wasm_wrapper.js +117 -0
  312. package/dist/vendor/draco/gltf/draco_decoder.js +33 -0
  313. package/dist/vendor/draco/gltf/draco_decoder.wasm +0 -0
  314. package/dist/vendor/draco/gltf/draco_encoder.js +33 -0
  315. package/dist/vendor/draco/gltf/draco_wasm_wrapper.js +116 -0
  316. package/dist/version.d.ts +2 -0
  317. package/dist/version.d.ts.map +1 -0
  318. package/dist/version.js +4 -0
  319. package/dist/version.js.map +1 -0
  320. package/dist/visibility/index.d.ts +8 -0
  321. package/dist/visibility/index.d.ts.map +1 -0
  322. package/dist/visibility/visibility.d.ts +37 -0
  323. package/dist/visibility/visibility.d.ts.map +1 -0
  324. package/dist/visibility/visibility.js +52 -0
  325. package/dist/visibility/visibility.js.map +1 -0
  326. package/package.json +46 -0
@@ -0,0 +1,12 @@
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
+ export * from './system.js';
8
+ export * from './world.js';
9
+ export * from './component.js';
10
+ export * from './entity.js';
11
+ export * from './component-registry.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,70 @@
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 { XRInputManager, XROrigin } from '@iwsdk/xr-input';
8
+ import { Signal } from '@preact/signals-core';
9
+ import { System as ElicsSystem, Query, SystemConstructor, SystemQueries, SystemSchema, TypeValueToType } from 'elics';
10
+ import type { QueryManager } from 'elics/lib/query-manager.js';
11
+ import { PerspectiveCamera, Scene, WebGLRenderer, WebXRManager } from '../runtime/index.js';
12
+ import { Entity } from './entity.js';
13
+ import type { VisibilityState, World } from './world';
14
+ type SystemConfigSignals<S extends SystemSchema> = {
15
+ [K in keyof S]: Signal<TypeValueToType<S[K]['type']>>;
16
+ };
17
+ /**
18
+ * System base interface wired to the IWSDK World, renderer, and XR runtime.
19
+ *
20
+ * @remarks
21
+ * - `createSystem(queries, schema)` returns a class that implements this interface.
22
+ * - Config values are exposed as reactive Signals on `this.config.<key>`.
23
+ * - Common world resources are available as readonly properties (`player`, `input`,
24
+ * `scene`, `camera`, `renderer`, `visibilityState`).
25
+ * - Use `cleanupFuncs.push(() => ...)` to register teardown callbacks.
26
+ *
27
+ * @category ECS
28
+ */
29
+ export interface System<S extends SystemSchema, Q extends SystemQueries> extends ElicsSystem<S, Q> {
30
+ isPaused: boolean;
31
+ config: SystemConfigSignals<S>;
32
+ queries: Record<keyof Q, Query>;
33
+ world: World;
34
+ queryManager: QueryManager;
35
+ priority: number;
36
+ globals: Record<string, any>;
37
+ xrManager: WebXRManager;
38
+ xrFrame: XRFrame;
39
+ readonly player: XROrigin;
40
+ readonly input: XRInputManager;
41
+ readonly scene: Scene;
42
+ readonly camera: PerspectiveCamera;
43
+ readonly renderer: WebGLRenderer;
44
+ readonly visibilityState: Signal<VisibilityState>;
45
+ readonly cleanupFuncs: Array<() => void>;
46
+ init(): void;
47
+ update(delta: number, time: number): void;
48
+ play(): void;
49
+ stop(): void;
50
+ createEntity: () => Entity;
51
+ }
52
+ /**
53
+ * Create a strongly-typed System class with query bindings and reactive config.
54
+ *
55
+ * @param queries Elics query descriptors keyed by name.
56
+ * @param schema Option map of config defaults and Types.
57
+ * @returns A System constructor to `export class MySystem extends createSystem(...) { ... }`.
58
+ *
59
+ * @example
60
+ * export class Rotator extends createSystem({ items: { required: [Transform] } }, {
61
+ * speed: { type: Types.Float32, default: 1 }
62
+ * }) {
63
+ * update(dt:number){ this.queries.items.entities.forEach(e=> e.object3D.rotateY(dt*this.config.speed.value)) }
64
+ * }
65
+ *
66
+ * @category ECS
67
+ */
68
+ export declare function createSystem<S extends SystemSchema, Q extends SystemQueries>(queries?: Q, schema?: S): SystemConstructor<S, Q, World, System<S, Q>>;
69
+ export {};
70
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/ecs/system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3D,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,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,KAAK,EAAE,cAAc,CAAC;IAC/B,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,CAsE9C"}
@@ -0,0 +1,79 @@
1
+ import { signal } from '@preact/signals-core';
2
+
3
+ /**
4
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ /**
10
+ * Create a strongly-typed System class with query bindings and reactive config.
11
+ *
12
+ * @param queries Elics query descriptors keyed by name.
13
+ * @param schema Option map of config defaults and Types.
14
+ * @returns A System constructor to `export class MySystem extends createSystem(...) { ... }`.
15
+ *
16
+ * @example
17
+ * export class Rotator extends createSystem({ items: { required: [Transform] } }, {
18
+ * speed: { type: Types.Float32, default: 1 }
19
+ * }) {
20
+ * update(dt:number){ this.queries.items.entities.forEach(e=> e.object3D.rotateY(dt*this.config.speed.value)) }
21
+ * }
22
+ *
23
+ * @category ECS
24
+ */
25
+ function createSystem(queries = {}, schema = {}) {
26
+ var _a;
27
+ return _a = class {
28
+ constructor(world, queryManager, priority) {
29
+ this.world = world;
30
+ this.queryManager = queryManager;
31
+ this.priority = priority;
32
+ this.isPaused = false;
33
+ this.config = {};
34
+ this.cleanupFuncs = [];
35
+ for (const key in schema) {
36
+ this.config[key] = signal(schema[key].default);
37
+ }
38
+ this.player = world.player;
39
+ this.input = world.input;
40
+ this.scene = world.scene;
41
+ this.camera = world.camera;
42
+ this.renderer = world.renderer;
43
+ this.visibilityState = world.visibilityState;
44
+ }
45
+ get globals() {
46
+ return this.world.globals;
47
+ }
48
+ get xrManager() {
49
+ return this.world.renderer.xr;
50
+ }
51
+ get xrFrame() {
52
+ return this.xrManager.getFrame();
53
+ }
54
+ createEntity() {
55
+ return this.world.createEntity();
56
+ }
57
+ createTransformEntity(object, parent) {
58
+ return this.world.createTransformEntity(object, parent);
59
+ }
60
+ init() { }
61
+ update(_delta, _time) { }
62
+ play() {
63
+ this.isPaused = false;
64
+ }
65
+ stop() {
66
+ this.isPaused = true;
67
+ }
68
+ destroy() {
69
+ this.cleanupFuncs.forEach((func) => func());
70
+ }
71
+ },
72
+ _a.schema = schema,
73
+ _a.isSystem = true,
74
+ _a.queries = queries,
75
+ _a;
76
+ }
77
+
78
+ export { createSystem };
79
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sources":["../../src/ecs/system.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAkEH;;;;;;;;;;;;;;;AAeG;SACa,YAAY,CAC1B,UAAa,EAAO,EACpB,SAAY,EAAO,EAAA;;IAEnB,OAAA,EAAA,GAAO,MAAA;AAiBL,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;gBAfV,IAAA,CAAA,QAAQ,GAAY,KAAK;gBAEzB,IAAA,CAAA,MAAM,GAAG,EAA4B;gBAQ5B,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,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;AAnEQ,QAAA,EAAA,CAAA,MAAM,GAAG,MAAO;AAChB,QAAA,EAAA,CAAA,QAAQ,GAAG,IAAK;AAChB,QAAA,EAAA,CAAA,OAAO,GAAG,OAAQ;AAiEzB,QAAA,EAAA;AACJ;;;;"}
@@ -0,0 +1,101 @@
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 { XRInputManager, XROrigin } from '@iwsdk/xr-input';
8
+ import { Signal } from '@preact/signals-core';
9
+ import { AnyComponent, World as ElicsWorld } from 'elics';
10
+ import { AssetManager } from '../asset/index.js';
11
+ import { WorldOptions, XROptions } from '../init/index.js';
12
+ import { Object3D, PerspectiveCamera, Scene, WebGLRenderer } from '../runtime/index.js';
13
+ import { Entity } from './entity.js';
14
+ export declare enum VisibilityState {
15
+ NonImmersive = "non-immersive",
16
+ Hidden = "hidden",
17
+ Visible = "visible",
18
+ VisibleBlurred = "visible-blurred"
19
+ }
20
+ export type GradientColors = {
21
+ sky: number;
22
+ equator: number;
23
+ ground: number;
24
+ };
25
+ /**
26
+ * World is the root ECS container, Three.js scene/renderer owner, and XR session gateway.
27
+ *
28
+ * @remarks
29
+ * - Construct a world with {@link World.create} (recommended) which wires the renderer, scene, default systems
30
+ * (Input, UI, Audio, Level) and starts the render loop.
31
+ * - The world exposes convenience handles like {@link World.input | input} (XRInputManager),
32
+ * {@link World.player | player} (XROrigin), and {@link World.assetManager}.
33
+ * - Feature systems (Grabbing, Locomotion) are opt‑in via {@link WorldOptions.features}.
34
+ *
35
+ * @category Runtime
36
+ * @example
37
+ * ```ts
38
+ * import { World, SessionMode } from '@iwsdk/core';
39
+ *
40
+ * const container = document.getElementById('scene-container') as HTMLDivElement;
41
+ * const world = await World.create(container, {
42
+ * xr: { sessionMode: SessionMode.ImmersiveVR },
43
+ * features: { enableLocomotion: true, enableGrabbing: true },
44
+ * level: '/glxf/Composition.glxf'
45
+ * });
46
+ * ```
47
+ */
48
+ export declare class World extends ElicsWorld {
49
+ input: XRInputManager;
50
+ player: XROrigin;
51
+ assetManager: typeof AssetManager;
52
+ scene: Scene;
53
+ sceneEntity: Entity;
54
+ activeLevel: Signal<Entity>;
55
+ activeLevelId: string;
56
+ camera: PerspectiveCamera;
57
+ renderer: WebGLRenderer;
58
+ session: XRSession | undefined;
59
+ visibilityState: Signal<VisibilityState>;
60
+ requestedLevelUrl: string | undefined;
61
+ _resolveLevelLoad: (() => void) | undefined;
62
+ /** Default XR options used when calling {@link World.launchXR} without overrides. */
63
+ xrDefaults: import('../init/xr.js').XROptions | undefined;
64
+ constructor();
65
+ createEntity(): Entity;
66
+ createTransformEntity(object?: Object3D, parentOrOptions?: Entity | {
67
+ parent?: Entity;
68
+ persistent?: boolean;
69
+ }): Entity;
70
+ launchXR(xrOptions?: Partial<XROptions>): void;
71
+ /** Request a level change; LevelSystem performs the work and resolves. */
72
+ loadLevel(url?: string): Promise<void>;
73
+ exitXR(): void;
74
+ update(delta: number, time: number): void;
75
+ registerComponent(component: AnyComponent): this;
76
+ getActiveRoot(): Object3D;
77
+ getPersistentRoot(): Object3D;
78
+ /**
79
+ * Initialize a new WebXR world with all required systems and setup
80
+ *
81
+ * @param sceneContainer - HTML container for the renderer canvas
82
+ * @param assets - Asset manifest for preloading
83
+ * @param options - Configuration options for the world
84
+ * @returns Promise that resolves to the initialized World instance
85
+ */
86
+ /**
87
+ * Initialize a new WebXR world with renderer, scene, default systems, and optional level.
88
+ *
89
+ * @param container HTML container to which the renderer canvas will be appended.
90
+ * @param options Runtime configuration, see {@link WorldOptions}.
91
+ * @returns A promise that resolves to the initialized {@link World}.
92
+ *
93
+ * @remarks
94
+ * - This call enables the Input, UI and Audio systems by default.
95
+ * - Use {@link WorldOptions.features} to enable Locomotion or Grabbing.
96
+ * - If {@link WorldOptions.level} is provided, the LevelSystem will load it after assets are preloaded.
97
+ * @see /getting-started/01-hello-xr
98
+ */
99
+ static create(container: HTMLDivElement, options?: WorldOptions): Promise<World>;
100
+ }
101
+ //# sourceMappingURL=world.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/ecs/world.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAU,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,YAAY,EAEZ,SAAS,EAEV,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,KAAK,EACL,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,oBAAY,eAAe;IACzB,YAAY,kBAAkB;IAC9B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,cAAc,oBAAoB;CACnC;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,KAAM,SAAQ,UAAU;IAC5B,KAAK,EAAG,cAAc,CAAC;IACvB,MAAM,EAAG,QAAQ,CAAC;IAClB,YAAY,EAAG,OAAO,YAAY,CAAC;IACnC,KAAK,EAAG,KAAK,CAAC;IACd,WAAW,EAAG,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAmB;IACxC,MAAM,EAAG,iBAAiB,CAAC;IAC3B,QAAQ,EAAG,aAAa,CAAC;IACzB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,eAAe,0BAAwC;IACvD,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,iBAAiB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnD,qFAAqF;IAC9E,UAAU,EAAE,OAAO,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;;IAcjE,YAAY,IAAI,MAAM;IAItB,qBAAqB,CACnB,MAAM,CAAC,EAAE,QAAQ,EACjB,eAAe,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GACnE,MAAM;IA8CT,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAIvC,0EAA0E;IACpE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,MAAM;IAIN,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,iBAAiB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAKhD,aAAa,IAAI,QAAQ;IAIzB,iBAAiB,IAAI,QAAQ;IAI7B;;;;;;;OAOG;IACH;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,MAAM,CACX,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,KAAK,CAAC;CAGlB"}
@@ -0,0 +1,165 @@
1
+ import { signal } from '@preact/signals-core';
2
+ import { World as World$1 } from 'elics';
3
+ import { launchXR } from '../init/xr.js';
4
+ import { initializeWorld } from '../init/world-initializer.js';
5
+ import '../level/level-system.js';
6
+ import { LevelTag } from '../level/level-tag.js';
7
+ import '@iwsdk/glxf';
8
+ import '../asset/asset-manager.js';
9
+ import '../asset/cache-manager.js';
10
+ import './component-registry.js';
11
+ import '@pmndrs/uikit';
12
+ import { Object3D } from 'three';
13
+ import '../ui/ui.js';
14
+ import '../ui/follow.js';
15
+ import '../ui/screenspace.js';
16
+ import '../level/level-root.js';
17
+ import '../runtime/three.js';
18
+ import { Transform } from '../transform/transform.js';
19
+
20
+ /**
21
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
22
+ *
23
+ * This source code is licensed under the MIT license found in the
24
+ * LICENSE file in the root directory of this source tree.
25
+ */
26
+ var VisibilityState;
27
+ (function (VisibilityState) {
28
+ VisibilityState["NonImmersive"] = "non-immersive";
29
+ VisibilityState["Hidden"] = "hidden";
30
+ VisibilityState["Visible"] = "visible";
31
+ VisibilityState["VisibleBlurred"] = "visible-blurred";
32
+ })(VisibilityState || (VisibilityState = {}));
33
+ /**
34
+ * World is the root ECS container, Three.js scene/renderer owner, and XR session gateway.
35
+ *
36
+ * @remarks
37
+ * - Construct a world with {@link World.create} (recommended) which wires the renderer, scene, default systems
38
+ * (Input, UI, Audio, Level) and starts the render loop.
39
+ * - The world exposes convenience handles like {@link World.input | input} (XRInputManager),
40
+ * {@link World.player | player} (XROrigin), and {@link World.assetManager}.
41
+ * - Feature systems (Grabbing, Locomotion) are opt‑in via {@link WorldOptions.features}.
42
+ *
43
+ * @category Runtime
44
+ * @example
45
+ * ```ts
46
+ * import { World, SessionMode } from '@iwsdk/core';
47
+ *
48
+ * const container = document.getElementById('scene-container') as HTMLDivElement;
49
+ * const world = await World.create(container, {
50
+ * xr: { sessionMode: SessionMode.ImmersiveVR },
51
+ * features: { enableLocomotion: true, enableGrabbing: true },
52
+ * level: '/glxf/Composition.glxf'
53
+ * });
54
+ * ```
55
+ */
56
+ class World extends World$1 {
57
+ constructor() {
58
+ super();
59
+ this.activeLevelId = 'level:default';
60
+ this.visibilityState = signal(VisibilityState.NonImmersive);
61
+ const originalReleaseFunc = this.entityManager.releaseEntityInstance.bind(this.entityManager);
62
+ this.entityManager.releaseEntityInstance = (entity) => {
63
+ var _a;
64
+ originalReleaseFunc(entity);
65
+ (_a = entity.object3D) === null || _a === void 0 ? void 0 : _a.removeFromParent();
66
+ delete entity.object3D;
67
+ };
68
+ }
69
+ createEntity() {
70
+ return super.createEntity();
71
+ }
72
+ createTransformEntity(object, parentOrOptions) {
73
+ var _a, _b;
74
+ const entity = super.createEntity();
75
+ const obj = object !== null && object !== void 0 ? object : new Object3D();
76
+ // Cast to pointer-events-capable Object3D event map for downstream typing
77
+ entity.object3D = obj;
78
+ let parent = undefined;
79
+ let persistent = false;
80
+ if (parentOrOptions) {
81
+ if (typeof parentOrOptions.index === 'number') {
82
+ parent = parentOrOptions;
83
+ }
84
+ else {
85
+ const opts = parentOrOptions;
86
+ parent = opts.parent;
87
+ persistent = !!opts.persistent;
88
+ }
89
+ }
90
+ if (!parent) {
91
+ // Avoid self-parenting for the Scene root
92
+ const isSceneObject = (obj) => obj.isScene === true;
93
+ if (object && isSceneObject(object)) {
94
+ parent = undefined;
95
+ persistent = true;
96
+ }
97
+ else {
98
+ parent = persistent
99
+ ? this.sceneEntity
100
+ : ((_b = (_a = this.activeLevel) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : this.sceneEntity);
101
+ }
102
+ }
103
+ entity.addComponent(Transform, { parent });
104
+ // Tag entity with current level, unless persistent
105
+ if (!persistent) {
106
+ entity.addComponent(LevelTag, { id: this.activeLevelId });
107
+ }
108
+ return entity;
109
+ }
110
+ launchXR(xrOptions) {
111
+ launchXR(this, xrOptions);
112
+ }
113
+ /** Request a level change; LevelSystem performs the work and resolves. */
114
+ async loadLevel(url) {
115
+ this.requestedLevelUrl = url !== null && url !== void 0 ? url : '';
116
+ return new Promise((resolve) => {
117
+ this._resolveLevelLoad = resolve;
118
+ });
119
+ }
120
+ exitXR() {
121
+ var _a;
122
+ (_a = this.session) === null || _a === void 0 ? void 0 : _a.end();
123
+ }
124
+ update(delta, time) {
125
+ super.update(delta, time);
126
+ }
127
+ registerComponent(component) {
128
+ return super.registerComponent(component);
129
+ }
130
+ // Level root helpers
131
+ getActiveRoot() {
132
+ var _a, _b, _c;
133
+ return (_c = (_b = (_a = this.activeLevel) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.object3D) !== null && _c !== void 0 ? _c : this.scene;
134
+ }
135
+ getPersistentRoot() {
136
+ return this.scene;
137
+ }
138
+ /**
139
+ * Initialize a new WebXR world with all required systems and setup
140
+ *
141
+ * @param sceneContainer - HTML container for the renderer canvas
142
+ * @param assets - Asset manifest for preloading
143
+ * @param options - Configuration options for the world
144
+ * @returns Promise that resolves to the initialized World instance
145
+ */
146
+ /**
147
+ * Initialize a new WebXR world with renderer, scene, default systems, and optional level.
148
+ *
149
+ * @param container HTML container to which the renderer canvas will be appended.
150
+ * @param options Runtime configuration, see {@link WorldOptions}.
151
+ * @returns A promise that resolves to the initialized {@link World}.
152
+ *
153
+ * @remarks
154
+ * - This call enables the Input, UI and Audio systems by default.
155
+ * - Use {@link WorldOptions.features} to enable Locomotion or Grabbing.
156
+ * - If {@link WorldOptions.level} is provided, the LevelSystem will load it after assets are preloaded.
157
+ * @see /getting-started/01-hello-xr
158
+ */
159
+ static create(container, options) {
160
+ return initializeWorld(container, options);
161
+ }
162
+ }
163
+
164
+ export { VisibilityState, World };
165
+ //# sourceMappingURL=world.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.js","sources":["../../src/ecs/world.ts"],"sourcesContent":[null],"names":["ElicsWorld"],"mappings":"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"}
@@ -0,0 +1,39 @@
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 { Types } from '../ecs/index.js';
8
+ /**
9
+ * Procedural gradient background dome.
10
+ *
11
+ * @remarks
12
+ * - Renders an inward‑facing sphere and writes to `scene.background`.
13
+ * - Colors are Unity‑style sky/equator/ground; intensity multiplies shader output.
14
+ *
15
+ * @category Environment & Lighting
16
+ */
17
+ export declare const DomeGradient: import("elics").Component<{
18
+ sky: {
19
+ type: Types.Color;
20
+ default: [number, number, number, number];
21
+ };
22
+ equator: {
23
+ type: Types.Color;
24
+ default: [number, number, number, number];
25
+ };
26
+ ground: {
27
+ type: Types.Color;
28
+ default: [number, number, number, number];
29
+ };
30
+ intensity: {
31
+ type: Types.Float32;
32
+ default: number;
33
+ };
34
+ _needsUpdate: {
35
+ type: Types.Boolean;
36
+ default: true;
37
+ };
38
+ }>;
39
+ //# sourceMappingURL=dome-gradient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dome-gradient.d.ts","sourceRoot":"","sources":["../../src/environment/dome-gradient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;EAUxB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import '@preact/signals-core';
2
+ import '../ecs/world.js';
3
+ import { createComponent, Types } from 'elics';
4
+ import '../ecs/component-registry.js';
5
+
6
+ /**
7
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ */
12
+ /**
13
+ * Procedural gradient background dome.
14
+ *
15
+ * @remarks
16
+ * - Renders an inward‑facing sphere and writes to `scene.background`.
17
+ * - Colors are Unity‑style sky/equator/ground; intensity multiplies shader output.
18
+ *
19
+ * @category Environment & Lighting
20
+ */
21
+ const DomeGradient = createComponent('DomeGradient', {
22
+ sky: { type: Types.Color, default: [0.2423, 0.6172, 0.8308, 1.0] },
23
+ equator: { type: Types.Color, default: [0.6584, 0.7084, 0.7913, 1.0] },
24
+ ground: { type: Types.Color, default: [0.807, 0.7758, 0.7454, 1.0] },
25
+ intensity: { type: Types.Float32, default: 1.0 },
26
+ _needsUpdate: { type: Types.Boolean, default: true },
27
+ }, 'Background dome using a gradient');
28
+
29
+ export { DomeGradient };
30
+ //# sourceMappingURL=dome-gradient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dome-gradient.js","sources":["../../src/environment/dome-gradient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;AAQG;AACI,MAAM,YAAY,GAAG,eAAe,CACzC,cAAc,EACd;AACE,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AAClE,IAAA,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AACtE,IAAA,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IACpE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,kCAAkC;;;;"}
@@ -0,0 +1,39 @@
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 { Types } from '../ecs/index.js';
8
+ /**
9
+ * Background dome driven by a single equirectangular texture.
10
+ *
11
+ * @remarks
12
+ * - `src` may be HDR/EXR or LDR (png/jpg/ktx2). Mapping is set to equirect when needed.
13
+ * - Affects only `scene.background` and optional `scene.backgroundRotation`/`backgroundIntensity`.
14
+ *
15
+ * @category Environment & Lighting
16
+ */
17
+ export declare const DomeTexture: import("elics").Component<{
18
+ src: {
19
+ type: Types.String;
20
+ default: string;
21
+ };
22
+ blurriness: {
23
+ type: Types.Float32;
24
+ default: number;
25
+ };
26
+ intensity: {
27
+ type: Types.Float32;
28
+ default: number;
29
+ };
30
+ rotation: {
31
+ type: Types.Vec3;
32
+ default: [number, number, number];
33
+ };
34
+ _needsUpdate: {
35
+ type: Types.Boolean;
36
+ default: true;
37
+ };
38
+ }>;
39
+ //# sourceMappingURL=dome-texture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dome-texture.d.ts","sourceRoot":"","sources":["../../src/environment/dome-texture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;EAUvB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import '@preact/signals-core';
2
+ import '../ecs/world.js';
3
+ import { createComponent, Types } from 'elics';
4
+ import '../ecs/component-registry.js';
5
+
6
+ /**
7
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ */
12
+ /**
13
+ * Background dome driven by a single equirectangular texture.
14
+ *
15
+ * @remarks
16
+ * - `src` may be HDR/EXR or LDR (png/jpg/ktx2). Mapping is set to equirect when needed.
17
+ * - Affects only `scene.background` and optional `scene.backgroundRotation`/`backgroundIntensity`.
18
+ *
19
+ * @category Environment & Lighting
20
+ */
21
+ const DomeTexture = createComponent('DomeTexture', {
22
+ src: { type: Types.String, default: '' },
23
+ blurriness: { type: Types.Float32, default: 0.0 },
24
+ intensity: { type: Types.Float32, default: 1.0 },
25
+ rotation: { type: Types.Vec3, default: [0, 0, 0] }, // radians [x,y,z]
26
+ _needsUpdate: { type: Types.Boolean, default: true },
27
+ }, 'Background dome using a single equirectangular texture');
28
+
29
+ export { DomeTexture };
30
+ //# sourceMappingURL=dome-texture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dome-texture.js","sources":["../../src/environment/dome-texture.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;AAQG;AACI,MAAM,WAAW,GAAG,eAAe,CACxC,aAAa,EACb;IACE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IACxC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IACjD,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;AAChD,IAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAClD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,wDAAwD;;;;"}