@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
@@ -0,0 +1,446 @@
1
+ 'use strict';
2
+
3
+ var chunkHCCQLAA4_cjs = require('./chunk-HCCQLAA4.cjs');
4
+
5
+ // src/compiler/traits/Semiring.ts
6
+ function minPlusMul(a, b) {
7
+ return !Number.isFinite(a) || !Number.isFinite(b) ? Number.POSITIVE_INFINITY : a + b;
8
+ }
9
+ function maxPlusMul(a, b) {
10
+ return !Number.isFinite(a) || !Number.isFinite(b) ? Number.NEGATIVE_INFINITY : a + b;
11
+ }
12
+ function strategyToSemiring(strategy) {
13
+ switch (strategy) {
14
+ case "sum":
15
+ case "multiply":
16
+ return exports.SumProductSemiring;
17
+ case "tropical-min-plus":
18
+ return exports.MinPlusSemiring;
19
+ case "tropical-max-plus":
20
+ return exports.MaxPlusSemiring;
21
+ default:
22
+ return null;
23
+ }
24
+ }
25
+ exports.MinPlusSemiring = void 0; exports.MaxPlusSemiring = void 0; exports.SumProductSemiring = void 0;
26
+ var init_Semiring = chunkHCCQLAA4_cjs.__esm({
27
+ "src/compiler/traits/Semiring.ts"() {
28
+ exports.MinPlusSemiring = {
29
+ zero: Number.POSITIVE_INFINITY,
30
+ one: 0,
31
+ add: (a, b) => Math.min(a, b),
32
+ mul: minPlusMul
33
+ };
34
+ exports.MaxPlusSemiring = {
35
+ zero: Number.NEGATIVE_INFINITY,
36
+ one: 0,
37
+ add: (a, b) => Math.max(a, b),
38
+ mul: maxPlusMul
39
+ };
40
+ exports.SumProductSemiring = {
41
+ zero: 0,
42
+ one: 1,
43
+ add: (a, b) => a + b,
44
+ mul: (a, b) => a * b
45
+ };
46
+ }
47
+ });
48
+
49
+ // src/compiler/traits/ProvenanceSemiring.ts
50
+ function isDeadElement(value) {
51
+ return value === exports.TRAIT_ZERO;
52
+ }
53
+ function createDeadElement(subsystem, elementId, reason, originalValue) {
54
+ return {
55
+ subsystem,
56
+ reason,
57
+ determinedAt: Date.now(),
58
+ elementId,
59
+ originalValue
60
+ };
61
+ }
62
+ function authorityWeight(level, reputationScore) {
63
+ const clamped = Math.max(0, Math.min(100, level));
64
+ let baseWeight = 0.5 + clamped / 100 * 1.5;
65
+ if (reputationScore !== void 0 && reputationScore > 0) {
66
+ if (reputationScore >= 100)
67
+ baseWeight *= 3;
68
+ else if (reputationScore >= 30)
69
+ baseWeight *= 2;
70
+ else if (reputationScore >= 5) baseWeight *= 1.5;
71
+ }
72
+ return baseWeight;
73
+ }
74
+ function tieBreakProvenance(a, b) {
75
+ const aid = String(a.context?.agentId ?? "");
76
+ const bid = String(b.context?.agentId ?? "");
77
+ if (aid !== bid) return aid < bid ? a : b;
78
+ const opA = String(a.context?.opId ?? "");
79
+ const opB = String(b.context?.opId ?? "");
80
+ if (opA !== opB) return opA < opB ? a : b;
81
+ const srcA = String(a.source ?? "");
82
+ const srcB = String(b.source ?? "");
83
+ if (srcA !== srcB) return srcA < srcB ? a : b;
84
+ const ja = canonicalTieValue(a.value);
85
+ const jb = canonicalTieValue(b.value);
86
+ if (ja !== jb) return ja <= jb ? a : b;
87
+ return a;
88
+ }
89
+ function canonicalTieValue(value, seen = /* @__PURE__ */ new WeakSet()) {
90
+ if (value === null) return "null";
91
+ switch (typeof value) {
92
+ case "string":
93
+ return `string:${JSON.stringify(value)}`;
94
+ case "number":
95
+ return Number.isFinite(value) ? `number:${value}` : `number:${String(value)}`;
96
+ case "bigint":
97
+ return `bigint:${value.toString()}`;
98
+ case "boolean":
99
+ return `boolean:${value}`;
100
+ case "undefined":
101
+ return "undefined";
102
+ case "symbol":
103
+ return `symbol:${String(value)}`;
104
+ case "function":
105
+ return `function:${value.name}`;
106
+ }
107
+ if (seen.has(value)) return "[Circular]";
108
+ seen.add(value);
109
+ let canonical;
110
+ if (value instanceof Date) {
111
+ const millis = value.getTime();
112
+ canonical = Number.isNaN(millis) ? "date:Invalid" : `date:${value.toISOString()}`;
113
+ } else if (Array.isArray(value)) {
114
+ canonical = `array:[${value.map((item) => canonicalTieValue(item, seen)).join(",")}]`;
115
+ } else {
116
+ const entries = Object.entries(value).sort(
117
+ ([left], [right]) => left.localeCompare(right)
118
+ );
119
+ canonical = `object:{${entries.map(([key, item]) => `${JSON.stringify(key)}:${canonicalTieValue(item, seen)}`).join(",")}}`;
120
+ }
121
+ seen.delete(value);
122
+ return canonical;
123
+ }
124
+ function isVectorValue(v) {
125
+ return Array.isArray(v) && v.length > 0 && v.every((x) => typeof x === "number");
126
+ }
127
+ function vecMagnitude(v) {
128
+ let sum = 0;
129
+ for (const x of v) sum += x * x;
130
+ return Math.sqrt(sum);
131
+ }
132
+ function vecAdd(a, b) {
133
+ if (a.length !== b.length) {
134
+ throw new Error(`Vector dimensionality mismatch: ${a.length} vs ${b.length}`);
135
+ }
136
+ return a.map((ai, i) => ai + b[i]);
137
+ }
138
+ function vecComponentMax(a, b) {
139
+ if (a.length !== b.length) {
140
+ throw new Error(`Vector dimensionality mismatch: ${a.length} vs ${b.length}`);
141
+ }
142
+ return a.map((ai, i) => Math.max(ai, b[i]));
143
+ }
144
+ function vecComponentMin(a, b) {
145
+ if (a.length !== b.length) {
146
+ throw new Error(`Vector dimensionality mismatch: ${a.length} vs ${b.length}`);
147
+ }
148
+ return a.map((ai, i) => Math.min(ai, b[i]));
149
+ }
150
+ function vecAuthorityPick(a, weightA, b, weightB) {
151
+ const eps = 1e-12;
152
+ if (Math.abs(weightA - weightB) > eps) return weightA > weightB ? a : b;
153
+ const magA = vecMagnitude(a);
154
+ const magB = vecMagnitude(b);
155
+ if (Math.abs(magA - magB) > eps) return magA >= magB ? a : b;
156
+ return JSON.stringify(a) <= JSON.stringify(b) ? a : b;
157
+ }
158
+ exports.TRAIT_ZERO = void 0; exports.AuthorityTier = void 0; exports.ProvenanceSemiring = void 0;
159
+ var init_ProvenanceSemiring = chunkHCCQLAA4_cjs.__esm({
160
+ "src/compiler/traits/ProvenanceSemiring.ts"() {
161
+ init_Semiring();
162
+ exports.TRAIT_ZERO = /* @__PURE__ */ Symbol.for("HoloScript::TraitZero");
163
+ exports.AuthorityTier = /* @__PURE__ */ ((AuthorityTier2) => {
164
+ AuthorityTier2[AuthorityTier2["GUEST"] = 0] = "GUEST";
165
+ AuthorityTier2[AuthorityTier2["AGENT"] = 25] = "AGENT";
166
+ AuthorityTier2[AuthorityTier2["MEMBER"] = 50] = "MEMBER";
167
+ AuthorityTier2[AuthorityTier2["ADMIN"] = 75] = "ADMIN";
168
+ AuthorityTier2[AuthorityTier2["FOUNDER"] = 100] = "FOUNDER";
169
+ return AuthorityTier2;
170
+ })(exports.AuthorityTier || {});
171
+ exports.ProvenanceSemiring = class {
172
+ constructor(rules) {
173
+ this.rules = /* @__PURE__ */ new Map();
174
+ if (rules) {
175
+ for (const rule of rules) {
176
+ this.rules.set(rule.property, rule);
177
+ }
178
+ } else {
179
+ this.loadDefaultRules();
180
+ }
181
+ }
182
+ loadDefaultRules() {
183
+ this.rules.set("type", {
184
+ property: "type",
185
+ strategy: "domain-override",
186
+ precedence: ["kinematic", "physics", "collidable", "static"]
187
+ });
188
+ this.rules.set("mass", { property: "mass", strategy: "authority-weighted" });
189
+ this.rules.set("friction", { property: "friction", strategy: "max" });
190
+ this.rules.set("restitution", { property: "restitution", strategy: "min" });
191
+ this.rules.set("color", {
192
+ property: "color",
193
+ strategy: "domain-override",
194
+ precedence: ["material", "color", "hoverable", "glowing"]
195
+ });
196
+ this.rules.set("opacity", { property: "opacity", strategy: "min" });
197
+ this.rules.set("velocity", { property: "velocity", strategy: "vec-component-sum" });
198
+ this.rules.set("acceleration", { property: "acceleration", strategy: "vec-component-sum" });
199
+ this.rules.set("angularVelocity", { property: "angularVelocity", strategy: "vec-component-sum" });
200
+ this.rules.set("stressTensor", { property: "stressTensor", strategy: "vec-component-max" });
201
+ this.rules.set("displacementField", { property: "displacementField", strategy: "vec-magnitude-max" });
202
+ this.rules.set("forceField", { property: "forceField", strategy: "vec-authority-weighted" });
203
+ }
204
+ /**
205
+ * Commutative addition (⊕)
206
+ * Merges multiple traits into a unified provenanced configuration map.
207
+ */
208
+ add(traits) {
209
+ const acc = {};
210
+ const conflicts = [];
211
+ const errors = [];
212
+ const deadElements = [];
213
+ for (const trait of traits) {
214
+ for (const [key, value] of Object.entries(trait.config)) {
215
+ if (value === exports.TRAIT_ZERO) {
216
+ deadElements.push(
217
+ createDeadElement(
218
+ "semiring",
219
+ `${trait.name}.${key}`,
220
+ `TRAIT_ZERO encountered during addition: property '${key}' from @${trait.name}`
221
+ )
222
+ );
223
+ continue;
224
+ }
225
+ if (!(key in acc)) {
226
+ acc[key] = { value, source: trait.name, context: trait.context };
227
+ } else {
228
+ const existing = acc[key];
229
+ try {
230
+ acc[key] = this.multiply(
231
+ existing,
232
+ { value, source: trait.name, context: trait.context },
233
+ key
234
+ );
235
+ conflicts.push(
236
+ `Resolved conflict on property '${key}' between @${existing.source} and @${trait.name}`
237
+ );
238
+ } catch (err) {
239
+ errors.push(err instanceof Error ? err.message : String(err));
240
+ }
241
+ }
242
+ }
243
+ }
244
+ const finalConfig = {};
245
+ for (const [k, v] of Object.entries(acc)) {
246
+ finalConfig[k] = v.value;
247
+ }
248
+ return {
249
+ config: finalConfig,
250
+ provenance: acc,
251
+ conflicts,
252
+ errors,
253
+ deadElements
254
+ };
255
+ }
256
+ /**
257
+ * Semiring multiplication (⊗)
258
+ * Resolves conflicts based on loaded domain rules, enforcing commutativity.
259
+ *
260
+ * C1 FIX: Authority no longer bypasses rules. Instead, authority modulates
261
+ * the weight within rule resolution. Higher authority = higher weight in
262
+ * numeric strategies, tiebreaker in domain-override. This ensures the
263
+ * algebraic structure is preserved — crossing an authority threshold
264
+ * changes the WEIGHT of a resolution, not the MECHANISM.
265
+ */
266
+ multiply(a, b, property) {
267
+ if (a.value === exports.TRAIT_ZERO) return a;
268
+ if (b.value === exports.TRAIT_ZERO) return b;
269
+ if (a.value === b.value) return tieBreakProvenance(a, b);
270
+ const rule = this.rules.get(property);
271
+ if (!rule) {
272
+ const authA = a.context?.authorityLevel ?? 0;
273
+ const authB = b.context?.authorityLevel ?? 0;
274
+ if (authA !== authB) {
275
+ return authA > authB ? a : b;
276
+ }
277
+ throw new Error(
278
+ `Unresolved conflict on '${property}': @${a.source} (${a.value}) vs @${b.source} (${b.value})`
279
+ );
280
+ }
281
+ const weightA = authorityWeight(a.context?.authorityLevel ?? 0, a.context?.reputationScore);
282
+ const weightB = authorityWeight(b.context?.authorityLevel ?? 0, b.context?.reputationScore);
283
+ if (rule && (rule.strategy === "tropical-min-plus" || rule.strategy === "tropical-max-plus")) {
284
+ const semiring = strategyToSemiring(rule.strategy);
285
+ if (!semiring) {
286
+ throw new Error(`No semiring adapter available for strategy '${rule.strategy}'`);
287
+ }
288
+ const srcA = String(a.source);
289
+ const srcB = String(b.source);
290
+ let selectedContext = weightA > weightB ? a.context : weightA < weightB ? b.context : tieBreakProvenance(a, b).context;
291
+ return {
292
+ value: semiring.mul(a.value, b.value),
293
+ source: srcA < srcB ? `${srcA}\u2297${srcB}` : `${srcB}\u2297${srcA}`,
294
+ context: selectedContext
295
+ };
296
+ }
297
+ switch (rule.strategy) {
298
+ case "max": {
299
+ const valA = a.value;
300
+ const valB = b.value;
301
+ if (valA === valB) return tieBreakProvenance(a, b);
302
+ return {
303
+ value: Math.max(valA, valB),
304
+ source: valA > valB ? a.source : b.source
305
+ };
306
+ }
307
+ case "min": {
308
+ const valA = a.value;
309
+ const valB = b.value;
310
+ if (valA === valB) return tieBreakProvenance(a, b);
311
+ return {
312
+ value: Math.min(valA, valB),
313
+ source: valA < valB ? a.source : b.source
314
+ };
315
+ }
316
+ case "sum": {
317
+ const srcA = String(a.source);
318
+ const srcB = String(b.source);
319
+ return {
320
+ value: a.value + b.value,
321
+ source: srcA < srcB ? `${srcA}+${srcB}` : `${srcB}+${srcA}`
322
+ };
323
+ }
324
+ case "multiply": {
325
+ const srcA = String(a.source);
326
+ const srcB = String(b.source);
327
+ return {
328
+ value: a.value * b.value,
329
+ source: srcA < srcB ? `${srcA}*${srcB}` : `${srcB}*${srcA}`
330
+ };
331
+ }
332
+ case "authority-weighted": {
333
+ const scaledA = a.value * weightA;
334
+ const scaledB = b.value * weightB;
335
+ const eps = 1e-12;
336
+ if (Math.abs(scaledA - scaledB) <= eps) {
337
+ return tieBreakProvenance(a, b);
338
+ }
339
+ return scaledA > scaledB ? { value: a.value, source: a.source, context: a.context } : { value: b.value, source: b.source, context: b.context };
340
+ }
341
+ case "domain-override": {
342
+ const precedence = rule.precedence || [];
343
+ const aIndex = precedence.indexOf(a.source);
344
+ const bIndex = precedence.indexOf(b.source);
345
+ if (aIndex !== -1 && bIndex !== -1) {
346
+ if (aIndex === bIndex) {
347
+ if (weightA !== weightB) return weightA > weightB ? a : b;
348
+ return tieBreakProvenance(a, b);
349
+ }
350
+ return aIndex < bIndex ? a : b;
351
+ } else if (aIndex !== -1) {
352
+ return a;
353
+ } else if (bIndex !== -1) {
354
+ return b;
355
+ } else {
356
+ if (weightA !== weightB) {
357
+ return weightA > weightB ? a : b;
358
+ }
359
+ return tieBreakProvenance(a, b);
360
+ }
361
+ }
362
+ // ── vector strategies (paper-3 §5.2) ────────────────────────────────
363
+ case "vec-component-max": {
364
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
365
+ throw new Error(
366
+ `vec-component-max requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
367
+ );
368
+ }
369
+ const srcA = String(a.source);
370
+ const srcB = String(b.source);
371
+ return {
372
+ value: vecComponentMax(a.value, b.value),
373
+ source: srcA < srcB ? `${srcA}\u2295max${srcB}` : `${srcB}\u2295max${srcA}`
374
+ };
375
+ }
376
+ case "vec-component-min": {
377
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
378
+ throw new Error(
379
+ `vec-component-min requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
380
+ );
381
+ }
382
+ const srcA = String(a.source);
383
+ const srcB = String(b.source);
384
+ return {
385
+ value: vecComponentMin(a.value, b.value),
386
+ source: srcA < srcB ? `${srcA}\u2295min${srcB}` : `${srcB}\u2295min${srcA}`
387
+ };
388
+ }
389
+ case "vec-component-sum": {
390
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
391
+ throw new Error(
392
+ `vec-component-sum requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
393
+ );
394
+ }
395
+ const srcA = String(a.source);
396
+ const srcB = String(b.source);
397
+ return {
398
+ value: vecAdd(a.value, b.value),
399
+ source: srcA < srcB ? `${srcA}+${srcB}` : `${srcB}+${srcA}`
400
+ };
401
+ }
402
+ case "vec-magnitude-max": {
403
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
404
+ throw new Error(
405
+ `vec-magnitude-max requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
406
+ );
407
+ }
408
+ const magA = vecMagnitude(a.value);
409
+ const magB = vecMagnitude(b.value);
410
+ const eps = 1e-12;
411
+ if (Math.abs(magA - magB) <= eps) {
412
+ const srcA = String(a.source);
413
+ const srcB = String(b.source);
414
+ return srcA <= srcB ? a : b;
415
+ }
416
+ return magA > magB ? a : b;
417
+ }
418
+ case "vec-authority-weighted": {
419
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
420
+ throw new Error(
421
+ `vec-authority-weighted requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
422
+ );
423
+ }
424
+ const winner = vecAuthorityPick(a.value, weightA, b.value, weightB);
425
+ const isA = winner === a.value;
426
+ return isA ? { value: a.value, source: a.source, context: a.context } : { value: b.value, source: b.source, context: b.context };
427
+ }
428
+ case "strict-error":
429
+ default:
430
+ throw new Error(
431
+ `Composition conflict: @${a.source} and @${b.source} both supply '${property}' = ${a.value} vs ${b.value}`
432
+ );
433
+ }
434
+ }
435
+ };
436
+ }
437
+ });
438
+
439
+ exports.authorityWeight = authorityWeight;
440
+ exports.createDeadElement = createDeadElement;
441
+ exports.init_ProvenanceSemiring = init_ProvenanceSemiring;
442
+ exports.init_Semiring = init_Semiring;
443
+ exports.isDeadElement = isDeadElement;
444
+ exports.strategyToSemiring = strategyToSemiring;
445
+ //# sourceMappingURL=chunk-5S7RKFGR.cjs.map
446
+ //# sourceMappingURL=chunk-5S7RKFGR.cjs.map
@@ -1,9 +1,10 @@
1
- import { init_ProvenanceSemiring, ProvenanceSemiring } from './chunk-A7PIMZGU.js';
2
- import { init_TraitCompositor, TraitCompositor } from './chunk-DXJQDCFL.js';
3
- import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileWeatherBlock, compileAudioSourceBlock, audioSourceToBabylon, compilePostProcessingBlock, postProcessingToBabylon, compileParticleBlock, particlesToBabylon, compilePhysicsBlock, physicsToBabylon, compileMaterialBlock, materialToBabylon } from './chunk-YQK5JNFK.js';
4
- import { init_CompilerBase, CompilerBase } from './chunk-6XSERL6L.js';
5
- import { __export, __esm } from './chunk-2CWOLHTE.js';
6
- import { ANSCapabilityPath } from '@holoscript/platform';
1
+ import { init_ProvenanceSemiring, ProvenanceSemiring } from './chunk-TJHVSBP2.js';
2
+ import { init_TraitCompositor, TraitCompositor } from './chunk-4C57PR42.js';
3
+ import { init_PlatformConditionalCompilerMixin, createPlatformTarget, PlatformConditionalCompilerMixin } from './chunk-GZG4KA4E.js';
4
+ import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileWeatherBlock, compileAudioSourceBlock, audioSourceToBabylon, compilePostProcessingBlock, postProcessingToBabylon, compileParticleBlock, particlesToBabylon, compilePhysicsBlock, physicsToBabylon, compileMaterialBlock, materialToBabylon } from './chunk-W55Z7QIX.js';
5
+ import { init_CompilerBase, CompilerBase } from './chunk-QTPMJRGS.js';
6
+ import { __export, __esm } from './chunk-OL46QLBJ.js';
7
+ import { ANSCapabilityPath } from '@holoscript/core-types/ans';
7
8
 
8
9
  // src/compiler/BabylonCompiler.ts
9
10
  var BabylonCompiler_exports = {};
@@ -17,6 +18,7 @@ var init_BabylonCompiler = __esm({
17
18
  init_ProvenanceSemiring();
18
19
  init_CompilerBase();
19
20
  init_DomainBlockCompilerMixin();
21
+ init_PlatformConditionalCompilerMixin();
20
22
  SHAPE_TO_MESH = {
21
23
  sphere: "CreateSphere",
22
24
  orb: "CreateSphere",
@@ -42,7 +44,9 @@ var init_BabylonCompiler = __esm({
42
44
  className: options.className || "GeneratedScene",
43
45
  useHavok: options.useHavok ?? true,
44
46
  enableXR: options.enableXR ?? false,
45
- indent: options.indent || " "
47
+ indent: options.indent || " ",
48
+ provenanceHash: options.provenanceHash ?? "",
49
+ platformTarget: options.platformTarget ?? ""
46
50
  };
47
51
  }
48
52
  getRequiredCapability() {
@@ -50,12 +54,20 @@ var init_BabylonCompiler = __esm({
50
54
  }
51
55
  compile(composition, agentToken, outputPath) {
52
56
  this.validateCompilerAccess(agentToken, outputPath);
57
+ if (this.options.platformTarget) {
58
+ const target = typeof this.options.platformTarget === "string" ? createPlatformTarget(this.options.platformTarget) : this.options.platformTarget;
59
+ const platformMixin = new PlatformConditionalCompilerMixin();
60
+ composition = platformMixin.filterForPlatform(composition, target);
61
+ }
53
62
  this.lines = [];
54
63
  this.indentLevel = 0;
55
64
  this.emit("// Auto-generated by HoloScript BabylonCompiler");
56
65
  this.emit(
57
66
  `// Source: composition "${this.escapeStringValue(composition.name, "TypeScript")}"`
58
67
  );
68
+ if (this.options.provenanceHash) {
69
+ this.emit(`// Provenance Hash: ${this.options.provenanceHash}`);
70
+ }
59
71
  this.emit("");
60
72
  this.emitImports(composition);
61
73
  this.emit("");
@@ -828,5 +840,5 @@ ${layers}`;
828
840
  });
829
841
 
830
842
  export { BabylonCompiler, BabylonCompiler_exports, init_BabylonCompiler };
831
- //# sourceMappingURL=chunk-KED34ILP.js.map
832
- //# sourceMappingURL=chunk-KED34ILP.js.map
843
+ //# sourceMappingURL=chunk-6ASWLXXN.js.map
844
+ //# sourceMappingURL=chunk-6ASWLXXN.js.map