@iwsdk/core 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/README.md +4 -7
  2. package/dist/asset/asset-manager.d.ts +137 -9
  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 +3 -2
  38. package/dist/audio/audio-system.d.ts.map +1 -1
  39. package/dist/audio/audio-system.js +17 -6
  40. package/dist/audio/audio-system.js.map +1 -1
  41. package/dist/audio/audio-utils.d.ts +2 -2
  42. package/dist/audio/audio-utils.d.ts.map +1 -1
  43. package/dist/audio/audio.d.ts +1 -1
  44. package/dist/audio/audio.d.ts.map +1 -1
  45. package/dist/audio/audio.js +2 -4
  46. package/dist/audio/audio.js.map +1 -1
  47. package/dist/camera/camera-source.d.ts +1 -1
  48. package/dist/camera/camera-source.d.ts.map +1 -1
  49. package/dist/camera/camera-source.js +0 -4
  50. package/dist/camera/camera-source.js.map +1 -1
  51. package/dist/camera/camera-system.d.ts +18 -18
  52. package/dist/camera/camera-system.d.ts.map +1 -1
  53. package/dist/camera/camera-system.js +5 -6
  54. package/dist/camera/camera-system.js.map +1 -1
  55. package/dist/camera/camera-utils.d.ts +1 -1
  56. package/dist/camera/camera-utils.d.ts.map +1 -1
  57. package/dist/depth/depth-occludable.d.ts +1 -1
  58. package/dist/depth/depth-occludable.d.ts.map +1 -1
  59. package/dist/depth/depth-occludable.js +0 -4
  60. package/dist/depth/depth-occludable.js.map +1 -1
  61. package/dist/depth/depth-sensing-system.d.ts +2 -2
  62. package/dist/depth/depth-sensing-system.d.ts.map +1 -1
  63. package/dist/depth/depth-sensing-system.js +31 -13
  64. package/dist/depth/depth-sensing-system.js.map +1 -1
  65. package/dist/ecs/builtin-components.d.ts +1239 -0
  66. package/dist/ecs/builtin-components.d.ts.map +1 -0
  67. package/dist/ecs/builtin-components.js +87 -0
  68. package/dist/ecs/builtin-components.js.map +1 -0
  69. package/dist/ecs/component-editor-metadata.d.ts +19 -0
  70. package/dist/ecs/component-editor-metadata.d.ts.map +1 -0
  71. package/dist/ecs/component-editor-metadata.js +19 -0
  72. package/dist/ecs/component-editor-metadata.js.map +1 -0
  73. package/dist/ecs/component-manifest.d.ts +24 -0
  74. package/dist/ecs/component-manifest.d.ts.map +1 -0
  75. package/dist/ecs/component-manifest.js +121 -0
  76. package/dist/ecs/component-manifest.js.map +1 -0
  77. package/dist/ecs/component.d.ts +1 -0
  78. package/dist/ecs/component.d.ts.map +1 -1
  79. package/dist/ecs/entity.d.ts +20 -2
  80. package/dist/ecs/entity.d.ts.map +1 -1
  81. package/dist/ecs/entity.js +59 -3
  82. package/dist/ecs/entity.js.map +1 -1
  83. package/dist/ecs/index.d.ts +3 -1
  84. package/dist/ecs/index.d.ts.map +1 -1
  85. package/dist/ecs/system.d.ts +9 -0
  86. package/dist/ecs/system.d.ts.map +1 -1
  87. package/dist/ecs/system.js.map +1 -1
  88. package/dist/ecs/world.d.ts +160 -5
  89. package/dist/ecs/world.d.ts.map +1 -1
  90. package/dist/ecs/world.js +306 -19
  91. package/dist/ecs/world.js.map +1 -1
  92. package/dist/environment/dome-gradient.d.ts +3 -2
  93. package/dist/environment/dome-gradient.d.ts.map +1 -1
  94. package/dist/environment/dome-gradient.js +2 -5
  95. package/dist/environment/dome-gradient.js.map +1 -1
  96. package/dist/environment/dome-texture.d.ts +1 -1
  97. package/dist/environment/dome-texture.d.ts.map +1 -1
  98. package/dist/environment/dome-texture.js +0 -4
  99. package/dist/environment/dome-texture.js.map +1 -1
  100. package/dist/environment/environment-system.d.ts +20 -4
  101. package/dist/environment/environment-system.d.ts.map +1 -1
  102. package/dist/environment/environment-system.js +79 -61
  103. package/dist/environment/environment-system.js.map +1 -1
  104. package/dist/environment/gradient-environment.d.ts.map +1 -1
  105. package/dist/environment/gradient-environment.js +13 -7
  106. package/dist/environment/gradient-environment.js.map +1 -1
  107. package/dist/environment/ibl-gradient.d.ts +1 -1
  108. package/dist/environment/ibl-gradient.d.ts.map +1 -1
  109. package/dist/environment/ibl-gradient.js +0 -4
  110. package/dist/environment/ibl-gradient.js.map +1 -1
  111. package/dist/environment/ibl-texture.d.ts +1 -1
  112. package/dist/environment/ibl-texture.d.ts.map +1 -1
  113. package/dist/environment/ibl-texture.js +0 -4
  114. package/dist/environment/ibl-texture.js.map +1 -1
  115. package/dist/environment/scene-ar-environment.d.ts +39 -0
  116. package/dist/environment/scene-ar-environment.d.ts.map +1 -0
  117. package/dist/environment/scene-ar-environment.js +93 -0
  118. package/dist/environment/scene-ar-environment.js.map +1 -0
  119. package/dist/environment-raycast/environment-raycast.d.ts +21 -21
  120. package/dist/environment-raycast/environment-raycast.d.ts.map +1 -1
  121. package/dist/environment-raycast/environment-raycast.js +0 -4
  122. package/dist/environment-raycast/environment-raycast.js.map +1 -1
  123. package/dist/environment-raycast/raycast-target.d.ts +1 -1
  124. package/dist/environment-raycast/raycast-target.d.ts.map +1 -1
  125. package/dist/environment-raycast/raycast-target.js +0 -4
  126. package/dist/environment-raycast/raycast-target.js.map +1 -1
  127. package/dist/grab/distance-grabbable.d.ts +1 -1
  128. package/dist/grab/distance-grabbable.d.ts.map +1 -1
  129. package/dist/grab/distance-grabbable.js +0 -4
  130. package/dist/grab/distance-grabbable.js.map +1 -1
  131. package/dist/grab/grab-helpers.d.ts +39 -0
  132. package/dist/grab/grab-helpers.d.ts.map +1 -0
  133. package/dist/grab/grab-helpers.js +59 -0
  134. package/dist/grab/grab-helpers.js.map +1 -0
  135. package/dist/grab/grab-system.d.ts +47 -2
  136. package/dist/grab/grab-system.d.ts.map +1 -1
  137. package/dist/grab/grab-system.js +67 -8
  138. package/dist/grab/grab-system.js.map +1 -1
  139. package/dist/grab/grab-warnings.d.ts +14 -0
  140. package/dist/grab/grab-warnings.d.ts.map +1 -0
  141. package/dist/grab/grab-warnings.js +53 -0
  142. package/dist/grab/grab-warnings.js.map +1 -0
  143. package/dist/grab/grabbed.d.ts.map +1 -1
  144. package/dist/grab/grabbed.js +0 -4
  145. package/dist/grab/grabbed.js.map +1 -1
  146. package/dist/grab/handles.d.ts +1 -1
  147. package/dist/grab/handles.d.ts.map +1 -1
  148. package/dist/grab/handles.js +8 -7
  149. package/dist/grab/handles.js.map +1 -1
  150. package/dist/grab/one-hand-grabbable.d.ts +1 -1
  151. package/dist/grab/one-hand-grabbable.d.ts.map +1 -1
  152. package/dist/grab/one-hand-grabbable.js +0 -4
  153. package/dist/grab/one-hand-grabbable.js.map +1 -1
  154. package/dist/grab/two-hands-grabbable.d.ts +1 -1
  155. package/dist/grab/two-hands-grabbable.d.ts.map +1 -1
  156. package/dist/grab/two-hands-grabbable.js +0 -4
  157. package/dist/grab/two-hands-grabbable.js.map +1 -1
  158. package/dist/index.d.ts +4 -0
  159. package/dist/index.d.ts.map +1 -1
  160. package/dist/index.js +42 -16
  161. package/dist/index.js.map +1 -1
  162. package/dist/init/world-initializer.d.ts +12 -8
  163. package/dist/init/world-initializer.d.ts.map +1 -1
  164. package/dist/init/world-initializer.js +127 -67
  165. package/dist/init/world-initializer.js.map +1 -1
  166. package/dist/init/xr.d.ts +1 -2
  167. package/dist/init/xr.d.ts.map +1 -1
  168. package/dist/init/xr.js +12 -3
  169. package/dist/init/xr.js.map +1 -1
  170. package/dist/input/input-system.d.ts +59 -59
  171. package/dist/input/input-system.d.ts.map +1 -1
  172. package/dist/input/input-system.js +26 -13
  173. package/dist/input/input-system.js.map +1 -1
  174. package/dist/input/state-tags.d.ts.map +1 -1
  175. package/dist/input/state-tags.js +0 -4
  176. package/dist/input/state-tags.js.map +1 -1
  177. package/dist/layers/xr-cylinder-layer.d.ts +1 -1
  178. package/dist/layers/xr-cylinder-layer.d.ts.map +1 -1
  179. package/dist/layers/xr-cylinder-layer.js +0 -4
  180. package/dist/layers/xr-cylinder-layer.js.map +1 -1
  181. package/dist/layers/xr-layer-state.d.ts +47 -0
  182. package/dist/layers/xr-layer-state.d.ts.map +1 -0
  183. package/dist/layers/xr-layer-state.js +23 -0
  184. package/dist/layers/xr-layer-state.js.map +1 -0
  185. package/dist/layers/xr-layer-system.d.ts +46 -94
  186. package/dist/layers/xr-layer-system.d.ts.map +1 -1
  187. package/dist/layers/xr-layer-system.js +4 -28
  188. package/dist/layers/xr-layer-system.js.map +1 -1
  189. package/dist/layers/xr-quad-layer.d.ts +1 -1
  190. package/dist/layers/xr-quad-layer.d.ts.map +1 -1
  191. package/dist/layers/xr-quad-layer.js +0 -4
  192. package/dist/layers/xr-quad-layer.js.map +1 -1
  193. package/dist/level/index.d.ts +6 -2
  194. package/dist/level/index.d.ts.map +1 -1
  195. package/dist/level/level-component-applier.d.ts +24 -0
  196. package/dist/level/level-component-applier.d.ts.map +1 -0
  197. package/dist/level/level-component-applier.js +199 -0
  198. package/dist/level/level-component-applier.js.map +1 -0
  199. package/dist/level/level-player-rig.d.ts +17 -0
  200. package/dist/level/level-player-rig.d.ts.map +1 -0
  201. package/dist/level/level-player-rig.js +113 -0
  202. package/dist/level/level-player-rig.js.map +1 -0
  203. package/dist/level/level-root.d.ts.map +1 -1
  204. package/dist/level/level-root.js +0 -4
  205. package/dist/level/level-root.js.map +1 -1
  206. package/dist/level/level-scene-environment.d.ts +28 -0
  207. package/dist/level/level-scene-environment.d.ts.map +1 -0
  208. package/dist/level/level-scene-environment.js +121 -0
  209. package/dist/level/level-scene-environment.js.map +1 -0
  210. package/dist/level/level-scene-json-importer.d.ts +53 -0
  211. package/dist/level/level-scene-json-importer.d.ts.map +1 -0
  212. package/dist/level/level-scene-json-importer.js +256 -0
  213. package/dist/level/level-scene-json-importer.js.map +1 -0
  214. package/dist/level/level-scene-material.d.ts +22 -0
  215. package/dist/level/level-scene-material.d.ts.map +1 -0
  216. package/dist/level/level-scene-material.js +231 -0
  217. package/dist/level/level-scene-material.js.map +1 -0
  218. package/dist/level/level-scene-object.d.ts +49 -0
  219. package/dist/level/level-scene-object.d.ts.map +1 -0
  220. package/dist/level/level-scene-object.js +396 -0
  221. package/dist/level/level-scene-object.js.map +1 -0
  222. package/dist/level/level-scene-primitive.d.ts +21 -0
  223. package/dist/level/level-scene-primitive.d.ts.map +1 -0
  224. package/dist/level/level-scene-primitive.js +159 -0
  225. package/dist/level/level-scene-primitive.js.map +1 -0
  226. package/dist/level/level-system.d.ts +14 -20
  227. package/dist/level/level-system.d.ts.map +1 -1
  228. package/dist/level/level-system.js +114 -52
  229. package/dist/level/level-system.js.map +1 -1
  230. package/dist/level/level-tag.d.ts +1 -1
  231. package/dist/level/level-tag.d.ts.map +1 -1
  232. package/dist/level/level-tag.js +0 -4
  233. package/dist/level/level-tag.js.map +1 -1
  234. package/dist/lighting/index.d.ts +10 -0
  235. package/dist/lighting/index.d.ts.map +1 -0
  236. package/dist/lighting/index.js +4 -0
  237. package/dist/lighting/index.js.map +1 -0
  238. package/dist/lighting/light-binding.d.ts +76 -0
  239. package/dist/lighting/light-binding.d.ts.map +1 -0
  240. package/dist/lighting/light-binding.js +229 -0
  241. package/dist/lighting/light-binding.js.map +1 -0
  242. package/dist/lighting/light-components.d.ts +885 -0
  243. package/dist/lighting/light-components.d.ts.map +1 -0
  244. package/dist/lighting/light-components.js +146 -0
  245. package/dist/lighting/light-components.js.map +1 -0
  246. package/dist/lighting/light-system.d.ts +919 -0
  247. package/dist/lighting/light-system.d.ts.map +1 -0
  248. package/dist/lighting/light-system.js +244 -0
  249. package/dist/lighting/light-system.js.map +1 -0
  250. package/dist/locomotion/locomotion-environment.d.ts +27 -0
  251. package/dist/locomotion/locomotion-environment.d.ts.map +1 -0
  252. package/dist/locomotion/locomotion-environment.js +22 -0
  253. package/dist/locomotion/locomotion-environment.js.map +1 -0
  254. package/dist/locomotion/locomotion-input-provider.d.ts +1 -1
  255. package/dist/locomotion/locomotion.d.ts +5 -34
  256. package/dist/locomotion/locomotion.d.ts.map +1 -1
  257. package/dist/locomotion/locomotion.js +33 -31
  258. package/dist/locomotion/locomotion.js.map +1 -1
  259. package/dist/locomotion/materials/line.js +1 -1
  260. package/dist/locomotion/slide.d.ts +2 -2
  261. package/dist/locomotion/slide.d.ts.map +1 -1
  262. package/dist/locomotion/slide.js +3 -6
  263. package/dist/locomotion/slide.js.map +1 -1
  264. package/dist/locomotion/teleport.d.ts +2 -2
  265. package/dist/locomotion/teleport.d.ts.map +1 -1
  266. package/dist/locomotion/teleport.js +1 -4
  267. package/dist/locomotion/teleport.js.map +1 -1
  268. package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
  269. package/dist/mcp/ecs-debug-tools.js +10 -2
  270. package/dist/mcp/ecs-debug-tools.js.map +1 -1
  271. package/dist/mcp/mcp-runtime.d.ts.map +1 -1
  272. package/dist/mcp/mcp-runtime.js +4 -1
  273. package/dist/mcp/mcp-runtime.js.map +1 -1
  274. package/dist/mcp/scene-tools.d.ts +152 -1
  275. package/dist/mcp/scene-tools.d.ts.map +1 -1
  276. package/dist/mcp/scene-tools.js +538 -8
  277. package/dist/mcp/scene-tools.js.map +1 -1
  278. package/dist/physics/index.js +12 -0
  279. package/dist/physics/index.js.map +1 -0
  280. package/dist/physics/physics-system.d.ts +704 -11
  281. package/dist/physics/physics-system.d.ts.map +1 -1
  282. package/dist/physics/physics-system.js +310 -29
  283. package/dist/physics/physics-system.js.map +1 -1
  284. package/dist/physics/physicsBody.d.ts +40 -1
  285. package/dist/physics/physicsBody.d.ts.map +1 -1
  286. package/dist/physics/physicsBody.js +39 -1
  287. package/dist/physics/physicsBody.js.map +1 -1
  288. package/dist/physics/physicsManipulation.d.ts +1 -1
  289. package/dist/physics/physicsManipulation.d.ts.map +1 -1
  290. package/dist/physics/physicsManipulation.js +0 -1
  291. package/dist/physics/physicsManipulation.js.map +1 -1
  292. package/dist/physics/physicsShape.d.ts +5 -3
  293. package/dist/physics/physicsShape.d.ts.map +1 -1
  294. package/dist/physics/physicsShape.js +2 -2
  295. package/dist/physics/physicsShape.js.map +1 -1
  296. package/dist/physics/utils.d.ts +10 -0
  297. package/dist/physics/utils.d.ts.map +1 -1
  298. package/dist/physics/utils.js +82 -48
  299. package/dist/physics/utils.js.map +1 -1
  300. package/dist/project/index.d.ts +11 -0
  301. package/dist/project/index.d.ts.map +1 -0
  302. package/dist/project/index.js +5 -0
  303. package/dist/project/index.js.map +1 -0
  304. package/dist/project/normalize.d.ts +19 -0
  305. package/dist/project/normalize.d.ts.map +1 -0
  306. package/dist/project/normalize.js +206 -0
  307. package/dist/project/normalize.js.map +1 -0
  308. package/dist/project/paths.d.ts +21 -0
  309. package/dist/project/paths.d.ts.map +1 -0
  310. package/dist/project/paths.js +75 -0
  311. package/dist/project/paths.js.map +1 -0
  312. package/dist/project/types.d.ts +159 -0
  313. package/dist/project/types.d.ts.map +1 -0
  314. package/dist/project/types.js +11 -0
  315. package/dist/project/types.js.map +1 -0
  316. package/dist/project/validation.d.ts +17 -0
  317. package/dist/project/validation.d.ts.map +1 -0
  318. package/dist/project/validation.js +501 -0
  319. package/dist/project/validation.js.map +1 -0
  320. package/dist/scene-understanding/anchor.d.ts +1 -1
  321. package/dist/scene-understanding/anchor.d.ts.map +1 -1
  322. package/dist/scene-understanding/anchor.js +0 -4
  323. package/dist/scene-understanding/anchor.js.map +1 -1
  324. package/dist/scene-understanding/mesh.d.ts +1 -1
  325. package/dist/scene-understanding/mesh.d.ts.map +1 -1
  326. package/dist/scene-understanding/mesh.js +0 -4
  327. package/dist/scene-understanding/mesh.js.map +1 -1
  328. package/dist/scene-understanding/plane.d.ts +1 -1
  329. package/dist/scene-understanding/plane.d.ts.map +1 -1
  330. package/dist/scene-understanding/plane.js +0 -4
  331. package/dist/scene-understanding/plane.js.map +1 -1
  332. package/dist/scene-understanding/scene-understanding-system.d.ts +25 -4
  333. package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
  334. package/dist/scene-understanding/scene-understanding-system.js +76 -57
  335. package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
  336. package/dist/schemas/iwsdk-project.v1.schema.json +305 -0
  337. package/dist/transform/transform-component.d.ts +32 -0
  338. package/dist/transform/transform-component.d.ts.map +1 -0
  339. package/dist/transform/transform-component.js +24 -0
  340. package/dist/transform/transform-component.js.map +1 -0
  341. package/dist/transform/transform.d.ts +10 -43
  342. package/dist/transform/transform.d.ts.map +1 -1
  343. package/dist/transform/transform.js +9 -28
  344. package/dist/transform/transform.js.map +1 -1
  345. package/dist/ui/document.d.ts +9 -2
  346. package/dist/ui/document.d.ts.map +1 -1
  347. package/dist/ui/document.js +30 -5
  348. package/dist/ui/document.js.map +1 -1
  349. package/dist/ui/follow-component.d.ts +57 -0
  350. package/dist/ui/follow-component.d.ts.map +1 -0
  351. package/dist/ui/follow-component.js +38 -0
  352. package/dist/ui/follow-component.js.map +1 -0
  353. package/dist/ui/follow.d.ts +29 -103
  354. package/dist/ui/follow.d.ts.map +1 -1
  355. package/dist/ui/follow.js +10 -51
  356. package/dist/ui/follow.js.map +1 -1
  357. package/dist/ui/index.d.ts +3 -0
  358. package/dist/ui/index.d.ts.map +1 -1
  359. package/dist/ui/panel-components.d.ts +29 -0
  360. package/dist/ui/panel-components.d.ts.map +1 -0
  361. package/dist/ui/panel-components.js +22 -0
  362. package/dist/ui/panel-components.js.map +1 -0
  363. package/dist/ui/screenspace-component.d.ts +39 -0
  364. package/dist/ui/screenspace-component.d.ts.map +1 -0
  365. package/dist/ui/screenspace-component.js +21 -0
  366. package/dist/ui/screenspace-component.js.map +1 -0
  367. package/dist/ui/screenspace.d.ts +47 -135
  368. package/dist/ui/screenspace.d.ts.map +1 -1
  369. package/dist/ui/screenspace.js +127 -65
  370. package/dist/ui/screenspace.js.map +1 -1
  371. package/dist/ui/ui.d.ts +20 -122
  372. package/dist/ui/ui.d.ts.map +1 -1
  373. package/dist/ui/ui.js +44 -107
  374. package/dist/ui/ui.js.map +1 -1
  375. package/dist/ui/uikitml-asset.d.ts +25 -0
  376. package/dist/ui/uikitml-asset.d.ts.map +1 -0
  377. package/dist/ui/uikitml-asset.js +56 -0
  378. package/dist/ui/uikitml-asset.js.map +1 -0
  379. package/dist/ui/uikitml.d.ts +41 -0
  380. package/dist/ui/uikitml.d.ts.map +1 -0
  381. package/dist/ui/uikitml.js +119 -0
  382. package/dist/ui/uikitml.js.map +1 -0
  383. package/dist/vendor/draco/gltf/draco_encoder.js +0 -0
  384. package/dist/version.d.ts +1 -1
  385. package/dist/version.js +1 -1
  386. package/dist/visibility/visibility-component.d.ts +14 -0
  387. package/dist/visibility/visibility-component.d.ts.map +1 -0
  388. package/dist/visibility/visibility-component.js +15 -0
  389. package/dist/visibility/visibility-component.js.map +1 -0
  390. package/dist/visibility/visibility.d.ts +4 -11
  391. package/dist/visibility/visibility.d.ts.map +1 -1
  392. package/dist/visibility/visibility.js +9 -15
  393. package/dist/visibility/visibility.js.map +1 -1
  394. package/package.json +71 -19
  395. package/LICENSE +0 -21
  396. package/dist/ecs/component-registry.d.ts +0 -54
  397. package/dist/ecs/component-registry.d.ts.map +0 -1
  398. package/dist/ecs/component-registry.js +0 -86
  399. package/dist/ecs/component-registry.js.map +0 -1
  400. package/dist/level/level-entity-creator.d.ts +0 -27
  401. package/dist/level/level-entity-creator.d.ts.map +0 -1
  402. package/dist/level/level-entity-creator.js +0 -111
  403. package/dist/level/level-entity-creator.js.map +0 -1
  404. package/dist/level/level-glxf-importer.d.ts +0 -22
  405. package/dist/level/level-glxf-importer.d.ts.map +0 -1
  406. package/dist/level/level-glxf-importer.js +0 -40
  407. package/dist/level/level-glxf-importer.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"light-system.d.ts","sourceRoot":"","sources":["../../src/lighting/light-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqB5B,qBAAa,WAAY,SAAQ,gBAO/B;IACA,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqD;IAE9E,IAAI,IAAI,IAAI;IAuBZ,MAAM,IAAI,IAAI;IAad,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,MAAM;IAuBd,OAAO,CAAC,MAAM;CASf;AA8BD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,GACtB,SAAS,CAsDX;AAED,kFAAkF;AAClF,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,OAAO,GACb,SAAS,GAAG,SAAS,CA8EvB"}
