@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,4 +1,4 @@
1
- import { loadConstraintsFromConfig, BUILTIN_CONSTRAINTS } from './chunk-BKIGPPVM.js';
1
+ import { loadConstraintsFromConfig, BUILTIN_CONSTRAINTS } from './chunk-XSFNHP2E.js';
2
2
 
3
3
  // src/types/AdvancedTypeSystem.ts
4
4
  var ExhaustivenessChecker = class {
@@ -509,8 +509,8 @@ var HoloScriptTypeChecker = class {
509
509
  * Check a node for type errors
510
510
  */
511
511
  checkNode(node) {
512
- this.currentLine = node.position?.x ?? 0;
513
- this.currentColumn = node.position?.y ?? 0;
512
+ this.currentLine = node.position?.[0] ?? 0;
513
+ this.currentColumn = node.position?.[1] ?? 0;
514
514
  switch (node.type) {
515
515
  case "connection":
516
516
  this.checkConnection(node);
@@ -1212,5 +1212,5 @@ function createTypeChecker() {
1212
1212
  }
1213
1213
 
1214
1214
  export { HoloScriptTypeChecker, createTypeChecker };
1215
- //# sourceMappingURL=chunk-LDP5OK6G.js.map
1216
- //# sourceMappingURL=chunk-LDP5OK6G.js.map
1215
+ //# sourceMappingURL=chunk-VMLKSV26.js.map
1216
+ //# sourceMappingURL=chunk-VMLKSV26.js.map
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var chunkLK5IAVH6_cjs = require('./chunk-LK5IAVH6.cjs');
4
- var chunkQ5SJOGHQ_cjs = require('./chunk-Q5SJOGHQ.cjs');
5
- var chunkX4ZF6CNE_cjs = require('./chunk-X4ZF6CNE.cjs');
6
- var chunkLXJ4667L_cjs = require('./chunk-LXJ4667L.cjs');
7
- var chunkBF2235SI_cjs = require('./chunk-BF2235SI.cjs');
8
- var platform = require('@holoscript/platform');
3
+ var chunkEXUP2BUM_cjs = require('./chunk-EXUP2BUM.cjs');
4
+ var chunkBPICAGBV_cjs = require('./chunk-BPICAGBV.cjs');
5
+ var chunkOIQYIIO3_cjs = require('./chunk-OIQYIIO3.cjs');
6
+ var chunkHGVXZDSK_cjs = require('./chunk-HGVXZDSK.cjs');
7
+ var chunkRMHC2VG7_cjs = require('./chunk-RMHC2VG7.cjs');
8
+ var ans = require('@holoscript/core-types/ans');
9
9
 
10
10
  // src/compiler/GLTFPipeline.ts
11
- chunkX4ZF6CNE_cjs.init_TraitCompositor();
12
- chunkQ5SJOGHQ_cjs.init_R3FCompiler();
13
- chunkBF2235SI_cjs.init_CompilerBase();
14
- chunkLXJ4667L_cjs.init_DomainBlockCompilerMixin();
11
+ chunkOIQYIIO3_cjs.init_TraitCompositor();
12
+ chunkBPICAGBV_cjs.init_R3FCompiler();
13
+ chunkRMHC2VG7_cjs.init_CompilerBase();
14
+ chunkHGVXZDSK_cjs.init_DomainBlockCompilerMixin();
15
15
 
16
16
  // src/compiler/gltf/extensions.ts
17
17
  function createEmissiveStrengthExtension(strength) {
@@ -120,8 +120,8 @@ function declareExtensions(gltf) {
120
120
  }
121
121
 
122
122
  // src/compiler/GLTFPipeline.ts
123
- chunkQ5SJOGHQ_cjs.init_ObjectPool();
124
- var gltfNodePool = new chunkQ5SJOGHQ_cjs.ASTNodePool(
123
+ chunkBPICAGBV_cjs.init_ObjectPool();
124
+ var gltfNodePool = new chunkBPICAGBV_cjs.ASTNodePool(
125
125
  () => ({ name: "" }),
126
126
  (node) => {
127
127
  node.name = "";
@@ -840,7 +840,7 @@ function generatePlaneGeometry(scale) {
840
840
  var INITIAL_COMPILE_BUFFER_SIZE = 1024 * 1024;
841
841
  var MAX_RETAINED_BUFFER_SIZE = 1024 * 1024 * 20;
842
842
  var SHARED_COMPILE_BUFFER = new Uint8Array(INITIAL_COMPILE_BUFFER_SIZE);
843
- var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
843
+ var GLTFPipeline = class extends chunkRMHC2VG7_cjs.CompilerBase {
844
844
  constructor(options = {}) {
845
845
  super();
846
846
  this.compilerName = "GLTFPipeline";
@@ -873,6 +873,7 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
873
873
  this._skins = null;
874
874
  this._jointStartIndex = 0;
875
875
  this.options = {
876
+ provenanceHash: options.provenanceHash ?? "",
876
877
  format: options.format ?? "glb",
877
878
  dracoCompression: options.dracoCompression ?? false,
878
879
  quantize: options.quantize ?? true,
@@ -883,10 +884,10 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
883
884
  generator: options.generator ?? "HoloScript GLTFPipeline v1.0.0",
884
885
  copyright: options.copyright ?? ""
885
886
  };
886
- this.compositor = new chunkX4ZF6CNE_cjs.TraitCompositor();
887
+ this.compositor = new chunkOIQYIIO3_cjs.TraitCompositor();
887
888
  }
888
889
  getRequiredCapability() {
889
- return platform.ANSCapabilityPath.GLTF;
890
+ return ans.ANSCapabilityPath.GLTF;
890
891
  }
891
892
  get bufferData() {
892
893
  return SHARED_COMPILE_BUFFER;
@@ -1200,7 +1201,7 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
1200
1201
  if (SHARED_COMPILE_BUFFER.length > MAX_RETAINED_BUFFER_SIZE) {
1201
1202
  SHARED_COMPILE_BUFFER = new Uint8Array(INITIAL_COMPILE_BUFFER_SIZE);
1202
1203
  }
1203
- const gltf = this.buildDocument(composition.name, buffer.byteLength);
1204
+ const gltf = this.buildDocument(composition, buffer.byteLength);
1204
1205
  if (this.options.format === "glb") {
1205
1206
  const binary = this.createGLB(gltf, buffer);
1206
1207
  this.stats.fileSizeBytes = binary.byteLength;
@@ -1281,12 +1282,12 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
1281
1282
  }
1282
1283
  const domainBlocks = composition.domainBlocks ?? [];
1283
1284
  if (domainBlocks.length > 0) {
1284
- chunkLXJ4667L_cjs.compileDomainBlocks(
1285
+ chunkHGVXZDSK_cjs.compileDomainBlocks(
1285
1286
  domainBlocks,
1286
1287
  {
1287
1288
  material: (block) => {
1288
- const mat = chunkLXJ4667L_cjs.compileMaterialBlock(block);
1289
- const gltfMat = chunkLXJ4667L_cjs.materialToGLTF(mat);
1289
+ const mat = chunkHGVXZDSK_cjs.compileMaterialBlock(block);
1290
+ const gltfMat = chunkHGVXZDSK_cjs.materialToGLTF(mat);
1290
1291
  this.materials.push(gltfMat);
1291
1292
  this.stats.materialCount++;
1292
1293
  return "";
@@ -1484,7 +1485,7 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
1484
1485
  }
1485
1486
  const radialSegments = typeof segmentsProp === "number" ? segmentsProp : 24;
1486
1487
  const lengthSteps = typeof stepsProp === "number" ? stepsProp : 8;
1487
- geometry = chunkLK5IAVH6_cjs.generateSplineGeometry(points, radii, radialSegments, lengthSteps);
1488
+ geometry = chunkEXUP2BUM_cjs.generateSplineGeometry(points, radii, radialSegments, lengthSteps);
1488
1489
  break;
1489
1490
  }
1490
1491
  case "membrane": {
@@ -1494,7 +1495,7 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
1494
1495
  const anchors = this.extractNestedArray(anchorsProp, 3);
1495
1496
  const subdivisions = typeof subdivisionsProp === "number" ? subdivisionsProp : 8;
1496
1497
  const bulge = typeof bulgeProp === "number" ? bulgeProp : 0.15;
1497
- geometry = chunkLK5IAVH6_cjs.generateMembraneGeometry(anchors, subdivisions, bulge);
1498
+ geometry = chunkEXUP2BUM_cjs.generateMembraneGeometry(anchors, subdivisions, bulge);
1498
1499
  break;
1499
1500
  }
1500
1501
  case "hull":
@@ -1522,7 +1523,7 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
1522
1523
  }
1523
1524
  const resolution = typeof resolutionProp === "number" ? resolutionProp : 24;
1524
1525
  const threshold = typeof thresholdProp === "number" ? thresholdProp : 1;
1525
- geometry = chunkLK5IAVH6_cjs.generateHullGeometry(blobs, resolution, threshold);
1526
+ geometry = chunkEXUP2BUM_cjs.generateHullGeometry(blobs, resolution, threshold);
1526
1527
  break;
1527
1528
  }
1528
1529
  default:
@@ -1600,8 +1601,8 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
1600
1601
  let attenuationColor;
1601
1602
  let attenuationDistance;
1602
1603
  const namedMat = this.findProp(object, "material");
1603
- if (typeof namedMat === "string" && chunkQ5SJOGHQ_cjs.MATERIAL_PRESETS[namedMat]) {
1604
- const preset = chunkQ5SJOGHQ_cjs.MATERIAL_PRESETS[namedMat];
1604
+ if (typeof namedMat === "string" && chunkBPICAGBV_cjs.MATERIAL_PRESETS[namedMat]) {
1605
+ const preset = chunkBPICAGBV_cjs.MATERIAL_PRESETS[namedMat];
1605
1606
  if (preset.color) color = this.parseColorString(preset.color);
1606
1607
  if (preset.metalness !== void 0) metallic = preset.metalness;
1607
1608
  if (preset.roughness !== void 0) roughness = preset.roughness;
@@ -2033,7 +2034,8 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
2033
2034
  /**
2034
2035
  * Build the glTF JSON document
2035
2036
  */
2036
- buildDocument(name, bufferLength) {
2037
+ buildDocument(composition, bufferLength) {
2038
+ const name = composition.name;
2037
2039
  const gltf = {
2038
2040
  asset: {
2039
2041
  version: "2.0",
@@ -2066,6 +2068,24 @@ var GLTFPipeline = class extends chunkBF2235SI_cjs.CompilerBase {
2066
2068
  if (this._skins && this._skins.length > 0) {
2067
2069
  gltf.skins = this._skins;
2068
2070
  }
2071
+ const objectNames = (composition.objects || []).map((o) => o.name);
2072
+ const allTraits = /* @__PURE__ */ new Set();
2073
+ for (const obj of composition.objects || []) {
2074
+ for (const trait of obj.traits || []) {
2075
+ allTraits.add(typeof trait === "string" ? trait : trait.name);
2076
+ }
2077
+ }
2078
+ const groupNames = (composition.spatialGroups || []).map((g) => g.name);
2079
+ gltf.asset.extras = {
2080
+ holoscript: {
2081
+ version: "6.0",
2082
+ compositionName: name,
2083
+ objects: objectNames,
2084
+ traits: [...allTraits],
2085
+ spatialGroups: groupNames,
2086
+ ...this.options.provenanceHash ? { provenanceHash: this.options.provenanceHash } : {}
2087
+ }
2088
+ };
2069
2089
  declareExtensions(gltf);
2070
2090
  if (this.options.format === "gltf") {
2071
2091
  gltf.buffers[0].uri = `${name}.bin`;
@@ -2233,5 +2253,5 @@ exports.GLTFPipeline = GLTFPipeline;
2233
2253
  exports.createGLTFPipeline = createGLTFPipeline;
2234
2254
  exports.generateScaleNormalMap = generateScaleNormalMap;
2235
2255
  exports.generateScaleTexture = generateScaleTexture;
2236
- //# sourceMappingURL=chunk-5BGSECRJ.cjs.map
2237
- //# sourceMappingURL=chunk-5BGSECRJ.cjs.map
2256
+ //# sourceMappingURL=chunk-VSK7W3O5.cjs.map
2257
+ //# sourceMappingURL=chunk-VSK7W3O5.cjs.map
@@ -0,0 +1,55 @@
1
+ import { __esm } from './chunk-OL46QLBJ.js';
2
+ import { z } from 'zod';
3
+
4
+ function safeJsonParse(s, schema) {
5
+ let raw;
6
+ try {
7
+ raw = JSON.parse(s);
8
+ } catch (e) {
9
+ const message = e instanceof Error ? e.message : String(e);
10
+ return { ok: false, error: { kind: "json-parse", message, cause: e } };
11
+ }
12
+ const parsed = schema.safeParse(raw);
13
+ if (parsed.success) {
14
+ return { ok: true, value: parsed.data };
15
+ }
16
+ return {
17
+ ok: false,
18
+ error: { kind: "schema", message: parsed.error.message, zodError: parsed.error }
19
+ };
20
+ }
21
+ function readJson(s) {
22
+ const r = safeJsonParse(s, z.unknown());
23
+ if (r.ok) {
24
+ return r.value;
25
+ }
26
+ if (r.error.kind === "json-parse") {
27
+ const err = new SyntaxError(r.error.message);
28
+ err.cause = r.error.cause;
29
+ throw err;
30
+ }
31
+ throw new Error(`[readJson] schema failure on z.unknown: ${r.error.message}`);
32
+ }
33
+ function jsonClone(value) {
34
+ return readJson(JSON.stringify(value));
35
+ }
36
+ function tryParseJson(s, fallback) {
37
+ if (s === null || s === void 0) {
38
+ return fallback;
39
+ }
40
+ try {
41
+ return JSON.parse(s);
42
+ } catch {
43
+ return fallback;
44
+ }
45
+ }
46
+ var safeJsonParseSchema;
47
+ var init_safeJsonParse = __esm({
48
+ "src/errors/safeJsonParse.ts"() {
49
+ safeJsonParseSchema = safeJsonParse;
50
+ }
51
+ });
52
+
53
+ export { init_safeJsonParse, jsonClone, readJson, safeJsonParse, safeJsonParseSchema, tryParseJson };
54
+ //# sourceMappingURL=chunk-VVKVQZI6.js.map
55
+ //# sourceMappingURL=chunk-VVKVQZI6.js.map
@@ -1,5 +1,5 @@
1
- import { init_CompilerBase, init_ANSNamespace, ANSCapabilityPath, escapeStringValue } from './chunk-6XSERL6L.js';
2
- import { __esm } from './chunk-2CWOLHTE.js';
1
+ import { init_CompilerBase, init_ANSNamespace, ANSCapabilityPath, escapeStringValue } from './chunk-QTPMJRGS.js';
2
+ import { __esm } from './chunk-OL46QLBJ.js';
3
3
 
4
4
  // src/compiler/DomainBlockCompilerMixin.ts
5
5
  function esc(value, target) {
@@ -2540,7 +2540,7 @@ function roboticsToGodot(robotics) {
2540
2540
  );
2541
2541
  }
2542
2542
  lines.push(" current_angle = angle");
2543
- lines.push(" rotation.x = angle");
2543
+ lines.push(" rotation[0] = angle");
2544
2544
  lines.push(" joint_position_changed.emit(angle)");
2545
2545
  }
2546
2546
  return lines.join("\n");
@@ -2698,14 +2698,18 @@ function compileDataVizBlock(block) {
2698
2698
  const props = block.properties || {};
2699
2699
  let axes;
2700
2700
  if (props.x_axis || props.y_axis || props.z_axis) {
2701
- axes = { x: props.x_axis, y: props.y_axis, z: props.z_axis };
2701
+ axes = [
2702
+ String(props.x_axis ?? ""),
2703
+ String(props.y_axis ?? ""),
2704
+ String(props.z_axis ?? "")
2705
+ ];
2702
2706
  } else if (props.axes && typeof props.axes === "object") {
2703
2707
  const a = props.axes;
2704
- axes = {
2705
- x: a.x,
2706
- y: a.y,
2707
- z: a.z
2708
- };
2708
+ axes = [
2709
+ String(a[0] ?? ""),
2710
+ String(a[1] ?? ""),
2711
+ String(a[2] ?? "")
2712
+ ];
2709
2713
  }
2710
2714
  let dimensions;
2711
2715
  if (props.width != null || props.height != null) {
@@ -3644,6 +3648,55 @@ function inputToUSDA(input) {
3644
3648
  lines.push("}");
3645
3649
  return lines.join("\n");
3646
3650
  }
3651
+ function parseGravityVector(props) {
3652
+ const gv = props.gravity_vector ?? props.gravityVector;
3653
+ if (Array.isArray(gv) && gv.length === 3 && gv.every((n) => typeof n === "number")) {
3654
+ return [gv[0], gv[1], gv[2]];
3655
+ }
3656
+ const g = props.gravity;
3657
+ if (typeof g === "number" && !Number.isNaN(g)) {
3658
+ return [0, -Math.abs(g), 0];
3659
+ }
3660
+ return void 0;
3661
+ }
3662
+ function parseSimulationEnvironment(block) {
3663
+ const p = block.properties || {};
3664
+ const env = {};
3665
+ const topG = parseGravityVector(p);
3666
+ if (topG) env.gravity = topG;
3667
+ if (typeof p.skybox === "string" && p.skybox.trim()) {
3668
+ env.skyboxPreset = p.skybox.trim();
3669
+ }
3670
+ const colorRaw = p.skybox_color ?? p.skyboxColor ?? p.background_color;
3671
+ if (colorRaw != null && String(colorRaw).trim() !== "") {
3672
+ env.skyboxColor = String(colorRaw).trim();
3673
+ }
3674
+ const po = p.physics_overrides ?? p.physicsOverrides;
3675
+ if (po && typeof po === "object" && !Array.isArray(po)) {
3676
+ env.physicsOverrides = { ...po };
3677
+ }
3678
+ for (const child of block.children || []) {
3679
+ const c = child;
3680
+ if (c.type !== "DomainBlock") continue;
3681
+ const kw = c.keyword;
3682
+ const cp = c.properties || {};
3683
+ if (kw === "skybox" || kw === "environment_sky" || kw === "hdri") {
3684
+ if (typeof cp.preset === "string" && cp.preset.trim()) env.skyboxPreset = cp.preset.trim();
3685
+ if (cp.color != null && String(cp.color).trim() !== "") env.skyboxColor = String(cp.color).trim();
3686
+ }
3687
+ if (kw === "gravity" || kw === "world_gravity") {
3688
+ const g = parseGravityVector(cp);
3689
+ if (g) env.gravity = g;
3690
+ }
3691
+ if (kw === "physics_world" || kw === "physics_overrides") {
3692
+ env.physicsOverrides = { ...env.physicsOverrides, ...cp };
3693
+ }
3694
+ }
3695
+ if (!env.gravity && !env.skyboxPreset && !env.skyboxColor && !env.physicsOverrides) {
3696
+ return void 0;
3697
+ }
3698
+ return env;
3699
+ }
3647
3700
  function compileSimulationBlock(block) {
3648
3701
  const traits = block.traits || [];
3649
3702
  let simulationType = "unknown";
@@ -3665,24 +3718,59 @@ function compileSimulationBlock(block) {
3665
3718
  });
3666
3719
  }
3667
3720
  }
3721
+ const environment = parseSimulationEnvironment(block);
3668
3722
  return {
3669
3723
  keyword: block.keyword,
3670
3724
  name: block.name,
3671
3725
  simulationType,
3672
3726
  traits,
3673
3727
  config: block.properties || {},
3728
+ environment,
3674
3729
  overlays
3675
3730
  };
3676
3731
  }
3732
+ function simulationEnvironmentToR3FChunks(env) {
3733
+ if (!env) return { visualLines: [], userDataExpr: null };
3734
+ const visualLines = [];
3735
+ if (env.skyboxColor) {
3736
+ const hex = env.skyboxColor.startsWith("#") ? env.skyboxColor : `#${env.skyboxColor}`;
3737
+ visualLines.push(`<color attach="background" args={['${hex}']} />`);
3738
+ }
3739
+ if (env.skyboxPreset) {
3740
+ visualLines.push(
3741
+ `<Environment preset={${JSON.stringify(env.skyboxPreset)}} background />`
3742
+ );
3743
+ }
3744
+ const meta = {};
3745
+ if (env.gravity) meta.gravity = env.gravity;
3746
+ if (env.physicsOverrides && Object.keys(env.physicsOverrides).length > 0) {
3747
+ meta.physicsOverrides = env.physicsOverrides;
3748
+ }
3749
+ const userDataExpr = Object.keys(meta).length > 0 ? JSON.stringify({ holoscript: meta }) : null;
3750
+ return { visualLines, userDataExpr };
3751
+ }
3677
3752
  function simulationToR3F(sim) {
3678
- const configJSON = JSON.stringify(sim.config).replace(/"/g, "'").replace(/'/g, '"');
3753
+ const configExpr = JSON.stringify(sim.config);
3754
+ const { visualLines, userDataExpr } = simulationEnvironmentToR3FChunks(sim.environment);
3679
3755
  const overlayJSX = sim.overlays.map(
3680
3756
  (o) => `<ScalarFieldOverlay colormap="${o.colormap}" range={[${o.range.join(", ")}]} opacity={${o.opacity}} visible={${o.visible}} label="${o.label}" />`
3681
3757
  ).join("\n ");
3682
- return `{/* Simulation: ${sim.name} (${sim.simulationType}) */}
3683
- <SimulationProvider type="${sim.simulationType}" config={${configJSON}}>
3758
+ const envVisual = visualLines.length > 0 ? `${visualLines.join("\n ")}
3759
+ ` : "";
3760
+ const wrapWithGroup = (body) => userDataExpr ? `<group userData={${userDataExpr}}>
3761
+ ${body}
3762
+ </group>` : body;
3763
+ if (sim.simulationType === "unknown") {
3764
+ const body = `${envVisual}${overlayJSX}`;
3765
+ return `{/* Simulation: ${sim.name} (unknown solver \u2014 add thermal_simulation, structural_fem, or hydraulic_pipe trait) */}
3766
+ ${wrapWithGroup(body)}`;
3767
+ }
3768
+ const providerInner = overlayJSX ? `
3684
3769
  ${overlayJSX}
3685
- </SimulationProvider>`;
3770
+ ` : "\n ";
3771
+ const provider = `${envVisual}<SimulationProvider type="${sim.simulationType}" config={${configExpr}}>${providerInner}</SimulationProvider>`;
3772
+ return `{/* Simulation: ${sim.name} (${sim.simulationType}) */}
3773
+ ${wrapWithGroup(provider)}`;
3686
3774
  }
3687
3775
  function compileDomainBlocks(blocks, handlers, fallback) {
3688
3776
  return blocks.map((block) => {
@@ -3721,5 +3809,5 @@ var init_DomainBlockCompilerMixin = __esm({
3721
3809
  });
3722
3810
 
3723
3811
  export { DOMAIN_BLOCK_COMPILER_MIXIN_CAPABILITY, architectureToGodot, architectureToR3F, architectureToUSDA, architectureToUnity, architectureToVRChat, audioSourceToAndroidXR, audioSourceToBabylon, audioSourceToGodot, audioSourceToPlayCanvas, audioSourceToR3F, audioSourceToUSD, audioSourceToUnity, audioSourceToUnreal, audioSourceToVisionOS, compileArchitectureBlock, compileAudioSourceBlock, compileDataVizBlock, compileDomainBlocks, compileEducationBlock, compileHealthcareBlock, compileInputBlock, compileIoTBlock, compileMaterialBlock, compileMusicBlock, compileNarrativeBlock, compileNavigationBlock, compileParticleBlock, compilePaymentBlock, compilePhysicsBlock, compilePostProcessingBlock, compileProceduralBlock, compileRenderingBlock, compileRoboticsBlock, compileSimulationBlock, compileWeatherBlock, compileWeb3Block, datavizToGodot, datavizToR3F, datavizToUSDA, datavizToUnity, datavizToVRChat, educationToGodot, educationToR3F, educationToUSDA, educationToUnity, educationToVRChat, getRequiredCapability, healthcareToGodot, healthcareToR3F, healthcareToUSDA, healthcareToUnity, healthcareToVRChat, init_DomainBlockCompilerMixin, inputToGodot, inputToR3F, inputToUSDA, inputToUnity, inputToVRChat, iotToGodot, iotToR3F, iotToUSDA, iotToUnity, iotToVRChat, materialToAndroidXR, materialToBabylon, materialToGLTF, materialToGodot, materialToPlayCanvas, materialToR3F, materialToSDF, materialToUSD, materialToUnity, materialToUnreal, materialToVRChat, materialToVisionOS, materialToWebGPU, musicToGodot, musicToR3F, musicToUSDA, musicToUnity, musicToVRChat, narrativeToGodot, narrativeToR3F, narrativeToUSDA, narrativeToUnity, narrativeToVRChat, navigationToGodot, navigationToR3F, navigationToUSDA, navigationToUnity, navigationToVRChat, particlesToAndroidXR, particlesToBabylon, particlesToGodot, particlesToPlayCanvas, particlesToR3F, particlesToUSD, particlesToUnity, particlesToUnreal, particlesToVisionOS, paymentToGodot, paymentToR3F, paymentToUSDA, paymentToUnity, paymentToVRChat, physicsToAndroidXR, physicsToBabylon, physicsToGodot, physicsToPlayCanvas, physicsToR3F, physicsToSDF, physicsToURDF, physicsToUnity, physicsToUnreal, physicsToVisionOS, postProcessingToBabylon, postProcessingToGodot, postProcessingToR3F, postProcessingToUSD, postProcessingToUnity, postProcessingToUnreal, proceduralToGodot, proceduralToR3F, proceduralToUSDA, proceduralToUnity, proceduralToVRChat, renderingToGodot, renderingToR3F, renderingToUSDA, renderingToUnity, renderingToVRChat, roboticsToGodot, roboticsToR3F, roboticsToUSDA, roboticsToUnity, roboticsToVRChat, simulationToR3F, weatherToAndroidXR, weatherToGodot, weatherToR3F, weatherToUSD, weatherToUnity, weatherToUnreal, web3ToGodot, web3ToR3F, web3ToUSDA, web3ToUnity, web3ToVRChat };
3724
- //# sourceMappingURL=chunk-YQK5JNFK.js.map
3725
- //# sourceMappingURL=chunk-YQK5JNFK.js.map
3812
+ //# sourceMappingURL=chunk-W55Z7QIX.js.map
3813
+ //# sourceMappingURL=chunk-W55Z7QIX.js.map
@@ -437,7 +437,7 @@ function uint8ArrayToBase64(data) {
437
437
  return btoa(binary);
438
438
  }
439
439
  async function importGLTFPipeline() {
440
- return import('./GLTFPipeline-YPCAK236.cjs');
440
+ return import('./GLTFPipeline-VNNDPONV.cjs');
441
441
  }
442
442
  function registerGLTFTools(server) {
443
443
  for (const tool of GLTF_PIPELINE_TOOLS) {
@@ -453,5 +453,5 @@ exports.handleGLTFToolCall = handleGLTFToolCall;
453
453
  exports.inspectComposition = inspectComposition;
454
454
  exports.registerGLTFTools = registerGLTFTools;
455
455
  exports.validateForGLTF = validateForGLTF;
456
- //# sourceMappingURL=chunk-KSGXLT74.cjs.map
457
- //# sourceMappingURL=chunk-KSGXLT74.cjs.map
456
+ //# sourceMappingURL=chunk-W6P2GBHH.cjs.map
457
+ //# sourceMappingURL=chunk-W6P2GBHH.cjs.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk3FXV5S25_cjs = require('./chunk-3FXV5S25.cjs');
3
+ var chunkC37BHB7N_cjs = require('./chunk-C37BHB7N.cjs');
4
4
 
5
5
  // src/types/AdvancedTypeSystem.ts
6
6
  var ExhaustivenessChecker = class {
@@ -393,7 +393,7 @@ var HoloScriptTypeChecker = class {
393
393
  * Call before check() when you have a holoscript.config.json.
394
394
  */
395
395
  loadConfig(config) {
396
- this.customConstraints = chunk3FXV5S25_cjs.loadConstraintsFromConfig(config);
396
+ this.customConstraints = chunkC37BHB7N_cjs.loadConstraintsFromConfig(config);
397
397
  }
398
398
  /**
399
399
  * Register a type alias (e.g. from a `type Foo = ...` declaration in source).
@@ -511,8 +511,8 @@ var HoloScriptTypeChecker = class {
511
511
  * Check a node for type errors
512
512
  */
513
513
  checkNode(node) {
514
- this.currentLine = node.position?.x ?? 0;
515
- this.currentColumn = node.position?.y ?? 0;
514
+ this.currentLine = node.position?.[0] ?? 0;
515
+ this.currentColumn = node.position?.[1] ?? 0;
516
516
  switch (node.type) {
517
517
  case "connection":
518
518
  this.checkConnection(node);
@@ -1084,7 +1084,7 @@ var HoloScriptTypeChecker = class {
1084
1084
  return;
1085
1085
  }
1086
1086
  const traitNames = Array.from(traitsMap.keys());
1087
- const allConstraints = [...chunk3FXV5S25_cjs.BUILTIN_CONSTRAINTS, ...this.customConstraints];
1087
+ const allConstraints = [...chunkC37BHB7N_cjs.BUILTIN_CONSTRAINTS, ...this.customConstraints];
1088
1088
  for (const constraint of allConstraints) {
1089
1089
  if (constraint.type === "requires") {
1090
1090
  if (traitNames.includes(constraint.source)) {
@@ -1215,5 +1215,5 @@ function createTypeChecker() {
1215
1215
 
1216
1216
  exports.HoloScriptTypeChecker = HoloScriptTypeChecker;
1217
1217
  exports.createTypeChecker = createTypeChecker;
1218
- //# sourceMappingURL=chunk-IBDG74G2.cjs.map
1219
- //# sourceMappingURL=chunk-IBDG74G2.cjs.map
1218
+ //# sourceMappingURL=chunk-W6RW64BB.cjs.map
1219
+ //# sourceMappingURL=chunk-W6RW64BB.cjs.map