@holoscript/core 6.0.4 → 6.1.2

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 (351) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -3
  3. package/bin/holoscript.cjs +3 -0
  4. package/dist/GLTFPipeline-SFIORFJU.js +16 -0
  5. package/dist/GLTFPipeline-VNNDPONV.cjs +37 -0
  6. package/dist/{HoloScriptPlusParser-BN6KVRCM.js → HoloScriptPlusParser-7FBIFUFC.js} +6 -5
  7. package/dist/{HoloScriptPlusParser-NC5FE6AL.cjs → HoloScriptPlusParser-A2W7OCN2.cjs} +17 -16
  8. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  9. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  10. package/dist/{USDZExporter-UWGWNMMD.cjs → USDZExporter-3FWJ25JI.cjs} +344 -16
  11. package/dist/{USDZExporter-NTMBNTDB.js → USDZExporter-D2HQLQYK.js} +344 -16
  12. package/dist/agents/index.cjs +19 -0
  13. package/dist/agents/index.d.ts +100 -0
  14. package/dist/agents/index.js +17 -0
  15. package/dist/chunk-22W6NGYN.js +725 -0
  16. package/dist/{chunk-5OEOHAAW.cjs → chunk-27MPVJVZ.cjs} +64 -28
  17. package/dist/{chunk-RVYPEYPX.js → chunk-2A7FURVO.js} +44 -8
  18. package/dist/{chunk-XCWFGZAA.js → chunk-2B7WVIDZ.js} +11 -8
  19. package/dist/{chunk-NDQNIJEH.js → chunk-2BSMSUCE.js} +250 -24
  20. package/dist/chunk-2HLIGOKU.cjs +5546 -0
  21. package/dist/{chunk-EONILVMF.js → chunk-2M2DPHKB.js} +4 -4
  22. package/dist/{chunk-G7CT3EMP.cjs → chunk-2YSNA2F2.cjs} +319 -47
  23. package/dist/{chunk-IWI6J7FX.js → chunk-33XCOVE3.js} +5 -5
  24. package/dist/chunk-3FOKASKO.cjs +348 -0
  25. package/dist/{chunk-DXJQDCFL.js → chunk-4C57PR42.js} +3 -3
  26. package/dist/{chunk-MPXBVFHQ.js → chunk-4N4SXXWF.js} +4 -3
  27. package/dist/chunk-4PDEPEQW.cjs +41 -0
  28. package/dist/chunk-4R6HPSHJ.js +2176 -0
  29. package/dist/chunk-4R6SBXDB.js +45 -0
  30. package/dist/chunk-4SY77NA4.cjs +413 -0
  31. package/dist/{chunk-YCXFCXDS.js → chunk-4UUKPCY4.js} +668 -110
  32. package/dist/{chunk-LGGRPKTV.cjs → chunk-52ULD552.cjs} +114 -35
  33. package/dist/{chunk-L4G4RLXX.js → chunk-5CKA5SXU.js} +438 -22
  34. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  35. package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
  36. package/dist/chunk-5N54COB6.cjs +327 -0
  37. package/dist/chunk-5S7RKFGR.cjs +446 -0
  38. package/dist/{chunk-KED34ILP.js → chunk-6ASWLXXN.js} +21 -9
  39. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  40. package/dist/{chunk-CAUCGUEA.cjs → chunk-6EX3I5P4.cjs} +6 -6
  41. package/dist/chunk-6FGQNDR4.js +5731 -0
  42. package/dist/{chunk-72EQECGT.cjs → chunk-6KMK2UXT.cjs} +122 -46
  43. package/dist/{chunk-G4VZTCIB.js → chunk-6L4VE27M.js} +33 -23
  44. package/dist/{chunk-ATSKSYVE.cjs → chunk-6S6TKNEA.cjs} +6478 -1738
  45. package/dist/chunk-77V4GTCA.js +596 -0
  46. package/dist/{chunk-ZP4D3CSX.cjs → chunk-7AD52FRS.cjs} +16 -16
  47. package/dist/chunk-A6KINLZJ.js +236 -0
  48. package/dist/chunk-AIA52I7T.cjs +543 -0
  49. package/dist/chunk-AIX25INK.cjs +602 -0
  50. package/dist/{chunk-B5TCIAPQ.cjs → chunk-AO4I2Z7M.cjs} +17 -18
  51. package/dist/{chunk-Q5SJOGHQ.cjs → chunk-BPICAGBV.cjs} +324 -199
  52. package/dist/chunk-BRQJKJGT.cjs +20 -0
  53. package/dist/{chunk-3FXV5S25.cjs → chunk-C37BHB7N.cjs} +6 -3
  54. package/dist/{chunk-XUTX5CBW.js → chunk-CBJY23VL.js} +3 -3
  55. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  56. package/dist/{chunk-XXINBTZK.cjs → chunk-DIL6DDDN.cjs} +101 -45
  57. package/dist/chunk-DMXC24WV.js +404 -0
  58. package/dist/{chunk-PMGODDJA.cjs → chunk-DTGBOSEM.cjs} +12 -12
  59. package/dist/chunk-E7JP3BS3.cjs +61 -0
  60. package/dist/{chunk-HJJLD366.js → chunk-EKBKLK7P.js} +3 -3
  61. package/dist/chunk-EKYL4PE3.cjs +404 -0
  62. package/dist/{chunk-UPJBDCVF.js → chunk-EMMC5CSQ.js} +12 -8
  63. package/dist/{chunk-GGHSW2NN.js → chunk-EOBB6A4B.js} +6389 -1718
  64. package/dist/chunk-EOFNVCM6.js +325 -0
  65. package/dist/{chunk-FHQVYCH2.js → chunk-ER4GATIU.js} +7 -7
  66. package/dist/{chunk-N5FTS757.cjs → chunk-EXKSFGSX.cjs} +7 -148
  67. package/dist/{chunk-LK5IAVH6.cjs → chunk-EXUP2BUM.cjs} +27 -27
  68. package/dist/chunk-FDSGHPAK.js +130 -0
  69. package/dist/chunk-FEWUHQNM.cjs +144 -0
  70. package/dist/{chunk-5TOFIR6L.js → chunk-FGGJQRLZ.js} +5 -142
  71. package/dist/chunk-FHP6LXJS.js +415 -0
  72. package/dist/{chunk-7LCYLPW2.cjs → chunk-FJPADH77.cjs} +7 -4
  73. package/dist/{chunk-T36DDXSF.js → chunk-FXKTYFYA.js} +150 -25
  74. package/dist/chunk-G2LS3RFO.js +623 -0
  75. package/dist/chunk-GCMWDSBZ.cjs +729 -0
  76. package/dist/chunk-GJNCFRJU.cjs +125 -0
  77. package/dist/{chunk-Q4QX3AET.cjs → chunk-GMP623FG.cjs} +16 -13
  78. package/dist/{chunk-XD6IYDUX.js → chunk-GN3KDX4W.js} +119 -43
  79. package/dist/{chunk-QLEAOI3Q.cjs → chunk-GQYKQSTC.cjs} +10 -10
  80. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  81. package/dist/chunk-GZG4KA4E.js +529 -0
  82. package/dist/{chunk-BND3ST2K.cjs → chunk-H3MGK7TX.cjs} +42 -32
  83. package/dist/{chunk-XRKWN5PL.cjs → chunk-H5DZIHJP.cjs} +14 -18
  84. package/dist/{chunk-Z34RLXRA.cjs → chunk-HANL7K2Q.cjs} +65 -50
  85. package/dist/{chunk-3SAK5KFL.cjs → chunk-HCCQLAA4.cjs} +2 -11
  86. package/dist/{chunk-LXJ4667L.cjs → chunk-HGVXZDSK.cjs} +108 -20
  87. package/dist/{chunk-3FJCK5XA.js → chunk-HRODTEEO.js} +30 -10
  88. package/dist/{chunk-HQUEA5R6.cjs → chunk-HZCQO4JM.cjs} +6 -6
  89. package/dist/{chunk-S565K7NK.js → chunk-I2O7TW6B.js} +12 -8
  90. package/dist/chunk-IHESJZSW.js +4490 -0
  91. package/dist/{chunk-FSF7EQVA.cjs → chunk-IRWWS72C.cjs} +63 -22
  92. package/dist/{chunk-5O6TQC6M.cjs → chunk-IVIA7K75.cjs} +689 -127
  93. package/dist/chunk-IVY74O6C.js +247 -0
  94. package/dist/chunk-J32ZJZJH.js +554 -0
  95. package/dist/chunk-J56PTA46.cjs +639 -0
  96. package/dist/chunk-JD7CIZ33.js +1949 -0
  97. package/dist/{chunk-T7LEXZUZ.cjs → chunk-JIYN45TV.cjs} +14 -15
  98. package/dist/{chunk-FFKU7BTK.cjs → chunk-KHPCJRI3.cjs} +24 -21
  99. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  100. package/dist/chunk-KPJL34Y7.cjs +186 -0
  101. package/dist/{chunk-HE7ULERA.cjs → chunk-KQTPCYTG.cjs} +128 -44
  102. package/dist/{chunk-OFKWH2IP.js → chunk-KX76JUQY.js} +3 -3
  103. package/dist/{chunk-33LSUQDD.cjs → chunk-L63H3SQ4.cjs} +43 -31
  104. package/dist/{chunk-K6EKD26I.js → chunk-LAOCQJ2M.js} +64 -8
  105. package/dist/chunk-LM2VU56C.cjs +37 -0
  106. package/dist/chunk-M56JSP4A.js +400 -0
  107. package/dist/chunk-MBOOR7X4.js +18 -0
  108. package/dist/{chunk-XWPNTWDN.cjs → chunk-MJVIRCUV.cjs} +31 -27
  109. package/dist/{chunk-SDAMZIRE.js → chunk-MSMIFMBL.js} +135 -18
  110. package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
  111. package/dist/{chunk-6UEHYZ7V.cjs → chunk-MXJ5SS53.cjs} +447 -31
  112. package/dist/chunk-MYY4PMWX.cjs +264 -0
  113. package/dist/chunk-N75IH2HY.js +258 -0
  114. package/dist/{chunk-GVUR45UF.cjs → chunk-NG77ATEW.cjs} +7 -6
  115. package/dist/chunk-NW5G5FBQ.js +215 -0
  116. package/dist/{chunk-E3FWRT3Z.js → chunk-OEFY723R.js} +28 -13
  117. package/dist/chunk-OEV5RMZO.cjs +3042 -0
  118. package/dist/{chunk-X4ZF6CNE.cjs → chunk-OIQYIIO3.cjs} +7 -7
  119. package/dist/{chunk-2CWOLHTE.js → chunk-OL46QLBJ.js} +3 -11
  120. package/dist/chunk-OPZ7XDDI.js +487 -0
  121. package/dist/chunk-OSYNRVOV.cjs +243 -0
  122. package/dist/{chunk-TEWCN33Y.js → chunk-P7YIA5LN.js} +91 -7
  123. package/dist/chunk-PGANYCAG.cjs +220 -0
  124. package/dist/{chunk-CS2EMTGF.js → chunk-QAVXL2IH.js} +62 -21
  125. package/dist/{chunk-T4NKMBDL.js → chunk-QCCBXSCE.js} +1666 -756
  126. package/dist/{chunk-F4IULT7N.js → chunk-QPOQ7VPI.js} +16 -13
  127. package/dist/{chunk-6XSERL6L.js → chunk-QTPMJRGS.js} +3108 -2827
  128. package/dist/{chunk-F3HH56EB.cjs → chunk-QWNQ523V.cjs} +1730 -823
  129. package/dist/{chunk-R7MA7QWV.js → chunk-R3IVNY6P.js} +102 -23
  130. package/dist/chunk-R75BSDH7.cjs +50 -0
  131. package/dist/chunk-RAXUF5DF.cjs +2196 -0
  132. package/dist/{chunk-BF2235SI.cjs → chunk-RMHC2VG7.cjs} +2876 -2592
  133. package/dist/chunk-RUXGBKPS.cjs +4517 -0
  134. package/dist/{chunk-UERJ3YJV.js → chunk-S5IFXW6E.js} +113 -9
  135. package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
  136. package/dist/{chunk-WB4Z63GG.js → chunk-SIEXCILW.js} +3 -3
  137. package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
  138. package/dist/{chunk-LZ266PCM.cjs → chunk-T5J7ZKP3.cjs} +446 -60
  139. package/dist/chunk-TDCNJHWO.js +341 -0
  140. package/dist/{chunk-IHOUYQIA.js → chunk-TG7O4WBC.js} +5 -5
  141. package/dist/chunk-THCK6ECW.js +2085 -0
  142. package/dist/chunk-TJHVSBP2.js +439 -0
  143. package/dist/chunk-TK74TR4H.js +5541 -0
  144. package/dist/{chunk-CDPGV4DN.js → chunk-U4NBQJBY.js} +14 -15
  145. package/dist/{chunk-NOZZ46QU.js → chunk-UD3DSHZM.js} +10 -14
  146. package/dist/chunk-UDMYRFDZ.js +3038 -0
  147. package/dist/{chunk-WDW67DZB.cjs → chunk-UOIGFQXC.cjs} +90 -68
  148. package/dist/{chunk-BU7VWW2K.js → chunk-URG2SJLK.js} +14 -15
  149. package/dist/{chunk-EQV4R3EV.cjs → chunk-V73NPPTM.cjs} +152 -35
  150. package/dist/chunk-VECQYRXL.js +474 -0
  151. package/dist/chunk-VEXPG4WN.js +1989 -0
  152. package/dist/{chunk-LDP5OK6G.js → chunk-VMLKSV26.js} +5 -5
  153. package/dist/{chunk-5BGSECRJ.cjs → chunk-VSK7W3O5.cjs} +47 -27
  154. package/dist/chunk-VVKVQZI6.js +55 -0
  155. package/dist/{chunk-YQK5JNFK.js → chunk-W55Z7QIX.js} +103 -15
  156. package/dist/{chunk-KSGXLT74.cjs → chunk-W6P2GBHH.cjs} +3 -3
  157. package/dist/{chunk-IBDG74G2.cjs → chunk-W6RW64BB.cjs} +7 -7
  158. package/dist/chunk-WDT3JTGM.cjs +483 -0
  159. package/dist/{chunk-HPS76H7Q.js → chunk-WKX5AMOY.js} +3 -3
  160. package/dist/chunk-WNNE3PO3.js +34 -0
  161. package/dist/{chunk-XG23EUQX.cjs → chunk-WRLUBRKS.cjs} +538 -312
  162. package/dist/{chunk-IFNQFCTM.js → chunk-WRNEH5MO.js} +79 -8
  163. package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
  164. package/dist/{chunk-KCQ5NDYC.cjs → chunk-X3GJPRVK.cjs} +154 -80
  165. package/dist/{chunk-7AGYRWKW.cjs → chunk-XFXGA5IW.cjs} +126 -22
  166. package/dist/{chunk-TQSZUOW5.cjs → chunk-XHIV6326.cjs} +4 -4
  167. package/dist/chunk-XJAN7CZG.cjs +432 -0
  168. package/dist/chunk-XL6INWKT.js +121 -0
  169. package/dist/{chunk-E3UALNFA.js → chunk-XMWZG36H.js} +4 -4
  170. package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
  171. package/dist/{chunk-H5Z7NASB.js → chunk-XT6JY5W5.js} +25 -3
  172. package/dist/chunk-XXZJEFKW.cjs +490 -0
  173. package/dist/chunk-Y3MWXQSB.cjs +5737 -0
  174. package/dist/chunk-YF2I3MV3.js +46 -0
  175. package/dist/{chunk-V3NN3HPP.js → chunk-YIMN575O.js} +437 -52
  176. package/dist/chunk-YIVFJNYV.js +176 -0
  177. package/dist/{chunk-MD6KDHVE.cjs → chunk-YKGPCZEE.cjs} +10 -10
  178. package/dist/chunk-YQELFNJV.js +39 -0
  179. package/dist/chunk-Z5XMPRNC.cjs +5390 -0
  180. package/dist/{chunk-3FYZOR7S.cjs → chunk-ZDSYWBIE.cjs} +18 -18
  181. package/dist/{chunk-6TZPZCOJ.cjs → chunk-ZKSS47EV.cjs} +24 -19
  182. package/dist/chunk-ZUL5AVTX.cjs +1993 -0
  183. package/dist/chunk-ZXBZVXDW.js +5386 -0
  184. package/dist/{chunk-DMG7C4H2.js → chunk-ZZ7RO2UQ.js} +312 -44
  185. package/dist/cli/holoscript-runner.cjs +200 -204
  186. package/dist/cli/holoscript-runner.js +144 -148
  187. package/dist/codebase/index.cjs +1 -1
  188. package/dist/codebase/index.js +1 -1
  189. package/dist/compiler/agent-inference.cjs +10 -7
  190. package/dist/compiler/agent-inference.js +6 -3
  191. package/dist/compiler/android-xr.cjs +12 -7
  192. package/dist/compiler/android-xr.js +10 -5
  193. package/dist/compiler/android.cjs +12 -8
  194. package/dist/compiler/android.js +10 -6
  195. package/dist/compiler/ar.cjs +9 -6
  196. package/dist/compiler/ar.js +7 -4
  197. package/dist/compiler/babylon.cjs +12 -8
  198. package/dist/compiler/babylon.js +11 -7
  199. package/dist/compiler/business-quest.cjs +43 -0
  200. package/dist/compiler/business-quest.js +4 -0
  201. package/dist/compiler/coco.cjs +1 -1
  202. package/dist/compiler/coco.js +1 -1
  203. package/dist/compiler/context.cjs +25 -0
  204. package/dist/compiler/context.d.ts +28 -0
  205. package/dist/compiler/context.js +8 -0
  206. package/dist/compiler/domain-block-utils.cjs +155 -152
  207. package/dist/compiler/domain-block-utils.js +7 -4
  208. package/dist/compiler/dtdl.cjs +10 -7
  209. package/dist/compiler/dtdl.js +7 -4
  210. package/dist/compiler/gltf-pipeline.cjs +9 -9
  211. package/dist/compiler/gltf-pipeline.js +2 -2
  212. package/dist/compiler/godot.cjs +9 -6
  213. package/dist/compiler/godot.js +8 -5
  214. package/dist/compiler/incremental.cjs +12 -7
  215. package/dist/compiler/incremental.js +7 -2
  216. package/dist/compiler/index.cjs +3550 -268
  217. package/dist/compiler/index.d.ts +404 -21
  218. package/dist/compiler/index.js +3280 -138
  219. package/dist/compiler/ios.cjs +11 -8
  220. package/dist/compiler/ios.js +9 -6
  221. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  222. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  223. package/dist/compiler/llm-provider-capabilities.js +8 -0
  224. package/dist/compiler/multi-layer.cjs +14 -10
  225. package/dist/compiler/multi-layer.js +13 -9
  226. package/dist/compiler/nodetoy.cjs +5 -5
  227. package/dist/compiler/nodetoy.js +2 -2
  228. package/dist/compiler/openxr.cjs +10 -6
  229. package/dist/compiler/openxr.js +9 -5
  230. package/dist/compiler/playcanvas.cjs +10 -7
  231. package/dist/compiler/playcanvas.js +9 -6
  232. package/dist/compiler/r3f.cjs +17 -13
  233. package/dist/compiler/r3f.d.ts +22 -0
  234. package/dist/compiler/r3f.js +12 -8
  235. package/dist/compiler/remotion.cjs +1 -1
  236. package/dist/compiler/remotion.js +1 -1
  237. package/dist/compiler/reproducibility.cjs +1 -1
  238. package/dist/compiler/reproducibility.js +1 -1
  239. package/dist/compiler/sdf.cjs +10 -7
  240. package/dist/compiler/sdf.js +8 -5
  241. package/dist/compiler/semantic-scene.cjs +1 -1
  242. package/dist/compiler/semantic-scene.js +1 -1
  243. package/dist/compiler/state.cjs +9 -5
  244. package/dist/compiler/state.js +7 -3
  245. package/dist/compiler/trait-composition.cjs +11 -7
  246. package/dist/compiler/trait-composition.js +7 -3
  247. package/dist/compiler/unity.cjs +10 -6
  248. package/dist/compiler/unity.js +9 -5
  249. package/dist/compiler/unreal.cjs +11 -7
  250. package/dist/compiler/unreal.js +9 -5
  251. package/dist/compiler/urdf.cjs +20 -13
  252. package/dist/compiler/urdf.js +8 -5
  253. package/dist/compiler/usd-physics.cjs +10 -7
  254. package/dist/compiler/usd-physics.js +7 -4
  255. package/dist/compiler/visionos.cjs +10 -6
  256. package/dist/compiler/visionos.js +9 -5
  257. package/dist/compiler/vrchat.cjs +10 -7
  258. package/dist/compiler/vrchat.js +8 -5
  259. package/dist/compiler/vrr.cjs +10 -7
  260. package/dist/compiler/vrr.js +8 -5
  261. package/dist/compiler/wasm.cjs +13 -10
  262. package/dist/compiler/wasm.js +8 -5
  263. package/dist/compiler/webgpu.cjs +9 -6
  264. package/dist/compiler/webgpu.js +8 -5
  265. package/dist/constants.d.ts +3 -2
  266. package/dist/coordinators/index.cjs +1266 -0
  267. package/dist/coordinators/index.d.ts +260 -0
  268. package/dist/coordinators/index.js +1259 -0
  269. package/dist/debugger.cjs +9 -7
  270. package/dist/debugger.js +7 -5
  271. package/dist/entries/interop.cjs +23 -21
  272. package/dist/entries/interop.js +5 -3
  273. package/dist/entries/scripting.cjs +18 -18
  274. package/dist/entries/scripting.js +8 -8
  275. package/dist/hololand/index.cjs +146 -0
  276. package/dist/hololand/index.d.ts +70 -0
  277. package/dist/hololand/index.js +5 -0
  278. package/dist/index.cjs +20332 -18121
  279. package/dist/index.d.ts +1477 -40
  280. package/dist/index.js +19451 -17638
  281. package/dist/math/tropical-spmv.cjs +45 -0
  282. package/dist/math/tropical-spmv.js +4 -0
  283. package/dist/math/vec3.cjs +14 -14
  284. package/dist/math/vec3.js +2 -2
  285. package/dist/{ml-dsa-PHCWUBPX.cjs → ml-dsa-FSKBTE3W.cjs} +177 -90
  286. package/dist/{ml-dsa-WYLJHJO6.js → ml-dsa-Z7JDKW4L.js} +158 -71
  287. package/dist/paper-0c-spike/index.cjs +150 -0
  288. package/dist/paper-0c-spike/index.d.ts +29 -0
  289. package/dist/paper-0c-spike/index.js +141 -0
  290. package/dist/parser.cjs +45 -11
  291. package/dist/parser.d.ts +11 -0
  292. package/dist/parser.js +10 -8
  293. package/dist/{playwright-RL6GY4F7.cjs → playwright-3AT3AKTV.cjs} +1985 -1985
  294. package/dist/{playwright-5OSAPTNH.js → playwright-VZPDVUEQ.js} +3 -3
  295. package/dist/reconstruction/index.cjs +153 -0
  296. package/dist/reconstruction/index.d.ts +105 -0
  297. package/dist/reconstruction/index.js +8 -0
  298. package/dist/runtime.cjs +7 -5
  299. package/dist/runtime.js +6 -4
  300. package/dist/self-improvement/index.cjs +563 -0
  301. package/dist/self-improvement/index.js +545 -0
  302. package/dist/storage/index.cjs +10 -9
  303. package/dist/storage/index.js +3 -2
  304. package/dist/testing.cjs +25 -0
  305. package/dist/testing.d.ts +70 -0
  306. package/dist/testing.js +4 -0
  307. package/dist/tools/index.d.ts +22 -1
  308. package/dist/traitDocs/traitDocs.cjs +33 -0
  309. package/dist/traitDocs/traitDocs.d.ts +69 -0
  310. package/dist/traitDocs/traitDocs.js +7 -0
  311. package/dist/traits/botanical-lotus.cjs +41 -0
  312. package/dist/traits/botanical-lotus.d.ts +172 -0
  313. package/dist/traits/botanical-lotus.js +4 -0
  314. package/dist/traits/engines/index.cjs +520 -0
  315. package/dist/traits/engines/index.js +380 -0
  316. package/dist/traits/index.cjs +17630 -7881
  317. package/dist/traits/index.d.ts +197 -0
  318. package/dist/traits/index.js +16573 -7193
  319. package/dist/traits/simulation-solver-factory.cjs +13 -0
  320. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  321. package/dist/traits/simulation-solver-factory.js +4 -0
  322. package/dist/traits/webcam-gaze.cjs +35 -0
  323. package/dist/traits/webcam-gaze.d.ts +17 -0
  324. package/dist/traits/webcam-gaze.js +4 -0
  325. package/dist/type-checker.cjs +6 -5
  326. package/dist/type-checker.js +4 -3
  327. package/dist/world/index.cjs +947 -0
  328. package/dist/world/index.d.ts +147 -0
  329. package/dist/world/index.js +939 -0
  330. package/dist/world-model/index.cjs +1446 -0
  331. package/dist/world-model/index.d.ts +119 -0
  332. package/dist/world-model/index.js +1414 -0
  333. package/dist/wot/index.cjs +29 -0
  334. package/dist/wot/index.js +4 -0
  335. package/package.json +153 -61
  336. package/dist/GLTFPipeline-DEN36VNK.js +0 -12
  337. package/dist/GLTFPipeline-YPCAK236.cjs +0 -33
  338. package/dist/chunk-4XSNJCLC.cjs +0 -1859
  339. package/dist/chunk-A7PIMZGU.js +0 -263
  340. package/dist/chunk-BWFJEM5A.js +0 -5419
  341. package/dist/chunk-CBJSLA2E.cjs +0 -5423
  342. package/dist/chunk-K3JDKWGI.cjs +0 -270
  343. package/dist/chunk-LSW7P7ML.js +0 -3675
  344. package/dist/chunk-MEASWI2Y.js +0 -126
  345. package/dist/chunk-NCUKG4SK.cjs +0 -3075
  346. package/dist/chunk-Q5JT3YML.cjs +0 -129
  347. package/dist/chunk-QGKNANZ3.js +0 -3071
  348. package/dist/chunk-S2N5TNMA.js +0 -1855
  349. package/dist/chunk-TSH3MSQU.cjs +0 -129
  350. package/dist/chunk-WGMEAYBG.js +0 -126
  351. package/dist/chunk-X6SEAXAX.cjs +0 -3681
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('./chunk-3SAK5KFL.cjs');
3
+ require('./chunk-HCCQLAA4.cjs');
4
4
 