@@ -0,0 +1,244 @@
1
+ import { createSystem } from '../ecs/system.js';
2
+ import { LightBinding } from './light-binding.js';
3
+ import { SpotLightComponent, RectAreaLightComponent, PointLightComponent, HemisphereLightComponent, DirectionalLightComponent, AmbientLightComponent } from './light-components.js';
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
+ const COMPONENTS = [
12
+ AmbientLightComponent,
13
+ HemisphereLightComponent,
14
+ DirectionalLightComponent,
15
+ PointLightComponent,
16
+ SpotLightComponent,
17
+ RectAreaLightComponent,
18
+ ];
19
+ class LightSystem extends createSystem({
20
+ ambientLights: { required: [AmbientLightComponent] },
21
+ directionalLights: { required: [DirectionalLightComponent] },
22
+ hemisphereLights: { required: [HemisphereLightComponent] },
23
+ pointLights: { required: [PointLightComponent] },
24
+ rectAreaLights: { required: [RectAreaLightComponent] },
25
+ spotLights: { required: [SpotLightComponent] },
26
+ }) {
27
+ constructor() {
28
+ super(...arguments);
29
+ this.bindings = new Map();
30
+ }
31
+ init() {
32
+ const entries = [
33
+ [this.queries.ambientLights, AmbientLightComponent],
34
+ [this.queries.hemisphereLights, HemisphereLightComponent],
35
+ [this.queries.directionalLights, DirectionalLightComponent],
36
+ [this.queries.pointLights, PointLightComponent],
37
+ [this.queries.spotLights, SpotLightComponent],
38
+ [this.queries.rectAreaLights, RectAreaLightComponent],
39
+ ];
40
+ for (const [query, component] of entries) {
41
+ this.cleanupFuncs.push(query.subscribe('qualify', (entity) => this.attach(entity, component), true), query.subscribe('disqualify', (entity) => this.detach(entity, component.id)));
42
+ }
43
+ }
44
+ update() {
45
+ for (const [entity, byComponent] of this.bindings) {
46
+ for (const component of COMPONENTS) {
47
+ const binding = byComponent.get(component.id);
48
+ if (binding == null) {
49
+ continue;
50
+ }
51
+ binding.update(readLightSpec(entity, component));
52
+ binding.syncTransform();
53
+ }
54
+ }
55
+ }
56
+ destroy() {
57
+ for (const byComponent of this.bindings.values()) {
58
+ for (const binding of byComponent.values()) {
59
+ binding.dispose();
60
+ }
61
+ }
62
+ this.bindings.clear();
63
+ super.destroy();
64
+ }
65
+ attach(entity, component) {
66
+ if (entity.object3D == null) {
67
+ return;
68
+ }
69
+ let byComponent = this.bindings.get(entity);
70
+ if (byComponent == null) {
71
+ byComponent = new Map();
72
+ this.bindings.set(entity, byComponent);
73
+ }
74
+ const componentId = component.id;
75
+ if (byComponent.has(componentId)) {
76
+ return;
77
+ }
78
+ byComponent.set(componentId, new LightBinding(entity.object3D, this.world.scene, readLightSpec(entity, component)));
79
+ }
80
+ detach(entity, componentId) {
81
+ const byComponent = this.bindings.get(entity);
82
+ const binding = byComponent === null || byComponent === void 0 ? void 0 : byComponent.get(componentId);
83
+ binding === null || binding === void 0 ? void 0 : binding.dispose();
84
+ byComponent === null || byComponent === void 0 ? void 0 : byComponent.delete(componentId);
85
+ if ((byComponent === null || byComponent === void 0 ? void 0 : byComponent.size) === 0) {
86
+ this.bindings.delete(entity);
87
+ }
88
+ }
89
+ }
90
+ function readColor(entity, component, field) {
91
+ return entity.getVectorView(component, field);
92
+ }
93
+ function readNumber(entity, component, field) {
94
+ return Number(entity.getValue(component, field));
95
+ }
96
+ function readShadow(entity, component) {
97
+ return {
98
+ castShadow: Boolean(entity.getValue(component, 'castShadow')),
99
+ shadowBias: readNumber(entity, component, 'shadowBias'),
100
+ shadowCameraFar: readNumber(entity, component, 'shadowCameraFar'),
101
+ shadowCameraNear: readNumber(entity, component, 'shadowCameraNear'),
102
+ shadowMapSize: readNumber(entity, component, 'shadowMapSize'),
103
+ shadowNormalBias: readNumber(entity, component, 'shadowNormalBias'),
104
+ shadowRadius: readNumber(entity, component, 'shadowRadius'),
105
+ };
106
+ }
107
+ function readLightSpec(entity, component) {
108
+ switch (component.id) {
109
+ case 'AmbientLight':
110
+ return {
111
+ color: readColor(entity, component, 'color'),
112
+ intensity: readNumber(entity, component, 'intensity'),
113
+ kind: 'ambient',
114
+ };
115
+ case 'HemisphereLight':
116
+ return {
117
+ groundColor: readColor(entity, component, 'groundColor'),
118
+ intensity: readNumber(entity, component, 'intensity'),
119
+ kind: 'hemisphere',
120
+ skyColor: readColor(entity, component, 'skyColor'),
121
+ };
122
+ case 'DirectionalLight':
123
+ return {
124
+ color: readColor(entity, component, 'color'),
125
+ intensity: readNumber(entity, component, 'intensity'),
126
+ kind: 'directional',
127
+ shadowCameraSize: readNumber(entity, component, 'shadowCameraSize'),
128
+ ...readShadow(entity, component),
129
+ };
130
+ case 'PointLight':
131
+ return {
132
+ color: readColor(entity, component, 'color'),
133
+ decay: readNumber(entity, component, 'decay'),
134
+ distance: readNumber(entity, component, 'distance'),
135
+ intensity: readNumber(entity, component, 'intensity'),
136
+ kind: 'point',
137
+ ...readShadow(entity, component),
138
+ };
139
+ case 'SpotLight':
140
+ return {
141
+ angleDeg: readNumber(entity, component, 'angleDeg'),
142
+ color: readColor(entity, component, 'color'),
143
+ decay: readNumber(entity, component, 'decay'),
144
+ distance: readNumber(entity, component, 'distance'),
145
+ intensity: readNumber(entity, component, 'intensity'),
146
+ kind: 'spot',
147
+ penumbra: readNumber(entity, component, 'penumbra'),
148
+ ...readShadow(entity, component),
149
+ };
150
+ case 'RectAreaLight':
151
+ return {
152
+ color: readColor(entity, component, 'color'),
153
+ height: readNumber(entity, component, 'height'),
154
+ intensity: readNumber(entity, component, 'intensity'),
155
+ kind: 'rect-area',
156
+ width: readNumber(entity, component, 'width'),
157
+ };
158
+ default:
159
+ throw new Error(`Unsupported light component "${component.id}"`);
160
+ }
161
+ }
162
+ /** Convert one serialized component payload to the shared light specification. */
163
+ function lightSpecFromComponentValue(componentName, value) {
164
+ const componentId = componentName.startsWith('com.iwsdk.components.')
165
+ ? componentName.slice('com.iwsdk.components.'.length)
166
+ : componentName;
167
+ const component = COMPONENTS.find((entry) => entry.id === componentId);
168
+ if (component == null) {
169
+ return undefined;
170
+ }
171
+ const payload = value != null && typeof value === 'object' && !Array.isArray(value)
172
+ ? value
173
+ : {};
174
+ const field = (name) => {
175
+ var _a, _b;
176
+ return (_a = payload[name]) !== null && _a !== void 0 ? _a : (_b = component.schema[name]) === null || _b === void 0 ? void 0 : _b.default;
177
+ };
178
+ const numeric = (name) => Number(field(name));
179
+ const color = (name) => field(name);
180
+ const shadow = () => ({
181
+ castShadow: Boolean(field('castShadow')),
182
+ shadowBias: numeric('shadowBias'),
183
+ shadowCameraFar: numeric('shadowCameraFar'),
184
+ shadowCameraNear: numeric('shadowCameraNear'),
185
+ shadowMapSize: numeric('shadowMapSize'),
186
+ shadowNormalBias: numeric('shadowNormalBias'),
187
+ shadowRadius: numeric('shadowRadius'),
188
+ });
189
+ switch (componentId) {
190
+ case 'AmbientLight':
191
+ return {
192
+ color: color('color'),
193
+ intensity: numeric('intensity'),
194
+ kind: 'ambient',
195
+ };
196
+ case 'HemisphereLight':
197
+ return {
198
+ groundColor: color('groundColor'),
199
+ intensity: numeric('intensity'),
200
+ kind: 'hemisphere',
201
+ skyColor: color('skyColor'),
202
+ };
203
+ case 'DirectionalLight':
204
+ return {
205
+ color: color('color'),
206
+ intensity: numeric('intensity'),
207
+ kind: 'directional',
208
+ shadowCameraSize: numeric('shadowCameraSize'),
209
+ ...shadow(),
210
+ };
211
+ case 'PointLight':
212
+ return {
213
+ color: color('color'),
214
+ decay: numeric('decay'),
215
+ distance: numeric('distance'),
216
+ intensity: numeric('intensity'),
217
+ kind: 'point',
218
+ ...shadow(),
219
+ };
220
+ case 'SpotLight':
221
+ return {
222
+ angleDeg: numeric('angleDeg'),
223
+ color: color('color'),
224
+ decay: numeric('decay'),
225
+ distance: numeric('distance'),
226
+ intensity: numeric('intensity'),
227
+ kind: 'spot',
228
+ penumbra: numeric('penumbra'),
229
+ ...shadow(),
230
+ };
231
+ case 'RectAreaLight':
232
+ return {
233
+ color: color('color'),
234
+ height: numeric('height'),
235
+ intensity: numeric('intensity'),
236
+ kind: 'rect-area',
237
+ width: numeric('width'),
238
+ };
239
+ }
240
+ return undefined;
241
+ }
242
+
243
+ export { LightSystem, lightSpecFromComponentValue, readLightSpec };
244
+ //# sourceMappingURL=light-system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"light-system.js","sources":["../../src/lighting/light-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
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/component.js';
8
+ /** Marks an entity's Object3D hierarchy as walkable locomotion geometry. */
9
+ export declare const LocomotionEnvironment: import("elics").Component<{
10
+ type: {
11
+ type: Types.Enum;
12
+ enum: {
13
+ readonly STATIC: "static";
14
+ readonly KINEMATIC: "kinematic";
15
+ };
16
+ default: "static";
17
+ };
18
+ _envHandle: {
19
+ type: Types.Float32;
20
+ default: number;
21
+ };
22
+ _initialized: {
23
+ type: Types.Boolean;
24
+ default: false;
25
+ };
26
+ }>;
27
+ //# sourceMappingURL=locomotion-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locomotion-environment.d.ts","sourceRoot":"","sources":["../../src/locomotion/locomotion-environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAE7D,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAYjC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { EnvironmentType } from '@iwsdk/locomotor';
2
+ import { createComponent, Types } from 'elics';
3
+
4
+ /**
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ /** Marks an entity's Object3D hierarchy as walkable locomotion geometry. */
11
+ const LocomotionEnvironment = createComponent('LocomotionEnvironment', {
12
+ type: {
13
+ type: Types.Enum,
14
+ enum: EnvironmentType,
15
+ default: EnvironmentType.STATIC,
16
+ },
17
+ _envHandle: { type: Types.Float32, default: 0 },
18
+ _initialized: { type: Types.Boolean, default: false },
19
+ }, 'Locomotion environment component that holds the environment mesh group');
20
+
21
+ export { LocomotionEnvironment };
22
+ //# sourceMappingURL=locomotion-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locomotion-environment.js","sources":["../../src/locomotion/locomotion-environment.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAKH;AACO,MAAM,qBAAqB,GAAG,eAAe,CAClD,uBAAuB,EACvB;AACE,IAAA,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,eAAe,CAAC,MAAM;AAChC,KAAA;IACD,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;IAC/C,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;CACtD,EACD,wEAAwE;;;;"}
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import type { World } from '../ecs/index.js';
7
+ import type { World } from '../ecs/world.js';
8
8
  import { Quaternion, Vector2, Vector3 } from '../runtime/index.js';
