@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,206 @@
1
+ import { normalizeProjectSourcePath, projectSceneSourcePathToRuntimeUrl } from './paths.js';
2
+ import { assertValidIwsdkProjectManifest } from './validation.js';
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
+ const TURNING_METHOD = {
11
+ snap: 1,
12
+ smooth: 2,
13
+ };
14
+ /**
15
+ * Normalize the JSON-safe world contract into the existing `World.create`
16
+ * option shape. Asset and component values are intentionally not injected.
17
+ */
18
+ function normalizeProjectWorldOptions(value) {
19
+ assertValidIwsdkProjectManifest(value);
20
+ const manifest = value;
21
+ const source = manifest.world;
22
+ const xr = normalizeXR(source.xr);
23
+ return {
24
+ level: projectSceneSourcePathToRuntimeUrl(manifest.scene),
25
+ xr,
26
+ ...(source.input == null
27
+ ? {}
28
+ : {
29
+ input: {
30
+ ...(typeof source.input.canvasPointerEvents === 'object'
31
+ ? {
32
+ canvasPointerEvents: {
33
+ ...source.input.canvasPointerEvents,
34
+ },
35
+ }
36
+ : 'canvasPointerEvents' in source.input
37
+ ? {
38
+ canvasPointerEvents: source.input.canvasPointerEvents,
39
+ }
40
+ : {}),
41
+ },
42
+ }),
43
+ ...(source.render == null
44
+ ? {}
45
+ : {
46
+ render: {
47
+ ...source.render,
48
+ ...(source.render.camera == null
49
+ ? {}
50
+ : { camera: { ...source.render.camera } }),
51
+ },
52
+ }),
53
+ ...(source.features == null
54
+ ? {}
55
+ : { features: normalizeFeatures(source.features) }),
56
+ };
57
+ }
58
+ /** Normalize manifest-owned development settings for Vite/plugin consumers. */
59
+ function normalizeProjectDevOptions(value) {
60
+ assertValidIwsdkProjectManifest(value);
61
+ const manifest = value;
62
+ const dev = manifest.dev;
63
+ if (dev == null) {
64
+ return {};
65
+ }
66
+ const sourceEmulator = dev.emulator;
67
+ const emulator = sourceEmulator == null
68
+ ? undefined
69
+ : {
70
+ ...(sourceEmulator.device == null
71
+ ? {}
72
+ : { device: sourceEmulator.device }),
73
+ ...(sourceEmulator.iwer == null ? {} : { iwer: sourceEmulator.iwer }),
74
+ ...(sourceEmulator.environment == null
75
+ ? {}
76
+ : { environment: sourceEmulator.environment }),
77
+ ...(sourceEmulator.activation == null
78
+ ? {}
79
+ : {
80
+ activation: typeof sourceEmulator.activation === 'object'
81
+ ? projectRegexSpecToRegExp(sourceEmulator.activation)
82
+ : sourceEmulator.activation,
83
+ }),
84
+ ...(sourceEmulator.injectOnBuild == null
85
+ ? {}
86
+ : { injectOnBuild: sourceEmulator.injectOnBuild }),
87
+ ...(sourceEmulator.userAgentException == null
88
+ ? {}
89
+ : {
90
+ userAgentException: projectRegexSpecToRegExp(sourceEmulator.userAgentException),
91
+ }),
92
+ };
93
+ return {
94
+ ...(emulator == null ? {} : { emulator }),
95
+ };
96
+ }
97
+ /** Normalize an assets/components module declaration for Vite resolution. */
98
+ function normalizeProjectModuleSourcePath(sourcePath) {
99
+ return normalizeProjectSourcePath(sourcePath, 'module');
100
+ }
101
+ /** Reconstruct a validated JSON regular-expression declaration. */
102
+ function projectRegexSpecToRegExp(spec) {
103
+ var _a;
104
+ return new RegExp(spec.source, (_a = spec.flags) !== null && _a !== void 0 ? _a : '');
105
+ }
106
+ function normalizeXR(source) {
107
+ if (source === false) {
108
+ return false;
109
+ }
110
+ const sessionMode = (source.mode === 'vr' ? 'immersive-vr' : 'immersive-ar');
111
+ return {
112
+ sessionMode,
113
+ ...(source.offer == null ? {} : { offer: source.offer }),
114
+ ...(source.referenceSpace == null
115
+ ? {}
116
+ : {
117
+ referenceSpace: cloneReferenceSpace(source.referenceSpace),
118
+ }),
119
+ ...(source.restoreCameraOnExit == null
120
+ ? {}
121
+ : { restoreCameraOnExit: source.restoreCameraOnExit }),
122
+ ...(source.features == null
123
+ ? {}
124
+ : { features: cloneXRFeatures(source.features) }),
125
+ };
126
+ }
127
+ function cloneReferenceSpace(source) {
128
+ return typeof source === 'string'
129
+ ? source
130
+ : {
131
+ ...source,
132
+ ...(source.fallbackOrder == null
133
+ ? {}
134
+ : { fallbackOrder: [...source.fallbackOrder] }),
135
+ };
136
+ }
137
+ function cloneXRFeatures(source) {
138
+ return Object.fromEntries(Object.entries(source).map(([key, value]) => [
139
+ key,
140
+ value != null && typeof value === 'object' ? { ...value } : value,
141
+ ]));
142
+ }
143
+ function normalizeFeatures(source) {
144
+ const features = {};
145
+ if (source.locomotion != null) {
146
+ if (typeof source.locomotion === 'boolean') {
147
+ features.locomotion = source.locomotion;
148
+ }
149
+ else {
150
+ const { browserControls, initialPlayerPosition, turningMethod, ...rest } = source.locomotion;
151
+ features.locomotion = {
152
+ ...rest,
153
+ ...(initialPlayerPosition == null
154
+ ? {}
155
+ : {
156
+ initialPlayerPosition: [...initialPlayerPosition],
157
+ }),
158
+ ...(typeof browserControls === 'object'
159
+ ? {
160
+ browserControls: {
161
+ ...browserControls,
162
+ },
163
+ }
164
+ : browserControls == null
165
+ ? {}
166
+ : { browserControls }),
167
+ ...(turningMethod == null
168
+ ? {}
169
+ : {
170
+ turningMethod: TURNING_METHOD[turningMethod],
171
+ }),
172
+ };
173
+ }
174
+ }
175
+ if (source.grabbing != null) {
176
+ features.grabbing =
177
+ typeof source.grabbing === 'boolean'
178
+ ? source.grabbing
179
+ : { ...source.grabbing };
180
+ }
181
+ if (source.physics != null) {
182
+ features.physics = source.physics;
183
+ }
184
+ if (source.sceneUnderstanding != null) {
185
+ features.sceneUnderstanding =
186
+ typeof source.sceneUnderstanding === 'boolean'
187
+ ? source.sceneUnderstanding
188
+ : { ...source.sceneUnderstanding };
189
+ }
190
+ if (source.environmentRaycast != null) {
191
+ features.environmentRaycast = source.environmentRaycast;
192
+ }
193
+ if (source.camera != null) {
194
+ features.camera = source.camera;
195
+ }
196
+ if (source.spatialUI != null) {
197
+ features.spatialUI =
198
+ typeof source.spatialUI === 'boolean'
199
+ ? source.spatialUI
200
+ : { ...source.spatialUI };
201
+ }
202
+ return features;
203
+ }
204
+
205
+ export { normalizeProjectDevOptions, normalizeProjectModuleSourcePath, normalizeProjectWorldOptions, projectRegexSpecToRegExp };
206
+ //# sourceMappingURL=normalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.js","sources":["../../src/project/normalize.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
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 type ProjectSourcePathKind = 'module' | 'scene';
8
+ /** Error raised when a project source path is not lexically root-confined. */
9
+ export declare class ProjectSourcePathError extends Error {
10
+ readonly sourcePath: string;
11
+ readonly kind: ProjectSourcePathKind;
12
+ constructor(sourcePath: string, kind: ProjectSourcePathKind, message: string);
13
+ }
14
+ /**
15
+ * Validate and normalize a project-owned source path without filesystem or
16
+ * Node dependencies. Returned paths always begin with `./` and use `/`.
17
+ */
18
+ export declare function normalizeProjectSourcePath(sourcePath: string, kind: ProjectSourcePathKind): string;
19
+ /** Convert a validated public scene source path into its runtime URL. */
20
+ export declare function projectSceneSourcePathToRuntimeUrl(sourcePath: string): string;
21
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/project/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD,8EAA8E;AAC9E,qBAAa,sBAAuB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,IAAI,EAAE,qBAAqB;gBAD3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,qBAAqB,EACpC,OAAO,EAAE,MAAM;CAKlB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,qBAAqB,GAC1B,MAAM,CAwDR;AAED,yEAAyE;AACzE,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG7E"}
@@ -0,0 +1,75 @@
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
+ /** Error raised when a project source path is not lexically root-confined. */
8
+ class ProjectSourcePathError extends Error {
9
+ constructor(sourcePath, kind, message) {
10
+ super(message);
11
+ this.sourcePath = sourcePath;
12
+ this.kind = kind;
13
+ this.name = 'ProjectSourcePathError';
14
+ }
15
+ }
16
+ /**
17
+ * Validate and normalize a project-owned source path without filesystem or
18
+ * Node dependencies. Returned paths always begin with `./` and use `/`.
19
+ */
20
+ function normalizeProjectSourcePath(sourcePath, kind) {
21
+ const fail = (message) => {
22
+ throw new ProjectSourcePathError(sourcePath, kind, message);
23
+ };
24
+ if (sourcePath.length === 0 || sourcePath.trim().length === 0) {
25
+ return fail(`${kind} path must not be blank`);
26
+ }
27
+ if (sourcePath !== sourcePath.trim()) {
28
+ return fail(`${kind} path must not have leading or trailing whitespace`);
29
+ }
30
+ if (sourcePath.includes('\0')) {
31
+ return fail(`${kind} path must not contain a null byte`);
32
+ }
33
+ if (sourcePath.includes('\\')) {
34
+ return fail(`${kind} path must use forward slashes`);
35
+ }
36
+ if (sourcePath.includes('?') || sourcePath.includes('#')) {
37
+ return fail(`${kind} path must not contain a query or fragment`);
38
+ }
39
+ if (sourcePath.startsWith('/') ||
40
+ sourcePath.startsWith('//') ||
41
+ /^[A-Za-z][A-Za-z\d+.-]*:/u.test(sourcePath)) {
42
+ return fail(`${kind} path must be a local project-relative path`);
43
+ }
44
+ const withoutPrefix = sourcePath.startsWith('./')
45
+ ? sourcePath.slice(2)
46
+ : sourcePath;
47
+ const segments = withoutPrefix.split('/');
48
+ if (segments.length === 0 ||
49
+ segments.some((segment) => segment.length === 0 || segment === '.' || segment === '..')) {
50
+ return fail(`${kind} path must not contain empty, ".", or ".." segments`);
51
+ }
52
+ if (kind === 'scene') {
53
+ if (segments[0] !== 'public' || segments[1] !== 'scenes') {
54
+ return fail('scene path must stay inside public/scenes/');
55
+ }
56
+ if (!withoutPrefix.endsWith('.iwsdk.scene.json')) {
57
+ return fail('scene path must end with .iwsdk.scene.json');
58
+ }
59
+ }
60
+ else {
61
+ const fileName = segments.at(-1);
62
+ if (fileName.startsWith('.') || fileName.includes('.')) {
63
+ return fail('module path must be extensionless');
64
+ }
65
+ }
66
+ return `./${segments.join('/')}`;
67
+ }
68
+ /** Convert a validated public scene source path into its runtime URL. */
69
+ function projectSceneSourcePathToRuntimeUrl(sourcePath) {
70
+ const normalized = normalizeProjectSourcePath(sourcePath, 'scene');
71
+ return `./${normalized.slice('./public/'.length)}`;
72
+ }
73
+
74
+ export { ProjectSourcePathError, normalizeProjectSourcePath, projectSceneSourcePathToRuntimeUrl };
75
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sources":["../../src/project/paths.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { WorldOptions } from '../init/world-initializer.js';
8
+ /** Version discriminator for the first IWSDK project manifest contract. */
9
+ export declare const IWSDK_PROJECT_MANIFEST_VERSION: "iwsdk.project.v1";
10
+ /** JSON representation of a regular expression used by development tooling. */
11
+ export interface ProjectRegexSpec {
12
+ source: string;
13
+ flags?: string;
14
+ }
15
+ export type ProjectXRMode = 'vr' | 'ar';
16
+ export type ProjectXROffer = 'none' | 'once' | 'always';
17
+ export type ProjectReferenceSpaceType = 'bounded-floor' | 'local' | 'local-floor' | 'unbounded' | 'viewer';
18
+ export type ProjectXRFeatureFlag = boolean | {
19
+ required?: boolean;
20
+ };
21
+ export type ProjectDepthSensingFlag = boolean | {
22
+ required?: boolean;
23
+ usage?: 'cpu-optimized' | 'gpu-optimized';
24
+ format?: 'luminance-alpha' | 'float32';
25
+ };
26
+ export interface ProjectXRFeatureOptions {
27
+ handTracking?: ProjectXRFeatureFlag;
28
+ anchors?: ProjectXRFeatureFlag;
29
+ hitTest?: ProjectXRFeatureFlag;
30
+ planeDetection?: ProjectXRFeatureFlag;
31
+ meshDetection?: ProjectXRFeatureFlag;
32
+ depthSensing?: ProjectDepthSensingFlag;
33
+ layers?: ProjectXRFeatureFlag;
34
+ unbounded?: ProjectXRFeatureFlag;
35
+ }
36
+ export type ProjectReferenceSpaceSpec = ProjectReferenceSpaceType | {
37
+ type?: ProjectReferenceSpaceType;
38
+ required?: boolean;
39
+ fallbackOrder?: ProjectReferenceSpaceType[];
40
+ };
41
+ export interface ProjectXROptions {
42
+ mode: ProjectXRMode;
43
+ offer?: ProjectXROffer;
44
+ referenceSpace?: ProjectReferenceSpaceSpec;
45
+ restoreCameraOnExit?: boolean;
46
+ features?: ProjectXRFeatureOptions;
47
+ }
48
+ export interface ProjectCameraOptions {
49
+ position?: [number, number, number];
50
+ rotation?: [number, number, number];
51
+ quaternion?: [number, number, number, number];
52
+ lookAt?: [number, number, number];
53
+ }
54
+ export interface ProjectRenderOptions {
55
+ fov?: number;
56
+ near?: number;
57
+ far?: number;
58
+ stencil?: boolean;
59
+ camera?: ProjectCameraOptions;
60
+ }
61
+ export type ProjectCanvasPointerEventsOption = boolean | {
62
+ enabled?: boolean;
63
+ activeDuringXR?: boolean;
64
+ };
65
+ export interface ProjectInputOptions {
66
+ canvasPointerEvents?: ProjectCanvasPointerEventsOption;
67
+ }
68
+ export type ProjectBrowserLocomotionControls = boolean | {
69
+ keyboard?: boolean;
70
+ gamepad?: boolean;
71
+ };
72
+ export type ProjectTurningMethod = 'snap' | 'smooth';
73
+ export type ProjectLocomotionOptions = boolean | {
74
+ useWorker?: boolean;
75
+ initialPlayerPosition?: [number, number, number];
76
+ comfortAssistLevel?: number;
77
+ turningMethod?: ProjectTurningMethod;
78
+ enableJumping?: boolean;
79
+ browserControls?: ProjectBrowserLocomotionControls;
80
+ };
81
+ export type ProjectGrabbingOptions = boolean | {
82
+ useHandPinchForGrab?: boolean;
83
+ };
84
+ export type ProjectSceneUnderstandingOptions = boolean | {
85
+ showWireFrame?: boolean;
86
+ };
87
+ export type ProjectSpatialUIOptions = boolean | {
88
+ forwardHtmlEvents?: boolean;
89
+ kit?: 'default' | 'horizon';
90
+ preferredColorScheme?: 'system' | 'light' | 'dark';
91
+ };
92
+ export interface ProjectFeatureOptions {
93
+ locomotion?: ProjectLocomotionOptions;
94
+ grabbing?: ProjectGrabbingOptions;
95
+ physics?: boolean;
96
+ sceneUnderstanding?: ProjectSceneUnderstandingOptions;
97
+ environmentRaycast?: boolean;
98
+ camera?: boolean;
99
+ spatialUI?: ProjectSpatialUIOptions;
100
+ }
101
+ export interface ProjectWorldConfiguration {
102
+ xr: false | ProjectXROptions;
103
+ input?: ProjectInputOptions;
104
+ render?: ProjectRenderOptions;
105
+ features?: ProjectFeatureOptions;
106
+ }
107
+ export type ProjectEmulatorDevice = 'metaQuest2' | 'metaQuest3' | 'metaQuestPro' | 'oculusQuest1';
108
+ export type ProjectEmulatorEnvironment = 'living_room' | 'meeting_room' | 'music_room' | 'office_large' | 'office_small';
109
+ export interface ProjectEmulatorOptions {
110
+ device?: ProjectEmulatorDevice;
111
+ iwer?: boolean;
112
+ environment?: ProjectEmulatorEnvironment;
113
+ activation?: 'localhost' | 'always' | ProjectRegexSpec;
114
+ injectOnBuild?: boolean;
115
+ userAgentException?: ProjectRegexSpec;
116
+ }
117
+ export interface ProjectDevOptions {
118
+ emulator?: ProjectEmulatorOptions;
119
+ }
120
+ export interface ProjectModuleDeclaration {
121
+ /** Extensionless, project-root-confined browser module source path. */
122
+ module: string;
123
+ }
124
+ /** Declarative, JSON-safe IWSDK project authority. */
125
+ export interface IwsdkProjectManifestV1 {
126
+ $schema?: string;
127
+ version: typeof IWSDK_PROJECT_MANIFEST_VERSION;
128
+ /** Project source path under public/ ending in .iwsdk.scene.json. */
129
+ scene: string;
130
+ assets?: ProjectModuleDeclaration;
131
+ components?: ProjectModuleDeclaration;
132
+ world: ProjectWorldConfiguration;
133
+ dev?: ProjectDevOptions;
134
+ }
135
+ /** World options produced before Vite injects executable asset/component manifests. */
136
+ export type NormalizedProjectWorldOptions = Omit<WorldOptions, 'assets' | 'components'> & {
137
+ level: string;
138
+ };
139
+ export interface NormalizedProjectDevOptions {
140
+ emulator?: {
141
+ device?: ProjectEmulatorDevice;
142
+ iwer?: boolean;
143
+ environment?: ProjectEmulatorEnvironment;
144
+ activation?: 'localhost' | 'always' | RegExp;
145
+ injectOnBuild?: boolean;
146
+ userAgentException?: RegExp;
147
+ };
148
+ }
149
+ export type ProjectManifestValidationIssueCode = 'enum' | 'invalid-path' | 'invalid-regex' | 'required' | 'type' | 'unknown-key';
150
+ export interface ProjectManifestValidationIssue {
151
+ path: string;
152
+ code: ProjectManifestValidationIssueCode;
153
+ message: string;
154
+ }
155
+ export interface ProjectManifestValidationResult {
156
+ valid: boolean;
157
+ issues: ProjectManifestValidationIssue[];
158
+ }
159
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/project/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
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
+ /** Version discriminator for the first IWSDK project manifest contract. */
8
+ const IWSDK_PROJECT_MANIFEST_VERSION = 'iwsdk.project.v1';
9
+
10
+ export { IWSDK_PROJECT_MANIFEST_VERSION };
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../src/project/types.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AAIH;AACO,MAAM,8BAA8B,GAAG;;;;"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { type IwsdkProjectManifestV1, type ProjectManifestValidationIssue, type ProjectManifestValidationResult } from './types.js';
8
+ /** Error containing every issue found in a project manifest. */
9
+ export declare class ProjectManifestValidationError extends Error {
10
+ readonly issues: readonly ProjectManifestValidationIssue[];
11
+ constructor(issues: readonly ProjectManifestValidationIssue[]);
12
+ }
13
+ /** Validate the closed `iwsdk.project.v1` JSON contract. */
14
+ export declare function validateIwsdkProjectManifest(value: unknown): ProjectManifestValidationResult;
15
+ export declare function isIwsdkProjectManifest(value: unknown): value is IwsdkProjectManifestV1;
16
+ export declare function assertValidIwsdkProjectManifest(value: unknown): asserts value is IwsdkProjectManifestV1;
17
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/project/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EAEnC,KAAK,+BAA+B,EACrC,MAAM,YAAY,CAAC;AA0BpB,gEAAgE;AAChE,qBAAa,8BAA+B,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,8BAA8B,EAAE;gBAAjD,MAAM,EAAE,SAAS,8BAA8B,EAAE;CAQvE;AAED,4DAA4D;AAC5D,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,+BAA+B,CAoCjC;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,sBAAsB,CAEjC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,sBAAsB,CAKzC"}