5
5
  // src/export/usdz/USDTypes.ts
6
6
  function createUSDXform(name, path) {
@@ -92,6 +92,10 @@ var _USDZExporter = class _USDZExporter {
92
92
  // materialId -> USD path
93
93
  this.meshMap = /* @__PURE__ */ new Map();
94
94
  // meshId -> USD path
95
+ this.nodePrimMap = /* @__PURE__ */ new Map();
96
+ // nodeId -> USD prim
97
+ this.sceneGraphAccessorData = /* @__PURE__ */ new Map();
98
+ // accessorIndex -> flat data
95
99
  this.textureFiles = [];
96
100
  this.options = { ..._USDZExporter.DEFAULT_OPTIONS, ...options };
97
101
  }
@@ -119,8 +123,243 @@ var _USDZExporter = class _USDZExporter {
119
123
  /**
120
124
  * Convert from GLTF intermediate representation
121
125
  */
122
- async convertFromGLTF(_gltfResult) {
123
- throw new Error("Direct GLTF conversion not yet implemented. Use export() with scene graph.");
126
+ async convertFromGLTF(gltfResult) {
127
+ const sceneGraph = this.gltfToSceneGraph(gltfResult);
128
+ const result = await this.export(sceneGraph);
129
+ return result.usdz;
130
+ }
131
+ // ========================================================================
132
+ // Private Methods - GLTF Bridge
133
+ // ========================================================================
134
+ gltfToSceneGraph(gltfResult) {
135
+ const doc = gltfResult.document;
136
+ const buffers = this.extractGLTFBuffers(gltfResult);
137
+ const sgBuffers = buffers.map((data, i) => ({
138
+ id: `buf_${i}`,
139
+ byteLength: data.byteLength,
140
+ data
141
+ }));
142
+ const sgBufferViews = (doc.bufferViews || []).map((bv, i) => ({
143
+ id: `bv_${i}`,
144
+ bufferIndex: bv.buffer,
145
+ byteOffset: bv.byteOffset || 0,
146
+ byteLength: bv.byteLength,
147
+ byteStride: bv.byteStride,
148
+ target: bv.target === 34962 ? "arrayBuffer" : bv.target === 34963 ? "elementArrayBuffer" : void 0
149
+ }));
150
+ const componentTypeMap = {
151
+ 5120: "byte",
152
+ 5121: "ubyte",
153
+ 5122: "short",
154
+ 5123: "ushort",
155
+ 5125: "uint",
156
+ 5126: "float"
157
+ };
158
+ const accessorTypeMap = {
159
+ SCALAR: "scalar",
160
+ VEC2: "vec2",
161
+ VEC3: "vec3",
162
+ VEC4: "vec4",
163
+ MAT2: "mat2",
164
+ MAT3: "mat3",
165
+ MAT4: "mat4"
166
+ };
167
+ const sgAccessors = (doc.accessors || []).map((acc, i) => ({
168
+ id: `acc_${i}`,
169
+ bufferViewIndex: acc.bufferView !== void 0 ? acc.bufferView : 0,
170
+ byteOffset: acc.byteOffset || 0,
171
+ componentType: componentTypeMap[acc.componentType] || "float",
172
+ type: accessorTypeMap[acc.type] || "scalar",
173
+ count: acc.count,
174
+ normalized: acc.normalized || false,
175
+ min: acc.min,
176
+ max: acc.max
177
+ }));
178
+ const sgMeshes = (doc.meshes || []).map((mesh, i) => ({
179
+ id: `mesh_${i}`,
180
+ name: mesh.name || `Mesh_${i}`,
181
+ primitives: mesh.primitives.map((prim) => ({
182
+ attributes: { ...prim.attributes },
183
+ indices: prim.indices,
184
+ mode: this.mapGLTFPrimitiveMode(prim.mode),
185
+ materialRef: prim.material !== void 0 ? `mat_${prim.material}` : void 0
186
+ })),
187
+ bounds: { min: [0, 0, 0], max: [1, 1, 1] }
188
+ }));
189
+ const sgMaterials = (doc.materials || []).map((mat, i) => {
190
+ const pbr = mat.pbrMetallicRoughness;
191
+ return {
192
+ id: `mat_${i}`,
193
+ name: mat.name || `Material_${i}`,
194
+ type: "pbr",
195
+ doubleSided: mat.doubleSided || false,
196
+ alphaMode: mat.alphaMode?.toLowerCase() || "opaque",
197
+ alphaCutoff: mat.alphaCutoff ?? 0.5,
198
+ baseColor: pbr?.baseColorFactor || [1, 1, 1, 1],
199
+ metallic: pbr?.metallicFactor ?? 0,
200
+ roughness: pbr?.roughnessFactor ?? 0.5,
201
+ emissiveColor: mat.emissiveFactor || [0, 0, 0],
202
+ emissiveIntensity: 1,
203
+ normalScale: mat.normalTexture?.scale ?? 1,
204
+ occlusionStrength: mat.occlusionTexture?.strength ?? 1,
205
+ baseColorTexture: pbr?.baseColorTexture ? this.mapGLTFTextureRef(pbr.baseColorTexture.index, pbr.baseColorTexture.texCoord || 0) : void 0,
206
+ normalTexture: mat.normalTexture ? this.mapGLTFTextureRef(mat.normalTexture.index, mat.normalTexture.texCoord || 0) : void 0,
207
+ occlusionTexture: mat.occlusionTexture ? this.mapGLTFTextureRef(mat.occlusionTexture.index, mat.occlusionTexture.texCoord || 0) : void 0,
208
+ emissiveTexture: mat.emissiveTexture ? this.mapGLTFTextureRef(mat.emissiveTexture.index, mat.emissiveTexture.texCoord || 0) : void 0,
209
+ metallicRoughnessTexture: pbr?.metallicRoughnessTexture ? this.mapGLTFTextureRef(pbr.metallicRoughnessTexture.index, pbr.metallicRoughnessTexture.texCoord || 0) : void 0
210
+ };
211
+ });
212
+ const nodeIdMap = /* @__PURE__ */ new Map();
213
+ const buildNode = (gltfNode, index) => {
214
+ const id = `node_${index}`;
215
+ nodeIdMap.set(index, id);
216
+ const children = (gltfNode.children || []).map(
217
+ (ci) => buildNode(doc.nodes[ci], ci)
218
+ );
219
+ const components = [];
220
+ if (gltfNode.mesh !== void 0) {
221
+ components.push({
222
+ type: "mesh",
223
+ meshRef: `mesh_${gltfNode.mesh}`,
224
+ materialRefs: [],
225
+ castShadows: true,
226
+ receiveShadows: true,
227
+ enabled: true,
228
+ properties: {}
229
+ });
230
+ }
231
+ return {
232
+ id,
233
+ name: gltfNode.name || `Node_${index}`,
234
+ type: "object",
235
+ transform: {
236
+ position: gltfNode.translation || [0, 0, 0],
237
+ rotation: gltfNode.rotation ? {
238
+ x: gltfNode.rotation[0],
239
+ y: gltfNode.rotation[1],
240
+ z: gltfNode.rotation[2],
241
+ w: gltfNode.rotation[3]
242
+ } : { x: 0, y: 0, z: 0, w: 1 },
243
+ scale: gltfNode.scale || [1, 1, 1]
244
+ },
245
+ children,
246
+ components,
247
+ active: true,
248
+ layers: 1,
249
+ tags: [],
250
+ metadata: {}
251
+ };
252
+ };
253
+ const scene = doc.scenes?.[doc.scene ?? 0];
254
+ const rootChildren = (scene?.nodes || []).map((ni) => buildNode(doc.nodes[ni], ni));
255
+ const root = {
256
+ id: "root",
257
+ name: "Root",
258
+ type: "group",
259
+ transform: {
260
+ position: [0, 0, 0],
261
+ rotation: { x: 0, y: 0, z: 0, w: 1 },
262
+ scale: [1, 1, 1]
263
+ },
264
+ children: rootChildren,
265
+ components: [],
266
+ active: true,
267
+ layers: 1,
268
+ tags: [],
269
+ metadata: {}
270
+ };
271
+ const sgAnimations = (doc.animations || []).map((anim, i) => {
272
+ const channels = anim.channels.map((ch) => ({
273
+ targetNode: nodeIdMap.get(ch.target.node) || `node_${ch.target.node}`,
274
+ targetPath: ch.target.path,
275
+ samplerIndex: ch.sampler
276
+ }));
277
+ const samplers = anim.samplers.map((s) => ({
278
+ inputBufferView: s.input,
279
+ outputBufferView: s.output,
280
+ interpolation: s.interpolation?.toLowerCase() || "linear"
281
+ }));
282
+ return {
283
+ id: `anim_${i}`,
284
+ name: anim.name || `Animation_${i}`,
285
+ duration: 0,
286
+ channels,
287
+ samplers
288
+ };
289
+ });
290
+ return {
291
+ version: "3.3.0",
292
+ generator: "HoloScript USDZExporter (GLTF bridge)",
293
+ metadata: {
294
+ name: "GLTFImport",
295
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
296
+ modifiedAt: (/* @__PURE__ */ new Date()).toISOString(),
297
+ tags: [],
298
+ properties: {}
299
+ },
300
+ root,
301
+ materials: sgMaterials,
302
+ textures: [],
303
+ meshes: sgMeshes,
304
+ buffers: sgBuffers,
305
+ bufferViews: sgBufferViews,
306
+ accessors: sgAccessors,
307
+ animations: sgAnimations,
308
+ skins: [],
309
+ extensions: {},
310
+ extras: {}
311
+ };
312
+ }
313
+ extractGLTFBuffers(gltfResult) {
314
+ const doc = gltfResult.document;
315
+ if (gltfResult.glb) {
316
+ const binChunk = this.extractGLBBinChunk(gltfResult.glb);
317
+ if (binChunk) return [binChunk];
318
+ }
319
+ const buffers = [];
320
+ for (const buffer of doc.buffers || []) {
321
+ if (buffer.uri) {
322
+ const resource = gltfResult.resources.get(buffer.uri);
323
+ if (resource) {
324
+ buffers.push(resource);
325
+ continue;
326
+ }
327
+ }
328
+ buffers.push(new ArrayBuffer(buffer.byteLength));
329
+ }
330
+ return buffers;
331
+ }
332
+ extractGLBBinChunk(glb) {
333
+ const view = new DataView(glb);
334
+ const magic = view.getUint32(0, true);
335
+ if (magic !== 1179937895) return void 0;
336
+ const version = view.getUint32(4, true);
337
+ if (version !== 2) return void 0;
338
+ const length = view.getUint32(8, true);
339
+ let offset = 12;
340
+ while (offset < length) {
341
+ const chunkLength = view.getUint32(offset, true);
342
+ const chunkType = view.getUint32(offset + 4, true);
343
+ offset += 8;
344
+ if (chunkType === 5130562) {
345
+ return glb.slice(offset, offset + chunkLength);
346
+ }
347
+ offset += chunkLength;
348
+ }
349
+ return void 0;
350
+ }
351
+ mapGLTFPrimitiveMode(mode) {
352
+ const modes = ["points", "lines", "lineLoop", "lineStrip", "triangles", "triangleStrip", "triangleFan"];
353
+ return modes[mode ?? 4] || "triangles";
354
+ }
355
+ mapGLTFTextureRef(index, uvChannel) {
356
+ return {
357
+ id: `tex_${index}`,
358
+ uvChannel,
359
+ offset: { u: 0, v: 0 },
360
+ scale: { u: 1, v: 1 },
361
+ rotation: 0
362
+ };
124
363
  }
125
364
  // ========================================================================
126
365
  // Private Methods - Stage Creation
@@ -142,6 +381,7 @@ var _USDZExporter = class _USDZExporter {
142
381
  };
143
382
  }
144
383
  async convertSceneGraph(sceneGraph) {
384
+ this.cacheAccessorData(sceneGraph);
145
385
  const rootPrim = createUSDXform("Root", "/Root");
146
386
  this.stage.prims.push(rootPrim);
147
387
  await this.convertMaterials(sceneGraph.materials || []);
@@ -151,6 +391,12 @@ var _USDZExporter = class _USDZExporter {
151
391
  this.convertAnimations(sceneGraph.animations);
152
392
  }
153
393
  }
394
+ cacheAccessorData(sceneGraph) {
395
+ for (let i = 0; i < (sceneGraph.accessors || []).length; i++) {
396
+ const data = this.extractAccessorData(i, sceneGraph);
397
+ this.sceneGraphAccessorData.set(i, data);
398
+ }
399
+ }
154
400
  // ========================================================================
155
401
  // Private Methods - Node Conversion
156
402
  // ========================================================================
@@ -160,6 +406,9 @@ var _USDZExporter = class _USDZExporter {
160
406
  const nodeName = sanitizeUSDName(node.name || `Node_${this.primCounter++}`);
161
407
  const nodePath = `${parentPrim.path}/${nodeName}`;
162
408
  const xformPrim = createUSDXform(nodeName, nodePath);
409
+ if (node.id) {
410
+ this.nodePrimMap.set(node.id, xformPrim);
411
+ }
163
412
  if (node.transform) {
164
413
  this.addTransform(xformPrim, node.transform);
165
414
  }
@@ -183,21 +432,21 @@ var _USDZExporter = class _USDZExporter {
183
432
  }
184
433
  }
185
434
  }
186
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Deep nested transform object access (position.x/y/z, rotation.x/y/z/w, scale.x/y/z)
435
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Deep nested transform object access (position[0]/y/z, rotation[0]/y/z/w, scale[0]/y/z)
187
436
  addTransform(prim, transform) {
188
437
  const ops = [];
189
438
  if (transform.position) {
190
439
  ops.push({
191
440
  type: "translate",
192
- value: [transform.position.x, transform.position.y, transform.position.z]
441
+ value: [transform.position[0], transform.position[1], transform.position[2]]
193
442
  });
194
443
  }
195
444
  if (transform.rotation) {
196
445
  const euler = quaternionToEuler([
197
- transform.rotation.x,
198
- transform.rotation.y,
199
- transform.rotation.z,
200
- transform.rotation.w
446
+ transform.rotation[0],
447
+ transform.rotation[1],
448
+ transform.rotation[2],
449
+ transform.rotation[3]
201
450
  ]);
202
451
  ops.push({
203
452
  type: "rotateXYZ",
@@ -207,7 +456,7 @@ var _USDZExporter = class _USDZExporter {
207
456
  if (transform.scale) {
208
457
  ops.push({
209
458
  type: "scale",
210
- value: [transform.scale.x, transform.scale.y, transform.scale.z]
459
+ value: [transform.scale[0], transform.scale[1], transform.scale[2]]
211
460
  });
212
461
  }
213
462
  if (ops.length > 0) {
@@ -468,8 +717,76 @@ var _USDZExporter = class _USDZExporter {
468
717
  // ========================================================================
469
718
  // Private Methods - Animation Conversion
470
719
  // ========================================================================
471
- convertAnimations(_animations) {
472
- console.warn("Animation export not yet implemented");
720
+ convertAnimations(animations) {
721
+ for (const animation of animations) {
722
+ this.convertAnimation(animation);
723
+ }
724
+ }
725
+ convertAnimation(animation) {
726
+ const channelsByNode = /* @__PURE__ */ new Map();
727
+ for (const channel of animation.channels) {
728
+ const list = channelsByNode.get(channel.targetNode) || [];
729
+ list.push(channel);
730
+ channelsByNode.set(channel.targetNode, list);
731
+ }
732
+ for (const [nodeId, channels] of Array.from(channelsByNode.entries())) {
733
+ const prim = this.nodePrimMap.get(nodeId);
734
+ if (!prim) continue;
735
+ for (const channel of channels) {
736
+ this.applyAnimationChannel(prim, channel, animation.samplers);
737
+ }
738
+ }
739
+ }
740
+ applyAnimationChannel(prim, channel, samplers) {
741
+ const sampler = samplers[channel.samplerIndex];
742
+ if (!sampler) return;
743
+ const times = this.extractAccessorDataFlat(sampler.inputBufferView);
744
+ const values = this.extractAccessorDataFlat(sampler.outputBufferView);
745
+ if (times.length === 0 || values.length === 0) return;
746
+ const timeSamples = /* @__PURE__ */ new Map();
747
+ switch (channel.targetPath) {
748
+ case "translation": {
749
+ for (let i = 0; i < times.length; i++) {
750
+ timeSamples.set(times[i], [values[i * 3], values[i * 3 + 1], values[i * 3 + 2]]);
751
+ }
752
+ this.setXformOpTimeSamples(prim, "xformOp:translate", "float3", timeSamples);
753
+ break;
754
+ }
755
+ case "rotation": {
756
+ for (let i = 0; i < times.length; i++) {
757
+ const qx = values[i * 4];
758
+ const qy = values[i * 4 + 1];
759
+ const qz = values[i * 4 + 2];
760
+ const qw = values[i * 4 + 3];
761
+ const euler = quaternionToEuler([qx, qy, qz, qw]);
762
+ timeSamples.set(times[i], euler);
763
+ }
764
+ this.setXformOpTimeSamples(prim, "xformOp:rotateXYZ", "float3", timeSamples);
765
+ break;
766
+ }
767
+ case "scale": {
768
+ for (let i = 0; i < times.length; i++) {
769
+ timeSamples.set(times[i], [values[i * 3], values[i * 3 + 1], values[i * 3 + 2]]);
770
+ }
771
+ this.setXformOpTimeSamples(prim, "xformOp:scale", "float3", timeSamples);
772
+ break;
773
+ }
774
+ case "weights": {
775
+ console.warn(`Morph target animation not yet supported for ${prim.name}`);
776
+ break;
777
+ }
778
+ }
779
+ }
780
+ extractAccessorDataFlat(accessorIndex) {
781
+ return this.sceneGraphAccessorData.get(accessorIndex) || [];
782
+ }
783
+ setXformOpTimeSamples(prim, opName, type, timeSamples) {
784
+ let attr = prim.attributes.find((a) => a.name === opName);
785
+ if (!attr) {
786
+ attr = { name: opName, type, value: timeSamples.values().next().value || [] };
787
+ prim.attributes.push(attr);
788
+ }
789
+ attr.timeSamples = timeSamples;
473
790
  }
474
791
  // ========================================================================
475
792
  // Private Methods - AR Metadata
@@ -551,8 +868,17 @@ var _USDZExporter = class _USDZExporter {
551
868
  }
552
869
  serializeAttribute(attr, lines, indent) {
553
870
  const ind = " ".repeat(indent);
554
- const value = this.serializeValue(attr.value, attr.type);
555
- lines.push(`${ind}${attr.type} ${attr.name} = ${value}`);
871
+ if (attr.timeSamples && attr.timeSamples.size > 0) {
872
+ lines.push(`${ind}${attr.type} ${attr.name}.timeSamples = {`);
873
+ for (const [time, sample] of Array.from(attr.timeSamples.entries())) {
874
+ const serializedSample = this.serializeValue(sample, attr.type);
875
+ lines.push(`${ind} ${time}: ${serializedSample},`);
876
+ }
877
+ lines.push(`${ind}}`);
878
+ } else {
879
+ const value = this.serializeValue(attr.value, attr.type);
880
+ lines.push(`${ind}${attr.type} ${attr.name} = ${value}`);
881
+ }
556
882
  }
557
883
  serializeValue(value, type) {
558
884
  if (Array.isArray(value)) {
@@ -661,6 +987,8 @@ var _USDZExporter = class _USDZExporter {
661
987
  this.primCounter = 0;
662
988
  this.materialMap.clear();
663
989
  this.meshMap.clear();
990
+ this.nodePrimMap.clear();
991
+ this.sceneGraphAccessorData.clear();
664
992
  this.textureFiles = [];
665
993
  }
666
994
  calculateStats(usdzSize, exportTime) {
@@ -705,5 +1033,5 @@ _USDZExporter.DEFAULT_OPTIONS = {
705
1033
  var USDZExporter = _USDZExporter;
706
1034
 
707
1035
  exports.USDZExporter = USDZExporter;
708
- //# sourceMappingURL=USDZExporter-UWGWNMMD.cjs.map
709
- //# sourceMappingURL=USDZExporter-UWGWNMMD.cjs.map
1036
+ //# sourceMappingURL=USDZExporter-3FWJ25JI.cjs.map
1037
+ //# sourceMappingURL=USDZExporter-3FWJ25JI.cjs.map