9
9
  export type BrowserLocomotionControls = boolean | {
10
10
  keyboard?: boolean;
@@ -5,40 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { Types } from '../ecs/component.js';
8
+ import { Vector3 } from '../runtime/index.js';
8
9
  import { TurningMethod } from './turn.js';
9
- /**
10
- * Marks an entity's object3D hierarchy as walkable environment for the locomotion engine.
11
- *
12
- * @remarks
13
- * - Set {@link EnvironmentType} to `STATIC` for fixed geometry (merged once) or `KINEMATIC` for moving platforms
14
- * (matrices streamed each frame via {@link LocomotionSystem.update}).
15
- * - Attach this component to the environment root you want the player to stand on.
16
- *
17
- * @category Locomotion
18
- * @example
19
- * ```ts
20
- * const floor = world.createTransformEntity(gltf.scene);
21
- * floor.addComponent(LocomotionEnvironment, { type: EnvironmentType.STATIC });
22
- * ```
23
- */
24
- export declare const LocomotionEnvironment: import("elics").Component<{
25
- type: {
26
- type: Types.Enum;
27
- enum: {
28
- readonly STATIC: "static";
29
- readonly KINEMATIC: "kinematic";
30
- };
31
- default: "static";
32
- };
33
- _envHandle: {
34
- type: Types.Float32;
35
- default: number;
36
- };
37
- _initialized: {
38
- type: Types.Boolean;
39
- default: false;
40
- };
41
- }>;
10
+ export { LocomotionEnvironment } from './locomotion-environment.js';
42
11
  declare const LocomotionSystem_base: import("elics").SystemConstructor<{
43
12
  /** Starting player position before the first update. */
44
13
  initialPlayerPosition: {
@@ -238,6 +207,9 @@ export declare class LocomotionSystem extends LocomotionSystem_base {
238
207
  private slideSystem?;
239
208
  private turnSystem;
240
209
  private microGestureControlsEnabled;
210
+ private requestedPlayerPosition?;
211
+ /** Place the locomotion origin at an authored virtual-environment position. */
212
+ setPlayerPosition(position: Vector3): void;
241
213
  init(): void;
242
214
  private initLocomotor;
243
215
  private addEnvironmentToEngine;
@@ -245,5 +217,4 @@ export declare class LocomotionSystem extends LocomotionSystem_base {
245
217
  update(delta: number): void;
246
218
  destroy(): void;
247
219
  }
248
- export {};
249
220
  //# sourceMappingURL=locomotion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locomotion.d.ts","sourceRoot":"","sources":["../../src/locomotion/locomotion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAU7D,OAAO,EAAc,aAAa,EAAE,MAAM,WAAW,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAYjC,CAAC;;IAwBE,wDAAwD;;;;;IAExD,4EAA4E;;;;;IAE5E,0DAA0D;;;;;IAE1D,mCAAmC;;;;;IAEnC,oCAAoC;;;;;IAEpC,6BAA6B;;;;;IAE7B,6CAA6C;;;;;IAE7C,2DAA2D;;;;;IAE3D,0EAA0E;;;;;IAE1E,kCAAkC;;;;;IAElC,qCAAqC;;;;;IAErC,kCAAkC;;;;;IAElC,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;IAxB3E,wDAAwD;;;;;IAExD,4EAA4E;;;;;IAE5E,0DAA0D;;;;;IAE1D,mCAAmC;;;;;IAEnC,oCAAoC;;;;;IAEpC,6BAA6B;;;;;IAE7B,6CAA6C;;;;;IAE7C,2DAA2D;;;;;IAE3D,0EAA0E;;;;;IAE1E,kCAAkC;;;;;IAElC,qCAAqC;;;;;IAErC,kCAAkC;;;;;IAElC,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;AA9C/E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,qBAgCrC;IACC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAiC;IAEtD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,2BAA2B,CAAS;IAE5C,IAAI;YAoEU,aAAa;IA4C3B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,2BAA2B;IAYnC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAsC3B,OAAO,IAAI,IAAI;CAahB"}
1
+ {"version":3,"file":"locomotion.d.ts","sourceRoot":"","sources":["../../src/locomotion/locomotion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQ9C,OAAO,EAAc,aAAa,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;;IAwBhE,wDAAwD;;;;;IAExD,4EAA4E;;;;;IAE5E,0DAA0D;;;;;IAE1D,mCAAmC;;;;;IAEnC,oCAAoC;;;;;IAEpC,6BAA6B;;;;;IAE7B,6CAA6C;;;;;IAE7C,2DAA2D;;;;;IAE3D,0EAA0E;;;;;IAE1E,kCAAkC;;;;;IAElC,qCAAqC;;;;;IAErC,kCAAkC;;;;;IAElC,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;IAxB3E,wDAAwD;;;;;IAExD,4EAA4E;;;;;IAE5E,0DAA0D;;;;;IAE1D,mCAAmC;;;;;IAEnC,oCAAoC;;;;;IAEpC,6BAA6B;;;;;IAE7B,6CAA6C;;;;;IAE7C,2DAA2D;;;;;IAE3D,0EAA0E;;;;;IAE1E,kCAAkC;;;;;IAElC,qCAAqC;;;;;IAErC,kCAAkC;;;;;IAElC,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;AA9C/E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,qBAgCrC;IACC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAiC;IAEtD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,2BAA2B,CAAS;IAC5C,OAAO,CAAC,uBAAuB,CAAC,CAAU;IAE1C,+EAA+E;IAC/E,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAU1C,IAAI;YAoFU,aAAa;IAkD3B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,2BAA2B;IAYnC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAsC3B,OAAO,IAAI,IAAI;CAahB"}
@@ -1,7 +1,8 @@
1
- import { EnvironmentType, Locomotor } from '@iwsdk/locomotor';
2
- import { createComponent, Types } from 'elics';
1
+ import { Locomotor } from '@iwsdk/locomotor';
2
+ import { Types } from 'elics';
3
3
  import { createSystem } from '../ecs/system.js';
4
4
  import '../runtime/three.js';
5
+ import { LocomotionEnvironment } from './locomotion-environment.js';
5
6
  import { ActionLocomotionInputProvider } from './locomotion-input-provider.js';
6
7
  import { SlideSystem } from './slide.js';
7
8
  import { TeleportSystem } from './teleport.js';
@@ -14,30 +15,6 @@ import { Vector3 } from 'three';
14
15
  * This source code is licensed under the MIT license found in the
15
16
  * LICENSE file in the root directory of this source tree.
16
17
  */
17
- /**
18
- * Marks an entity's object3D hierarchy as walkable environment for the locomotion engine.
19
- *
20
- * @remarks
21
- * - Set {@link EnvironmentType} to `STATIC` for fixed geometry (merged once) or `KINEMATIC` for moving platforms
22
- * (matrices streamed each frame via {@link LocomotionSystem.update}).
23
- * - Attach this component to the environment root you want the player to stand on.
24
- *
25
- * @category Locomotion
26
- * @example
27
- * ```ts
28
- * const floor = world.createTransformEntity(gltf.scene);
29
- * floor.addComponent(LocomotionEnvironment, { type: EnvironmentType.STATIC });
30
- * ```
31
- */
32
- const LocomotionEnvironment = createComponent('LocomotionEnvironment', {
33
- type: {
34
- type: Types.Enum,
35
- enum: EnvironmentType,
36
- default: EnvironmentType.STATIC,
37
- }, // STATIC for fixed meshes, KINEMATIC for moving platforms
38
- _envHandle: { type: Types.Float32, default: 0 }, // Engine handle for this environment (internal)
39
- _initialized: { type: Types.Boolean, default: false }, // True after registration with Locomotor
40
- }, 'Locomotion environment component that holds the environment mesh group');
41
18
  /**
42
19
  * Physics‑driven locomotion (slide, teleport, turn) backed by the {@link @iwsdk/locomotor!Locomotor} engine.
43
20
  *
@@ -89,7 +66,25 @@ class LocomotionSystem extends createSystem({
89
66
  super(...arguments);
90
67
  this.microGestureControlsEnabled = false;
91
68
  }
69
+ /** Place the locomotion origin at an authored virtual-environment position. */
70
+ setPlayerPosition(position) {
71
+ var _a, _b;
72
+ (_a = this.requestedPlayerPosition) !== null && _a !== void 0 ? _a : (this.requestedPlayerPosition = new Vector3());
73
+ this.requestedPlayerPosition.copy(position);
74
+ this.config.initialPlayerPosition.value = position.toArray();
75
+ this.player.position.copy(position);
76
+ if ((_b = this.locomotor) === null || _b === void 0 ? void 0 : _b.isInitialized()) {
77
+ this.locomotor.teleport(position);
78
+ }
79
+ }
92
80
  init() {
81
+ // Apply the configured starting position synchronously. Native scene
82
+ // loading captures the current player transform as its restoration
83
+ // baseline, while the locomotor finishes initializing asynchronously.
84
+ this.player.position.fromArray(this.config.initialPlayerPosition.value);
85
+ this.cleanupFuncs.push(this.world.onAuthoredPlayerPosition((position) => {
86
+ this.setPlayerPosition(position);
87
+ }));
93
88
  this.inputProvider = new ActionLocomotionInputProvider(this.world);
94
89
  this.inputProvider.enableBrowserControls(this.config.browserControls.value);
95
90
  this.world.registerSystem(TurnSystem, {
@@ -134,17 +129,20 @@ class LocomotionSystem extends createSystem({
134
129
  }
135
130
  }));
136
131
  });
137
- this.queries.envs.subscribe('qualify', (entity) => {
132
+ // Register the env query subscriptions on cleanupFuncs (the config
133
+ // subscriptions above are already registered) so they're released when the
134
+ // LocomotionSystem is torn down.
135
+ this.cleanupFuncs.push(this.queries.envs.subscribe('qualify', (entity) => {
138
136
  this.addEnvironmentToEngine(entity);
139
- });
140
- this.queries.envs.subscribe('disqualify', (entity) => {
137
+ }), this.queries.envs.subscribe('disqualify', (entity) => {
141
138
  this.removeEnvironmentFromEngine(entity);
142
- });
139
+ }));
143
140
  }
144
141
  async initLocomotor() {
142
+ var _a, _b;
145
143
  // Create Locomotor with configuration
146
144
  const locomotorConfig = {
147
- initialPlayerPosition: new Vector3().fromArray(this.config.initialPlayerPosition.value),
145
+ initialPlayerPosition: (_b = (_a = this.requestedPlayerPosition) === null || _a === void 0 ? void 0 : _a.clone()) !== null && _b !== void 0 ? _b : new Vector3().fromArray(this.config.initialPlayerPosition.value),
148
146
  rayGravity: this.config.rayGravity.value,
149
147
  maxDropDistance: this.config.maxDropDistance.value,
150
148
  jumpHeight: this.config.jumpHeight.value,
@@ -153,6 +151,10 @@ class LocomotionSystem extends createSystem({
153
151
  };
154
152
  this.locomotor = new Locomotor(locomotorConfig);
155
153
  await this.locomotor.initialize();
154
+ if (this.requestedPlayerPosition != null) {
155
+ this.locomotor.teleport(this.requestedPlayerPosition);
156
+ this.player.position.copy(this.requestedPlayerPosition);
157
+ }
156
158
  // Register subsystems with locomotor
157
159
  this.world.registerSystem(TeleportSystem, {
158
160
  configData: {
@@ -1 +1 @@
1
- {"version":3,"file":"locomotion.js","sources":["../../src/locomotion/locomotion.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAAA;;;;;AAKG;AAeH;;;;;;;;;;;;;;AAcG;AACI,MAAM,qBAAqB,GAAG,eAAe,CAClD,uBAAuB,EACvB;AACE,IAAA,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,eAAe,CAAC,MAAM;AAChC,KAAA;AACD,IAAA,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;AAC/C,IAAA,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;CACtD,EACD,wEAAwE;AAG1E;;;;;;;;;;;;;;;;AAgBG;AACG,MAAO,gBAAiB,SAAQ,YAAY,CAChD;AACE,IAAA,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE;CAC5C,EACD;;AAEE,IAAA,qBAAqB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;;IAE/D,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;IAEjD,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;IAEpD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;;AAEjD,IAAA,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;;IAEpE,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;;IAElD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;AAEnD,IAAA,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;IAElD,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;IAEtD,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;IAEjD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;IAEnD,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;IAErD,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;CACxD,CACF,CAAA;AAhCD,IAAA,WAAA,GAAA;;QAuCU,IAAA,CAAA,2BAA2B,GAAG,KAAK;IA8M7C;IA5ME,IAAI,GAAA;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC;AAClE,QAAA,IAAI,CAAC,aAAa,CAAC,qBAAqB,CACtC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAkC,CAC/D;AAED,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE;AACpC,YAAA,UAAU,EAAE;AACV,gBAAA,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK;AAC9C,gBAAA,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK;AAC5C,gBAAA,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK;AAC5C,gBAAA,2BAA2B,EAAE,KAAK;gBAClC,aAAa,EAAE,IAAI,CAAC,aAAa;AAClC,aAAA;AACF,SAAA,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAE;AACnD,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,MAAK;AAC7B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;gBACzC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAClD,gBAAA,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK;gBACrD;AACF,YAAA,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC3C,gBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK;gBAChD;AACF,YAAA,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC5C,gBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK;gBACrD;AACF,YAAA,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;gBAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK;AACpD,YAAA,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;gBAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK;AACnD,YAAA,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;gBAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK;AACnD,YAAA,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;gBAC9C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;AACzD,YAAA,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;gBACzC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACpD,YAAA,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;gBAC3C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACtD,YAAA,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC5C,gBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK;gBACrD;YACF,CAAC,CAAC,CACH;AACH,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,KAAI;AAChD,YAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;AACrC,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,MAAM,KAAI;AACnD,YAAA,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC;AAC1C,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,MAAM,aAAa,GAAA;;AAEzB,QAAA,MAAM,eAAe,GAAoB;AACvC,YAAA,qBAAqB,EAAE,IAAI,OAAO,EAAE,CAAC,SAAS,CAC5C,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAiB,CACpD;AACD,YAAA,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAe;AAClD,YAAA,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAe;AAC5D,YAAA,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAe;AAClD,YAAA,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAe;AACtD,YAAA,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAgB;SAClD;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC;AAC/C,QAAA,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;;AAGjC,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE;AACxC,YAAA,UAAU,EAAE;AACV,gBAAA,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;gBACxC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;AACjC,gBAAA,2BAA2B,EAAE,KAAK;AACnC,aAAA;AACF,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE;AACrC,YAAA,UAAU,EAAE;AACV,gBAAA,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK;AACxC,gBAAA,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK;AAC9C,gBAAA,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK;gBAC9C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;AAClC,aAAA;AACF,SAAA,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;;QAGpD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC/C,YAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;QACrC;IACF;AAEQ,IAAA,sBAAsB,CAAC,MAAc,EAAA;;QAC3C,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,EAAE,CAAA,EAAE;YACpC;QACF;QACA,IAAI,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,cAAc,CAAC,EAAE;AAC1D,YAAA,OAAO;QACT;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;QAChC,IAAI,EAAC,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAE,UAAU,CAAA,EAAE;YACzB;QACF;QAEA,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;AAE9D,QAAA,IAAI,OAAO,KAAK,IAAI,EAAE;AACpB,YAAA,IAAI;;AAEF,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;;gBAGlE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,YAAY,EAAE,SAAS,CAAC;gBAC/D,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,cAAc,EAAE,IAAI,CAAC;YAC9D;YAAE,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC;YACzE;QACF;IACF;AAEQ,IAAA,2BAA2B,CAAC,MAAc,EAAA;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB;QACF;QACA,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,YAAY,CAAC;AACtE,QAAA,IAAI,SAAS,KAAK,CAAC,EAAE;AACnB,YAAA,OAAO;QACT;AAAO,aAAA,IAAI,SAAS,KAAK,IAAI,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC7C;IACF;AAEA,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB;QACF;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE;AAC5C,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAGlD,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;YAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK;YACvC,IAAI,EAAE,EAAE;;AAEN,gBAAA,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;AAC5B,oBAAA,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE;AACrC,wBAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI;AACvC,wBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;4BACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,GAAG,IAAI;wBACjE;AACA,wBAAA,IAAI,IAAI,CAAC,cAAc,EAAE;4BACvB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,GAAG,IAAI;wBACrE;oBACF;gBACF;AAAO,qBAAA,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;AACnC,oBAAA,IAAI,IAAI,CAAC,2BAA2B,EAAE;AACpC,wBAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK;AACxC,wBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;4BACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,GAAG,KAAK;wBAClE;AACA,wBAAA,IAAI,IAAI,CAAC,cAAc,EAAE;4BACvB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,GAAG,KAAK;wBACtE;oBACF;gBACF;YACF;QACF;IACF;IAEA,OAAO,GAAA;QACL,KAAK,CAAC,OAAO,EAAE;AACf,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;QAC5B;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC;AACvC,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAC7C;AACA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAC1C;IACF;AACD;;;;"}
1
+ {"version":3,"file":"locomotion.js","sources":["../../src/locomotion/locomotion.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import '../../runtime/three.js';
2
- import { Vector3, Color, UniformsLib, UniformsUtils, ShaderLib, ShaderMaterial } from 'three';
2
+ import { Vector3, Color, UniformsLib, ShaderLib, UniformsUtils, ShaderMaterial } from 'three';
3
3
 
4
4
  /**
5
5
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import { Types } from '../ecs/index.js';
7
+ import { Types } from '../ecs/component.js';
8
8
  declare const SlideSystem_base: import("elics").SystemConstructor<{
9
9
  /** Locomotor engine shared across locomotion systems. */
10
10
  locomotor: {
@@ -31,7 +31,7 @@ declare const SlideSystem_base: import("elics").SystemConstructor<{
31
31
  type: Types.Boolean;
32
32
  default: true;
33
33
  };
34
- }, {}, import("../ecs/world.js").World, import("../ecs/system.js").System<{
34
+ }, {}, import("../index.js").World, import("../ecs/system.js").System<{
35
35
  /** Locomotor engine shared across locomotion systems. */
36
36
  locomotor: {
37
37
  type: Types.Object;
@@ -1 +1 @@
1
- {"version":3,"file":"slide.d.ts","sourceRoot":"","sources":["../../src/locomotion/slide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,EAAgB,MAAM,iBAAiB,CAAC;;IA2ElD,yDAAyD;;;;;IAEzD,qEAAqE;;;;;IAErE,6CAA6C;;;;;IAE7C,+DAA+D;;;;;IAE/D,kCAAkC;;;;;;IARlC,yDAAyD;;;;;IAEzD,qEAAqE;;;;;IAErE,6CAA6C;;;;;IAE7C,+DAA+D;;;;;IAE/D,kCAAkC;;;;;;AAtBtC;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,gBAchC;IACC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAiC;IAEtD,IAAI;IASJ,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAwC5B"}
1
+ {"version":3,"file":"slide.d.ts","sourceRoot":"","sources":["../../src/locomotion/slide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;;IA+ExC,yDAAyD;;;;;IAEzD,qEAAqE;;;;;IAErE,6CAA6C;;;;;IAE7C,+DAA+D;;;;;IAE/D,kCAAkC;;;;;;IARlC,yDAAyD;;;;;IAEzD,qEAAqE;;;;;IAErE,6CAA6C;;;;;IAE7C,+DAA+D;;;;;IAE/D,kCAAkC;;;;;;AAtBtC;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,gBAchC;IACC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAiC;IAEtD,IAAI;IASJ,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAwC5B"}
@@ -1,12 +1,8 @@
1
- import { lerp } from 'three/src/math/MathUtils.js';
2
- import { createSystem } from '../ecs/system.js';
3
- import '../ecs/world.js';
4
1
  import { Types } from 'elics';
5
- import '../ecs/entity.js';
6
- import '../ecs/component-registry.js';
2
+ import { createSystem } from '../ecs/system.js';
7
3
  import '../runtime/three.js';
8
4
  import { getRequiredInputProvider } from './locomotion-input-provider.js';
9
- import { Vector3, Quaternion, Vector2, Mesh, CylinderGeometry, ShaderMaterial, BackSide, Color } from 'three';
5
+ import { MathUtils, Vector3, Quaternion, Vector2, Mesh, CylinderGeometry, ShaderMaterial, BackSide, Color } from 'three';
10
6
 
11
7
  /**
12
8
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -14,6 +10,7 @@ import { Vector3, Quaternion, Vector2, Mesh, CylinderGeometry, ShaderMaterial, B
14
10
  * This source code is licensed under the MIT license found in the
15
11
  * LICENSE file in the root directory of this source tree.
16
12
  */
13
+ const { lerp } = MathUtils;
17
14
  const vertexShader = `
18
15
  varying vec2 vUv;
19
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"slide.js","sources":["../../src/locomotion/slide.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slide.js","sources":["../../src/locomotion/slide.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import { Types } from '../ecs/index.js';
7
+ import { Types } from '../ecs/component.js';
8
8
  declare const TeleportSystem_base: import("elics").SystemConstructor<{
9
9
  /** Downward acceleration for the parabolic guide (negative). */
10
10
  rayGravity: {
@@ -26,7 +26,7 @@ declare const TeleportSystem_base: import("elics").SystemConstructor<{
26
26
  type: Types.Boolean;
27
27
  default: false;
28
28
  };
29
- }, {}, import("../ecs/world.js").World, import("../ecs/system.js").System<{
29
+ }, {}, import("../index.js").World, import("../ecs/system.js").System<{
30
30
  /** Downward acceleration for the parabolic guide (negative). */
31
31
  rayGravity: {
32
32
  type: Types.Float32;