@holoscript/core 6.0.3 → 6.1.1

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 (368) hide show
  1. package/README.md +40 -40
  2. package/bin/holoscript.cjs +3 -0
  3. package/dist/GLTFPipeline-SFIORFJU.js +16 -0
  4. package/dist/GLTFPipeline-VNNDPONV.cjs +37 -0
  5. package/dist/{HoloScriptPlusParser-BZR5DELQ.js → HoloScriptPlusParser-7FBIFUFC.js} +6 -5
  6. package/dist/{HoloScriptPlusParser-SBMYDNXO.cjs → HoloScriptPlusParser-A2W7OCN2.cjs} +17 -16
  7. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  8. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  9. package/dist/{USDZExporter-MHEHXZB4.cjs → USDZExporter-3FWJ25JI.cjs} +344 -16
  10. package/dist/{USDZExporter-YA55ZS35.js → USDZExporter-D2HQLQYK.js} +344 -16
  11. package/dist/agents/index.cjs +19 -0
  12. package/dist/agents/index.d.ts +100 -0
  13. package/dist/agents/index.js +17 -0
  14. package/dist/chunk-22W6NGYN.js +725 -0
  15. package/dist/{chunk-XSUZMPVQ.cjs → chunk-27MPVJVZ.cjs} +64 -28
  16. package/dist/{chunk-W76ETJTI.js → chunk-2A7FURVO.js} +44 -8
  17. package/dist/{chunk-C7BNX4XJ.js → chunk-2B7WVIDZ.js} +11 -8
  18. package/dist/chunk-2BSMSUCE.js +1941 -0
  19. package/dist/chunk-2HLIGOKU.cjs +5546 -0
  20. package/dist/{chunk-GC3YU46J.js → chunk-2M2DPHKB.js} +4 -4
  21. package/dist/{chunk-A6GO3DPZ.cjs → chunk-2YSNA2F2.cjs} +321 -49
  22. package/dist/{chunk-ZL6VJ6SN.js → chunk-33XCOVE3.js} +5 -5
  23. package/dist/chunk-3FOKASKO.cjs +348 -0
  24. package/dist/{chunk-XSF76QRU.js → chunk-4C57PR42.js} +3 -3
  25. package/dist/chunk-4N4SXXWF.js +769 -0
  26. package/dist/chunk-4PDEPEQW.cjs +41 -0
  27. package/dist/chunk-4R6SBXDB.js +45 -0
  28. package/dist/chunk-4SY77NA4.cjs +413 -0
  29. package/dist/{chunk-74YCHHTE.js → chunk-4UUKPCY4.js} +670 -116
  30. package/dist/{chunk-VZNKJZTT.cjs → chunk-52ULD552.cjs} +178 -113
  31. package/dist/{chunk-65RFOWZI.js → chunk-5CKA5SXU.js} +441 -23
  32. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  33. package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
  34. package/dist/chunk-5N54COB6.cjs +327 -0
  35. package/dist/chunk-5S7RKFGR.cjs +446 -0
  36. package/dist/{chunk-EJA7G2C4.cjs → chunk-5WUNN6ZN.cjs} +2 -2
  37. package/dist/{chunk-ELLQPFAF.js → chunk-6ASWLXXN.js} +24 -10
  38. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  39. package/dist/{chunk-ARNKA274.cjs → chunk-6EX3I5P4.cjs} +6 -6
  40. package/dist/chunk-6FGQNDR4.js +5731 -0
  41. package/dist/{chunk-X4YVN7H3.cjs → chunk-6KMK2UXT.cjs} +152 -56
  42. package/dist/{chunk-KUJRR4FJ.js → chunk-6L4VE27M.js} +36 -24
  43. package/dist/{chunk-RT7LJRSF.cjs → chunk-6S6TKNEA.cjs} +7357 -8312
  44. package/dist/chunk-77V4GTCA.js +596 -0
  45. package/dist/{chunk-XH7SE4HH.cjs → chunk-7AD52FRS.cjs} +19 -19
  46. package/dist/chunk-7OPW2KO7.cjs +639 -0
  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-WN3YF33G.cjs → chunk-AO4I2Z7M.cjs} +15 -17
  51. package/dist/{chunk-TSWTWZ42.cjs → chunk-BPICAGBV.cjs} +376 -209
  52. package/dist/chunk-BRQJKJGT.cjs +20 -0
  53. package/dist/{chunk-3FXV5S25.cjs → chunk-C37BHB7N.cjs} +6 -3
  54. package/dist/{chunk-XNMEH2BI.js → chunk-CBJY23VL.js} +3 -3
  55. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  56. package/dist/{chunk-NTMZSDXM.cjs → chunk-DIL6DDDN.cjs} +101 -45
  57. package/dist/chunk-DMXC24WV.js +404 -0
  58. package/dist/{chunk-SPDELRRV.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-7N3JIJMT.js → chunk-EMMC5CSQ.js} +12 -8
  63. package/dist/{chunk-EUFLX2PI.js → chunk-EOBB6A4B.js} +7263 -8214
  64. package/dist/chunk-EOFNVCM6.js +325 -0
  65. package/dist/{chunk-NKRKT6V2.js → chunk-ER4GATIU.js} +11 -10
  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-HBZYCASG.js → chunk-FXKTYFYA.js} +203 -36
  74. package/dist/chunk-GCMWDSBZ.cjs +729 -0
  75. package/dist/chunk-GJNCFRJU.cjs +125 -0
  76. package/dist/{chunk-I3XGTIHM.cjs → chunk-GMP623FG.cjs} +16 -13
  77. package/dist/{chunk-CNVM7J3M.js → chunk-GN3KDX4W.js} +149 -53
  78. package/dist/{chunk-WFJIDI2N.cjs → chunk-GQYKQSTC.cjs} +10 -10
  79. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  80. package/dist/chunk-GZG4KA4E.js +529 -0
  81. package/dist/{chunk-DIEDKX5B.cjs → chunk-H3MGK7TX.cjs} +45 -33
  82. package/dist/{chunk-DN7UFU63.cjs → chunk-H5DZIHJP.cjs} +14 -17
  83. package/dist/{chunk-DH5G2JUA.cjs → chunk-HANL7K2Q.cjs} +66 -53
  84. package/dist/{chunk-EGIZHYJP.cjs → chunk-HCCQLAA4.cjs} +2 -13
  85. package/dist/{chunk-HHS6FMOU.cjs → chunk-HGVXZDSK.cjs} +178 -29
  86. package/dist/{chunk-LBPEZQAF.js → chunk-HRODTEEO.js} +30 -10
  87. package/dist/{chunk-ZGTGVSTZ.js → chunk-HYNTS5CP.js} +2 -2
  88. package/dist/{chunk-RE3OKSYF.cjs → chunk-HZCQO4JM.cjs} +6 -6
  89. package/dist/{chunk-NCUHGRTZ.js → chunk-I2O7TW6B.js} +12 -8
  90. package/dist/chunk-IHESJZSW.js +4490 -0
  91. package/dist/{chunk-7H5UNJZD.cjs → chunk-IRWWS72C.cjs} +64 -22
  92. package/dist/{chunk-EMO7HAKJ.cjs → chunk-IVIA7K75.cjs} +691 -133
  93. package/dist/chunk-IVY74O6C.js +247 -0
  94. package/dist/chunk-J32ZJZJH.js +554 -0
  95. package/dist/chunk-JD7CIZ33.js +1949 -0
  96. package/dist/{chunk-7X2IEJIE.cjs → chunk-JIYN45TV.cjs} +41 -42
  97. package/dist/{chunk-XDXZM3ZP.cjs → chunk-KHPCJRI3.cjs} +24 -21
  98. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  99. package/dist/chunk-KPJL34Y7.cjs +186 -0
  100. package/dist/{chunk-7KPI4EKH.cjs → chunk-KQTPCYTG.cjs} +130 -50
  101. package/dist/{chunk-F5LVGHNT.js → chunk-KX76JUQY.js} +3 -3
  102. package/dist/chunk-L4LFINPO.js +623 -0
  103. package/dist/{chunk-2UX5LRAP.cjs → chunk-L63H3SQ4.cjs} +46 -32
  104. package/dist/{chunk-NLPSZT4C.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-PQLGZKMC.cjs → chunk-MJVIRCUV.cjs} +31 -27
  109. package/dist/{chunk-AC4BSHFV.js → chunk-MSMIFMBL.js} +135 -18
  110. package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
  111. package/dist/{chunk-NRUB55IT.cjs → chunk-MXJ5SS53.cjs} +450 -32
  112. package/dist/chunk-MXWNGCRS.js +2176 -0
  113. package/dist/chunk-MYY4PMWX.cjs +264 -0
  114. package/dist/chunk-N75IH2HY.js +258 -0
  115. package/dist/chunk-NG77ATEW.cjs +778 -0
  116. package/dist/chunk-NW5G5FBQ.js +215 -0
  117. package/dist/{chunk-4FCZDTD5.js → chunk-OEFY723R.js} +29 -16
  118. package/dist/chunk-OEV5RMZO.cjs +3042 -0
  119. package/dist/{chunk-VSXOIUCF.cjs → chunk-OIQYIIO3.cjs} +7 -7
  120. package/dist/{chunk-32TWR3HE.js → chunk-OL46QLBJ.js} +3 -12
  121. package/dist/chunk-OPZ7XDDI.js +487 -0
  122. package/dist/chunk-OSYNRVOV.cjs +243 -0
  123. package/dist/{chunk-HUFNKFA6.js → chunk-P7YIA5LN.js} +93 -13
  124. package/dist/chunk-PGANYCAG.cjs +220 -0
  125. package/dist/{chunk-CO2VM2DK.js → chunk-QAVXL2IH.js} +62 -20
  126. package/dist/{chunk-BO2OKHIY.js → chunk-QCCBXSCE.js} +1640 -1311
  127. package/dist/{chunk-WYH4GVZ5.js → chunk-QPOQ7VPI.js} +16 -13
  128. package/dist/{chunk-V42NTCFH.js → chunk-QTPMJRGS.js} +2331 -17
  129. package/dist/{chunk-FEFHPUEM.cjs → chunk-QWNQ523V.cjs} +1705 -1382
  130. package/dist/{chunk-VK5AXKO3.js → chunk-R3IVNY6P.js} +166 -101
  131. package/dist/chunk-R75BSDH7.cjs +50 -0
  132. package/dist/{chunk-AIUXRS74.cjs → chunk-RMHC2VG7.cjs} +2358 -41
  133. package/dist/chunk-RUXGBKPS.cjs +4517 -0
  134. package/dist/{chunk-PLMYCCA4.js → chunk-S5IFXW6E.js} +113 -9
  135. package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
  136. package/dist/{chunk-SUCBB66F.js → chunk-SIEXCILW.js} +3 -3
  137. package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
  138. package/dist/{chunk-H6WMMLQK.cjs → chunk-T5J7ZKP3.cjs} +454 -61
  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-BU5ZAFMC.js → chunk-U4NBQJBY.js} +11 -13
  145. package/dist/{chunk-Y5MUAYTO.js → chunk-UD3DSHZM.js} +10 -13
  146. package/dist/chunk-UDMYRFDZ.js +3038 -0
  147. package/dist/{chunk-PPULB4GG.cjs → chunk-UOIGFQXC.cjs} +90 -68
  148. package/dist/{chunk-EPWRXL6S.js → chunk-URG2SJLK.js} +41 -42
  149. package/dist/{chunk-VJVCD5T5.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-4SMUJFHL.js → chunk-VMLKSV26.js} +9 -6
  153. package/dist/{chunk-HKCVM6OK.cjs → chunk-VSK7W3O5.cjs} +47 -27
  154. package/dist/chunk-VVKVQZI6.js +55 -0
  155. package/dist/{chunk-KDB6BUMB.js → chunk-W55Z7QIX.js} +172 -25
  156. package/dist/{chunk-BY3B7ZYV.cjs → chunk-W6P2GBHH.cjs} +3 -3
  157. package/dist/{chunk-PBA6NXCT.cjs → chunk-W6RW64BB.cjs} +11 -8
  158. package/dist/chunk-WDT3JTGM.cjs +483 -0
  159. package/dist/{chunk-26TLYBFD.js → chunk-WKX5AMOY.js} +3 -3
  160. package/dist/chunk-WNNE3PO3.js +34 -0
  161. package/dist/chunk-WRLUBRKS.cjs +1943 -0
  162. package/dist/chunk-WRNEH5MO.js +3169 -0
  163. package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
  164. package/dist/chunk-X3GJPRVK.cjs +3246 -0
  165. package/dist/{chunk-4KJ2R7VP.cjs → chunk-XFXGA5IW.cjs} +126 -22
  166. package/dist/{chunk-L3Z2HIWJ.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-KYM4XRFG.js → chunk-XMWZG36H.js} +4 -4
  170. package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
  171. package/dist/{chunk-ODGMVILH.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-CMYAWUX3.js → chunk-YIMN575O.js} +445 -53
  176. package/dist/chunk-YIVFJNYV.js +176 -0
  177. package/dist/{chunk-V2ILLPHK.cjs → chunk-YKGPCZEE.cjs} +10 -10
  178. package/dist/chunk-YQELFNJV.js +39 -0
  179. package/dist/chunk-YSCKYJOB.cjs +2196 -0
  180. package/dist/chunk-Z5XMPRNC.cjs +5390 -0
  181. package/dist/{chunk-3FYZOR7S.cjs → chunk-ZDSYWBIE.cjs} +18 -18
  182. package/dist/{chunk-CQDOF3G7.cjs → chunk-ZKSS47EV.cjs} +24 -19
  183. package/dist/chunk-ZUL5AVTX.cjs +1993 -0
  184. package/dist/chunk-ZXBZVXDW.js +5386 -0
  185. package/dist/{chunk-AW7WAELW.js → chunk-ZZ7RO2UQ.js} +314 -46
  186. package/dist/cli/holoscript-runner.cjs +203 -206
  187. package/dist/cli/holoscript-runner.js +147 -150
  188. package/dist/codebase/index.cjs +1 -1
  189. package/dist/codebase/index.d.ts +25 -0
  190. package/dist/codebase/index.js +1 -1
  191. package/dist/compiler/agent-inference.cjs +10 -8
  192. package/dist/compiler/agent-inference.js +6 -4
  193. package/dist/compiler/android-xr.cjs +12 -8
  194. package/dist/compiler/android-xr.js +10 -6
  195. package/dist/compiler/android.cjs +12 -9
  196. package/dist/compiler/android.js +10 -7
  197. package/dist/compiler/ar.cjs +9 -7
  198. package/dist/compiler/ar.js +7 -5
  199. package/dist/compiler/babylon.cjs +12 -9
  200. package/dist/compiler/babylon.js +11 -8
  201. package/dist/compiler/business-quest.cjs +43 -0
  202. package/dist/compiler/business-quest.js +4 -0
  203. package/dist/compiler/coco.cjs +1 -1
  204. package/dist/compiler/coco.js +1 -1
  205. package/dist/compiler/context.cjs +25 -0
  206. package/dist/compiler/context.d.ts +28 -0
  207. package/dist/compiler/context.js +8 -0
  208. package/dist/compiler/domain-block-utils.cjs +161 -151
  209. package/dist/compiler/domain-block-utils.js +7 -5
  210. package/dist/compiler/dtdl.cjs +10 -8
  211. package/dist/compiler/dtdl.js +7 -5
  212. package/dist/compiler/gltf-pipeline.cjs +9 -9
  213. package/dist/compiler/gltf-pipeline.js +2 -2
  214. package/dist/compiler/godot.cjs +9 -7
  215. package/dist/compiler/godot.js +8 -6
  216. package/dist/compiler/incremental.cjs +12 -8
  217. package/dist/compiler/incremental.js +7 -3
  218. package/dist/compiler/index.cjs +5152 -814
  219. package/dist/compiler/index.d.ts +404 -21
  220. package/dist/compiler/index.js +5063 -859
  221. package/dist/compiler/ios.cjs +11 -9
  222. package/dist/compiler/ios.js +9 -7
  223. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  224. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  225. package/dist/compiler/llm-provider-capabilities.js +8 -0
  226. package/dist/compiler/multi-layer.cjs +14 -17
  227. package/dist/compiler/multi-layer.js +13 -10
  228. package/dist/compiler/nodetoy.cjs +5 -5
  229. package/dist/compiler/nodetoy.js +2 -2
  230. package/dist/compiler/openxr.cjs +10 -7
  231. package/dist/compiler/openxr.js +9 -6
  232. package/dist/compiler/playcanvas.cjs +10 -8
  233. package/dist/compiler/playcanvas.js +9 -7
  234. package/dist/compiler/r3f.cjs +17 -14
  235. package/dist/compiler/r3f.d.ts +22 -0
  236. package/dist/compiler/r3f.js +12 -9
  237. package/dist/compiler/remotion.cjs +1 -1
  238. package/dist/compiler/remotion.js +1 -1
  239. package/dist/compiler/reproducibility.cjs +1 -1
  240. package/dist/compiler/reproducibility.js +1 -1
  241. package/dist/compiler/sdf.cjs +10 -8
  242. package/dist/compiler/sdf.js +8 -6
  243. package/dist/compiler/semantic-scene.cjs +7 -7
  244. package/dist/compiler/semantic-scene.js +2 -2
  245. package/dist/compiler/state.cjs +9 -6
  246. package/dist/compiler/state.js +7 -4
  247. package/dist/compiler/trait-composition.cjs +11 -8
  248. package/dist/compiler/trait-composition.js +7 -4
  249. package/dist/compiler/unity.cjs +10 -7
  250. package/dist/compiler/unity.js +9 -6
  251. package/dist/compiler/unreal.cjs +11 -8
  252. package/dist/compiler/unreal.js +9 -6
  253. package/dist/compiler/urdf.cjs +20 -14
  254. package/dist/compiler/urdf.js +8 -6
  255. package/dist/compiler/usd-physics.cjs +10 -8
  256. package/dist/compiler/usd-physics.js +7 -5
  257. package/dist/compiler/visionos.cjs +10 -7
  258. package/dist/compiler/visionos.js +9 -6
  259. package/dist/compiler/vrchat.cjs +10 -8
  260. package/dist/compiler/vrchat.js +8 -6
  261. package/dist/compiler/vrr.cjs +10 -8
  262. package/dist/compiler/vrr.js +8 -6
  263. package/dist/compiler/wasm.cjs +13 -11
  264. package/dist/compiler/wasm.js +8 -6
  265. package/dist/compiler/webgpu.cjs +9 -7
  266. package/dist/compiler/webgpu.js +8 -6
  267. package/dist/constants.d.ts +4 -0
  268. package/dist/coordinators/index.cjs +1266 -0
  269. package/dist/coordinators/index.d.ts +260 -0
  270. package/dist/coordinators/index.js +1259 -0
  271. package/dist/debugger.cjs +9 -7
  272. package/dist/debugger.js +7 -5
  273. package/dist/entries/interop.cjs +23 -21
  274. package/dist/entries/interop.d.ts +9 -0
  275. package/dist/entries/interop.js +5 -3
  276. package/dist/entries/scripting.cjs +18 -17
  277. package/dist/entries/scripting.d.ts +7 -0
  278. package/dist/entries/scripting.js +8 -7
  279. package/dist/hololand/index.cjs +146 -0
  280. package/dist/hololand/index.d.ts +70 -0
  281. package/dist/hololand/index.js +5 -0
  282. package/dist/index.cjs +21396 -39967
  283. package/dist/index.d.ts +1496 -40
  284. package/dist/index.js +21066 -40142
  285. package/dist/math/tropical-spmv.cjs +45 -0
  286. package/dist/math/tropical-spmv.js +4 -0
  287. package/dist/math/vec3.cjs +14 -14
  288. package/dist/math/vec3.js +2 -2
  289. package/dist/ml-dsa-FSKBTE3W.cjs +1265 -0
  290. package/dist/ml-dsa-Z7JDKW4L.js +1265 -0
  291. package/dist/paper-0c-spike/index.cjs +150 -0
  292. package/dist/paper-0c-spike/index.d.ts +29 -0
  293. package/dist/paper-0c-spike/index.js +141 -0
  294. package/dist/parser.cjs +45 -10
  295. package/dist/parser.d.ts +11 -0
  296. package/dist/parser.js +10 -7
  297. package/dist/{playwright-7DTEQCBD.cjs → playwright-3AT3AKTV.cjs} +1985 -1985
  298. package/dist/{playwright-BIZXMLD2.js → playwright-VZPDVUEQ.js} +3 -3
  299. package/dist/reconstruction/index.cjs +153 -0
  300. package/dist/reconstruction/index.d.ts +105 -0
  301. package/dist/reconstruction/index.js +8 -0
  302. package/dist/runtime.cjs +7 -5
  303. package/dist/runtime.js +6 -4
  304. package/dist/self-improvement/index.cjs +563 -0
  305. package/dist/self-improvement/index.d.ts +0 -48
  306. package/dist/self-improvement/index.js +545 -0
  307. package/dist/storage/index.cjs +10 -9
  308. package/dist/storage/index.d.ts +24 -0
  309. package/dist/storage/index.js +3 -2
  310. package/dist/testing.cjs +25 -0
  311. package/dist/testing.d.ts +70 -0
  312. package/dist/testing.js +4 -0
  313. package/dist/tools/index.d.ts +33 -0
  314. package/dist/traitDocs/traitDocs.cjs +33 -0
  315. package/dist/traitDocs/traitDocs.d.ts +69 -0
  316. package/dist/traitDocs/traitDocs.js +7 -0
  317. package/dist/traits/botanical-lotus.cjs +41 -0
  318. package/dist/traits/botanical-lotus.d.ts +172 -0
  319. package/dist/traits/botanical-lotus.js +4 -0
  320. package/dist/traits/engines/index.cjs +520 -0
  321. package/dist/traits/engines/index.d.ts +111 -0
  322. package/dist/traits/engines/index.js +380 -0
  323. package/dist/traits/index.cjs +14387 -4320
  324. package/dist/traits/index.d.ts +197 -0
  325. package/dist/traits/index.js +16455 -6958
  326. package/dist/traits/simulation-solver-factory.cjs +13 -0
  327. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  328. package/dist/traits/simulation-solver-factory.js +4 -0
  329. package/dist/traits/webcam-gaze.cjs +35 -0
  330. package/dist/traits/webcam-gaze.d.ts +17 -0
  331. package/dist/traits/webcam-gaze.js +4 -0
  332. package/dist/type-checker.cjs +6 -5
  333. package/dist/type-checker.js +4 -3
  334. package/dist/world/index.cjs +947 -0
  335. package/dist/world/index.d.ts +147 -0
  336. package/dist/world/index.js +939 -0
  337. package/dist/world-model/index.cjs +1446 -0
  338. package/dist/world-model/index.d.ts +119 -0
  339. package/dist/world-model/index.js +1414 -0
  340. package/dist/wot/index.cjs +7 -7
  341. package/dist/wot/index.js +2 -2
  342. package/package.json +150 -23
  343. package/dist/GLTFPipeline-3KLWWUQO.cjs +0 -34
  344. package/dist/GLTFPipeline-LYII2ZVQ.js +0 -13
  345. package/dist/chunk-3KEU5QYY.cjs +0 -175
  346. package/dist/chunk-6OQBLABR.js +0 -5240
  347. package/dist/chunk-6WNCRE6F.js +0 -126
  348. package/dist/chunk-C2QHVHZF.js +0 -4066
  349. package/dist/chunk-CN4NOESF.cjs +0 -416
  350. package/dist/chunk-DXVCEFZB.js +0 -2027
  351. package/dist/chunk-ENV7K6XA.js +0 -282
  352. package/dist/chunk-H7XMORZI.js +0 -2731
  353. package/dist/chunk-HAN4V3PF.cjs +0 -2037
  354. package/dist/chunk-HF4OFY25.cjs +0 -4097
  355. package/dist/chunk-LER4WXW5.cjs +0 -286
  356. package/dist/chunk-M6FU6S22.js +0 -2911
  357. package/dist/chunk-MWEFR6YQ.js +0 -1857
  358. package/dist/chunk-PJMOXFPR.cjs +0 -1861
  359. package/dist/chunk-QHVVVN47.cjs +0 -2033
  360. package/dist/chunk-QWKUKVRE.js +0 -2026
  361. package/dist/chunk-UITWA6DV.cjs +0 -2829
  362. package/dist/chunk-UQW6SLM5.js +0 -172
  363. package/dist/chunk-WUXIRGZP.cjs +0 -2915
  364. package/dist/chunk-X67XRI2T.js +0 -410
  365. package/dist/chunk-Y7VK5TH3.cjs +0 -129
  366. package/dist/chunk-YCMQQQ5U.cjs +0 -5244
  367. package/dist/post-quantum-JTTAAGO3.cjs +0 -6
  368. package/dist/post-quantum-RVPVDEPI.js +0 -4
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkHHS6FMOU_cjs = require('./chunk-HHS6FMOU.cjs');
4
- var chunkQHVVVN47_cjs = require('./chunk-QHVVVN47.cjs');
5
- var chunkEGIZHYJP_cjs = require('./chunk-EGIZHYJP.cjs');
3
+ var chunkHGVXZDSK_cjs = require('./chunk-HGVXZDSK.cjs');
4
+ var chunkRMHC2VG7_cjs = require('./chunk-RMHC2VG7.cjs');
5
+ var chunkHCCQLAA4_cjs = require('./chunk-HCCQLAA4.cjs');
6
+ var ans = require('@holoscript/core-types/ans');
6
7
 
7
8
  // src/compiler/WASMCompiler.ts
8
9
  var WASMCompiler_exports = {};
9
- chunkEGIZHYJP_cjs.__export(WASMCompiler_exports, {
10
+ chunkHCCQLAA4_cjs.__export(WASMCompiler_exports, {
10
11
  WASMCompiler: () => exports.WASMCompiler,
11
12
  compileASTToWASM: () => compileASTToWASM,
12
13
  compileToWASM: () => compileToWASM,
@@ -18,19 +19,28 @@ function createWASMCompiler(options) {
18
19
  }
19
20
  function compileToWASM(composition, options) {
20
21
  const compiler = new exports.WASMCompiler(options);
21
- return compiler.compile(composition, chunkQHVVVN47_cjs.createTestCompilerToken());
22
+ return compiler.compile(composition, chunkRMHC2VG7_cjs.createTestCompilerToken());
22
23
  }
23
24
  function compileASTToWASM(ast, options) {
24
25
  const compiler = new exports.WASMCompiler(options);
25
26
  return compiler.compileAST(ast);
26
27
  }
27
- exports.WASMCompiler = void 0; exports.WASMCompiler_default = void 0;
28
- var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
28
+ var WASM_WAT_LIMITATIONS, WASM_BINARY_LIMITATIONS; exports.WASMCompiler = void 0; exports.WASMCompiler_default = void 0;
29
+ var init_WASMCompiler = chunkHCCQLAA4_cjs.__esm({
29
30
  "src/compiler/WASMCompiler.ts"() {
30
- chunkQHVVVN47_cjs.init_CompilerBase();
31
- chunkQHVVVN47_cjs.init_ANSNamespace();
32
- chunkHHS6FMOU_cjs.init_DomainBlockCompilerMixin();
33
- exports.WASMCompiler = class extends chunkQHVVVN47_cjs.CompilerBase {
31
+ chunkRMHC2VG7_cjs.init_CompilerBase();
32
+ chunkHGVXZDSK_cjs.init_DomainBlockCompilerMixin();
33
+ WASM_WAT_LIMITATIONS = [
34
+ "Emits WebAssembly Text Format scaffolding only.",
35
+ 'Does not return instantiable bytes unless format is set to "wasm".',
36
+ "Lowers trait/lifecycle/event hooks to deterministic host event calls, not arbitrary user code."
37
+ ];
38
+ WASM_BINARY_LIMITATIONS = [
39
+ "Returns an instantiable WebAssembly binary for the compiler-supported runtime subset.",
40
+ "Lowers trait/lifecycle/event hooks to deterministic host event calls, not arbitrary user code.",
41
+ "Does not run a general-purpose WAT parser for unsupported custom WAT extensions."
42
+ ];
43
+ exports.WASMCompiler = class extends chunkRMHC2VG7_cjs.CompilerBase {
34
44
  constructor(options = {}) {
35
45
  super();
36
46
  this.compilerName = "WASMCompiler";
@@ -56,19 +66,22 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
56
66
  stringsSize: 0,
57
67
  totalSize: 0
58
68
  };
69
+ const { generateDocs, docsOptions, provenanceHash, ...wasmRest } = options;
70
+ this.docGenerationOptions = { generateDocs, docsOptions, provenanceHash };
71
+ const w = wasmRest;
59
72
  this.options = {
60
- format: options.format || "wat",
61
- debug: options.debug ?? false,
62
- memoryPages: options.memoryPages || 16,
73
+ format: w.format || "wat",
74
+ debug: w.debug ?? false,
75
+ memoryPages: w.memoryPages || 16,
63
76
  // 1MB default
64
- simd: options.simd ?? false,
65
- threads: options.threads ?? false,
66
- generateBindings: options.generateBindings ?? true,
67
- moduleName: options.moduleName || "holoscript"
77
+ simd: w.simd ?? false,
78
+ threads: w.threads ?? false,
79
+ generateBindings: w.generateBindings ?? true,
80
+ moduleName: w.moduleName || "holoscript"
68
81
  };
69
82
  }
70
83
  getRequiredCapability() {
71
- return chunkQHVVVN47_cjs.ANSCapabilityPath.WASM;
84
+ return ans.ANSCapabilityPath.WASM;
72
85
  }
73
86
  // ===========================================================================
74
87
  // MAIN COMPILATION
@@ -77,8 +90,6 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
77
90
  * Compile HoloComposition AST to WASM
78
91
  */
79
92
  compile(composition, agentToken, outputPath) {
80
- this.validateCompilerAccess(agentToken, outputPath);
81
- this.reset();
82
93
  this.validateCompilerAccess(agentToken, outputPath);
83
94
  this.reset();
84
95
  this.analyzeState(composition.state);
@@ -89,11 +100,11 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
89
100
  if (domainBlocks.length > 0) {
90
101
  this.emit("");
91
102
  this.emit(" ;; === v4.2 Domain Blocks ===");
92
- chunkHHS6FMOU_cjs.compileDomainBlocks(
103
+ chunkHGVXZDSK_cjs.compileDomainBlocks(
93
104
  domainBlocks,
94
105
  {
95
106
  material: (block) => {
96
- const mat = chunkHHS6FMOU_cjs.compileMaterialBlock(block);
107
+ const mat = chunkHGVXZDSK_cjs.compileMaterialBlock(block);
97
108
  this.emit(
98
109
  ` ;; Material: "${this.escapeStringValue(mat.name, "TypeScript")}" type=${mat.type}`
99
110
  );
@@ -112,13 +123,19 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
112
123
  );
113
124
  }
114
125
  const bindings = this.options.generateBindings ? this.generateBindings(composition) : "";
115
- return {
126
+ const wasm = this.options.format === "wasm" ? this.emitWASMBytes(this.lowerCompositionObjectUpdates(composition.objects || [])) : void 0;
127
+ const result = {
128
+ artifactKind: wasm ? "wasm-binary" : "wat-scaffold",
129
+ format: this.options.format,
116
130
  wat: this.lines.join("\n"),
131
+ ...wasm ? { wasm } : {},
117
132
  bindings,
118
133
  memoryLayout: this.memoryLayout,
119
134
  exports: this.exports,
120
- imports: this.imports
135
+ imports: this.imports,
136
+ limitations: wasm ? [...WASM_BINARY_LIMITATIONS] : [...WASM_WAT_LIMITATIONS]
121
137
  };
138
+ return this.withTripleOutputIfRequested(composition, result, this.docGenerationOptions);
122
139
  }
123
140
  /**
124
141
  * Compile HSPlusAST to WASM
@@ -130,12 +147,17 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
130
147
  this.calculateMemoryLayout();
131
148
  this.emitModuleFromAST(ast);
132
149
  const bindings = this.options.generateBindings ? this.generateBindingsFromAST(ast) : "";
150
+ const wasm = this.options.format === "wasm" ? this.emitWASMBytes(this.lowerASTObjectUpdates(ast.root.children || [])) : void 0;
133
151
  return {
152
+ artifactKind: wasm ? "wasm-binary" : "wat-scaffold",
153
+ format: this.options.format,
134
154
  wat: this.lines.join("\n"),
155
+ ...wasm ? { wasm } : {},
135
156
  bindings,
136
157
  memoryLayout: this.memoryLayout,
137
158
  exports: this.exports,
138
- imports: this.imports
159
+ imports: this.imports,
160
+ limitations: wasm ? [...WASM_BINARY_LIMITATIONS] : [...WASM_WAT_LIMITATIONS]
139
161
  };
140
162
  }
141
163
  reset() {
@@ -418,6 +440,14 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
418
440
  signature: `(${v.type}) -> void`
419
441
  });
420
442
  }
443
+ this.emit('(func $get_frame_count (export "get_frame_count") (result i32)');
444
+ this.emit(" (global.get $frame_count)");
445
+ this.emit(")");
446
+ this.exports.push({
447
+ name: "get_frame_count",
448
+ kind: "function",
449
+ signature: "() -> i32"
450
+ });
421
451
  this.emit("");
422
452
  }
423
453
  emitObjectFunctions() {
@@ -468,7 +498,8 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
468
498
  this.emit(")");
469
499
  this.emit("");
470
500
  }
471
- emitUpdateFunction(_composition) {
501
+ emitUpdateFunction(composition) {
502
+ const objectUpdates = this.lowerCompositionObjectUpdates(composition.objects || []);
472
503
  this.emit(";; Main update function");
473
504
  this.emit('(func $update (export "update") (param $dt f32)');
474
505
  this.indent();
@@ -494,13 +525,14 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
494
525
  const safeName = this.sanitizeName(obj.id);
495
526
  this.emit(`(func $update_object_${i} (param $dt f32)`);
496
527
  this.emit(` ;; Update logic for ${safeName}`);
497
- this.emit(" ;; (custom logic would be generated here based on traits/lifecycle)");
528
+ this.emitLoweredObjectUpdateBody(objectUpdates[i] || [], i);
498
529
  this.emit(")");
499
530
  }
500
531
  this.exports.push({ name: "update", kind: "function", signature: "(f32) -> void" });
501
532
  this.emit("");
502
533
  }
503
- emitUpdateFunctionFromAST(_ast) {
534
+ emitUpdateFunctionFromAST(ast) {
535
+ const objectUpdates = this.lowerASTObjectUpdates(ast.root.children || []);
504
536
  this.emit(";; Main update function");
505
537
  this.emit('(func $update (export "update") (param $dt f32)');
506
538
  this.indent();
@@ -526,11 +558,84 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
526
558
  const safeName = this.sanitizeName(obj.id);
527
559
  this.emit(`(func $update_object_${i} (param $dt f32)`);
528
560
  this.emit(` ;; Update logic for ${safeName}`);
561
+ this.emitLoweredObjectUpdateBody(objectUpdates[i] || [], i);
529
562
  this.emit(")");
530
563
  }
531
564
  this.exports.push({ name: "update", kind: "function", signature: "(f32) -> void" });
532
565
  this.emit("");
533
566
  }
567
+ emitLoweredObjectUpdateBody(updates, objectIndex) {
568
+ if (updates.length === 0) {
569
+ this.emit(" ;; No WASM-lowerable trait/lifecycle/event hooks for this object");
570
+ return;
571
+ }
572
+ for (const update of updates) {
573
+ this.emit(` ;; ${this.escapeStringValue(update.label, "TypeScript")}`);
574
+ this.emit(` (call $emit_event (i32.const ${update.eventId}) (i32.const ${objectIndex}))`);
575
+ }
576
+ }
577
+ lowerCompositionObjectUpdates(objects) {
578
+ return objects.map((obj) => {
579
+ const events = [];
580
+ for (const trait of obj.traits || []) {
581
+ events.push(this.createLoweredUpdate(`trait:${trait.name}`));
582
+ }
583
+ for (const eventHandler of this.getUnknownArray(obj, "eventHandlers")) {
584
+ const event = this.getUnknownString(eventHandler, "event");
585
+ if (event) events.push(this.createLoweredUpdate(`event:${event}`));
586
+ }
587
+ for (const directive of this.getUnknownArray(obj, "directives")) {
588
+ const directiveType = this.getUnknownString(directive, "type");
589
+ const hook = this.getUnknownString(directive, "hook") || this.getUnknownString(directive, "name");
590
+ if (directiveType === "lifecycle" && hook) {
591
+ events.push(this.createLoweredUpdate(`lifecycle:${hook}`));
592
+ }
593
+ }
594
+ return events;
595
+ });
596
+ }
597
+ lowerASTObjectUpdates(nodes) {
598
+ return nodes.map((node) => {
599
+ const events = [];
600
+ for (const directive of node.directives || []) {
601
+ const directiveType = this.getUnknownString(directive, "type");
602
+ const name = this.getUnknownString(directive, "name") || this.getUnknownString(directive, "hook");
603
+ if (directiveType === "trait" && name) {
604
+ events.push(this.createLoweredUpdate(`trait:${name}`));
605
+ } else if (directiveType === "lifecycle" && name) {
606
+ events.push(this.createLoweredUpdate(`lifecycle:${name}`));
607
+ }
608
+ }
609
+ for (const [key] of Object.entries(node.properties || {})) {
610
+ if (key.startsWith("on_")) events.push(this.createLoweredUpdate(`event:${key}`));
611
+ }
612
+ return events;
613
+ });
614
+ }
615
+ createLoweredUpdate(label) {
616
+ return {
617
+ label,
618
+ eventId: this.stableEventId(label)
619
+ };
620
+ }
621
+ stableEventId(label) {
622
+ let hash = 2166136261;
623
+ for (let i = 0; i < label.length; i++) {
624
+ hash ^= label.charCodeAt(i);
625
+ hash = Math.imul(hash, 16777619);
626
+ }
627
+ return hash >>> 1;
628
+ }
629
+ getUnknownArray(source, key) {
630
+ if (!source || typeof source !== "object") return [];
631
+ const value = source[key];
632
+ return Array.isArray(value) ? value : [];
633
+ }
634
+ getUnknownString(source, key) {
635
+ if (!source || typeof source !== "object") return void 0;
636
+ const value = source[key];
637
+ return typeof value === "string" ? value : void 0;
638
+ }
534
639
  emitDataSections() {
535
640
  if (this.stringPool.size === 0) return;
536
641
  this.emit(";; Data sections");
@@ -555,7 +660,9 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
555
660
  lines.push("export class HoloScriptWASM {");
556
661
  lines.push(" private instance: WebAssembly.Instance | null = null;");
557
662
  lines.push(" private memory: WebAssembly.Memory | null = null;");
558
- lines.push(" private eventHandlers: Map<string, Set<(payload: unknown) => void>> = new Map();");
663
+ lines.push(
664
+ " private eventHandlers: Map<string, Set<(payload: unknown) => void>> = new Map();"
665
+ );
559
666
  lines.push("");
560
667
  lines.push(" private static EVENT_IDS: Record<string, number> = {");
561
668
  lines.push(" 'update': 0,");
@@ -695,6 +802,317 @@ var init_WASMCompiler = chunkEGIZHYJP_cjs.__esm({
695
802
  return this.generateBindings(minimalComposition);
696
803
  }
697
804
  // ===========================================================================
805
+ // WASM BINARY GENERATION
806
+ // ===========================================================================
807
+ emitWASMBytes(objectUpdates) {
808
+ const types = [];
809
+ const typeIndexes = /* @__PURE__ */ new Map();
810
+ const typeIndex = (params, results = []) => {
811
+ const key = `${params.join(",")}->${results.join(",")}`;
812
+ const existing = typeIndexes.get(key);
813
+ if (existing !== void 0) return existing;
814
+ const next = types.length;
815
+ types.push({ params, results });
816
+ typeIndexes.set(key, next);
817
+ return next;
818
+ };
819
+ const imports = [
820
+ { module: "env", name: "log_i32", typeIndex: typeIndex(["i32"]) },
821
+ { module: "env", name: "log_f32", typeIndex: typeIndex(["f32"]) },
822
+ { module: "env", name: "log_str", typeIndex: typeIndex(["i32", "i32"]) },
823
+ { module: "env", name: "emit_event", typeIndex: typeIndex(["i32", "i32"]) },
824
+ { module: "env", name: "get_time", typeIndex: typeIndex([], ["f64"]) }
825
+ ];
826
+ const functions = [];
827
+ const functionIndexes = /* @__PURE__ */ new Map();
828
+ const addFunction = (name, params, results, body) => {
829
+ functionIndexes.set(name, imports.length + functions.length);
830
+ functions.push({ name, typeIndex: typeIndex(params, results), body });
831
+ };
832
+ addFunction("init", [], [], () => this.binaryInitBody());
833
+ for (const stateVar of this.stateVars) {
834
+ const safeName = this.sanitizeName(stateVar.name);
835
+ addFunction(
836
+ `get_${safeName}`,
837
+ [],
838
+ [stateVar.type],
839
+ () => this.binaryStateGetterBody(stateVar)
840
+ );
841
+ addFunction(
842
+ `set_${safeName}`,
843
+ [stateVar.type],
844
+ [],
845
+ () => this.binaryStateSetterBody(stateVar)
846
+ );
847
+ }
848
+ addFunction("get_frame_count", [], ["i32"], () => [0, 35, ...this.encodeULEB(0), 11]);
849
+ addFunction("get_object_count", [], ["i32"], () => [0, 35, ...this.encodeULEB(3), 11]);
850
+ addFunction("is_object_active", ["i32"], ["i32"], () => this.binaryIsObjectActiveBody());
851
+ addFunction("set_object_active", ["i32", "i32"], [], () => this.binarySetObjectActiveBody());
852
+ addFunction(
853
+ "update",
854
+ ["f32"],
855
+ [],
856
+ () => this.binaryUpdateBody(functionIndexes, objectUpdates.length)
857
+ );
858
+ for (let i = 0; i < this.objects.length; i++) {
859
+ addFunction(
860
+ `update_object_${i}`,
861
+ ["f32"],
862
+ [],
863
+ () => this.binaryUpdateObjectBody(objectUpdates[i] || [], i)
864
+ );
865
+ }
866
+ const bytes = [
867
+ 0,
868
+ 97,
869
+ 115,
870
+ 109,
871
+ 1,
872
+ 0,
873
+ 0,
874
+ 0,
875
+ ...this.binarySection(1, this.binaryTypeSection(types)),
876
+ ...this.binarySection(2, this.binaryImportSection(imports)),
877
+ ...this.binarySection(3, this.binaryFunctionSection(functions)),
878
+ ...this.binarySection(5, this.binaryMemorySection()),
879
+ ...this.binarySection(6, this.binaryGlobalSection()),
880
+ ...this.binarySection(7, this.binaryExportSection(functions, imports.length)),
881
+ ...this.binarySection(10, this.binaryCodeSection(functions))
882
+ ];
883
+ return new Uint8Array(bytes);
884
+ }
885
+ binaryTypeSection(types) {
886
+ return this.binaryVector(
887
+ types.map((type) => [
888
+ 96,
889
+ ...this.binaryVector(type.params.map((param) => [this.wasmBinaryValueType(param)])),
890
+ ...this.binaryVector(type.results.map((result) => [this.wasmBinaryValueType(result)]))
891
+ ])
892
+ );
893
+ }
894
+ binaryImportSection(imports) {
895
+ return this.binaryVector(
896
+ imports.map((entry) => [
897
+ ...this.encodeString(entry.module),
898
+ ...this.encodeString(entry.name),
899
+ 0,
900
+ ...this.encodeULEB(entry.typeIndex)
901
+ ])
902
+ );
903
+ }
904
+ binaryFunctionSection(functions) {
905
+ return this.binaryVector(functions.map((fn) => this.encodeULEB(fn.typeIndex)));
906
+ }
907
+ binaryMemorySection() {
908
+ if (this.options.threads) {
909
+ return this.binaryVector([
910
+ [
911
+ 3,
912
+ ...this.encodeULEB(this.options.memoryPages),
913
+ ...this.encodeULEB(this.options.memoryPages * 2)
914
+ ]
915
+ ]);
916
+ }
917
+ return this.binaryVector([[0, ...this.encodeULEB(this.options.memoryPages)]]);
918
+ }
919
+ binaryGlobalSection() {
920
+ return this.binaryVector([
921
+ [127, 1, 65, ...this.encodeSLEB(0), 11],
922
+ [125, 1, 67, ...this.f32Bytes(0), 11],
923
+ [124, 1, 68, ...this.f64Bytes(0), 11],
924
+ [127, 0, 65, ...this.encodeSLEB(this.objects.length), 11]
925
+ ]);
926
+ }
927
+ binaryExportSection(functions, importedFunctionCount) {
928
+ const exports$1 = [
929
+ [...this.encodeString("memory"), 2, ...this.encodeULEB(0)],
930
+ ...functions.filter((fn) => !fn.name.startsWith("update_object_")).map((fn, index) => [
931
+ ...this.encodeString(fn.name),
932
+ 0,
933
+ ...this.encodeULEB(importedFunctionCount + index)
934
+ ])
935
+ ];
936
+ return this.binaryVector(exports$1);
937
+ }
938
+ binaryCodeSection(functions) {
939
+ return this.binaryVector(
940
+ functions.map((fn) => {
941
+ const body = fn.body();
942
+ return [...this.encodeULEB(body.length), ...body];
943
+ })
944
+ );
945
+ }
946
+ binaryInitBody() {
947
+ const body = [0];
948
+ for (const stateVar of this.stateVars) {
949
+ const offset = this.memoryLayout.stateOffset + stateVar.offset;
950
+ body.push(65, ...this.encodeSLEB(offset));
951
+ this.pushWASMConst(body, stateVar.type, stateVar.initialValue);
952
+ this.pushWASMStore(body, stateVar.type);
953
+ }
954
+ for (const obj of this.objects) {
955
+ const baseOffset = this.memoryLayout.objectsOffset + obj.offset;
956
+ this.pushI32StoreConst(body, baseOffset, obj.typeIndex);
957
+ this.pushI32StoreConst(body, baseOffset + 4, 1);
958
+ this.pushI32StoreConst(body, baseOffset + 8, -1);
959
+ }
960
+ body.push(11);
961
+ return body;
962
+ }
963
+ binaryStateGetterBody(stateVar) {
964
+ const offset = this.memoryLayout.stateOffset + stateVar.offset;
965
+ const body = [0, 65, ...this.encodeSLEB(offset)];
966
+ this.pushWASMLoad(body, stateVar.type);
967
+ body.push(11);
968
+ return body;
969
+ }
970
+ binaryStateSetterBody(stateVar) {
971
+ const offset = this.memoryLayout.stateOffset + stateVar.offset;
972
+ const body = [0, 65, ...this.encodeSLEB(offset), 32, 0];
973
+ this.pushWASMStore(body, stateVar.type);
974
+ body.push(11);
975
+ return body;
976
+ }
977
+ binaryIsObjectActiveBody() {
978
+ const body = [0];
979
+ this.pushObjectActiveAddress(body, 0);
980
+ body.push(40, 2, 0, 11);
981
+ return body;
982
+ }
983
+ binarySetObjectActiveBody() {
984
+ const body = [0];
985
+ this.pushObjectActiveAddress(body, 0);
986
+ body.push(32, 1, 54, 2, 0, 11);
987
+ return body;
988
+ }
989
+ binaryUpdateBody(functionIndexes, loweredObjectCount) {
990
+ const body = [0];
991
+ body.push(32, 0, 36, ...this.encodeULEB(1));
992
+ body.push(35, ...this.encodeULEB(0), 65, ...this.encodeSLEB(1), 106);
993
+ body.push(36, ...this.encodeULEB(0));
994
+ const isActiveIndex = functionIndexes.get("is_object_active");
995
+ if (isActiveIndex === void 0) throw new Error("missing is_object_active function index");
996
+ for (let i = 0; i < loweredObjectCount; i++) {
997
+ const updateObjectIndex = functionIndexes.get(`update_object_${i}`);
998
+ if (updateObjectIndex === void 0) continue;
999
+ body.push(65, ...this.encodeSLEB(i), 16, ...this.encodeULEB(isActiveIndex));
1000
+ body.push(4, 64);
1001
+ body.push(32, 0, 16, ...this.encodeULEB(updateObjectIndex));
1002
+ body.push(11);
1003
+ }
1004
+ body.push(11);
1005
+ return body;
1006
+ }
1007
+ binaryUpdateObjectBody(updates, objectIndex) {
1008
+ const body = [0];
1009
+ for (const update of updates) {
1010
+ body.push(
1011
+ 65,
1012
+ ...this.encodeSLEB(update.eventId),
1013
+ 65,
1014
+ ...this.encodeSLEB(objectIndex),
1015
+ 16,
1016
+ ...this.encodeULEB(3)
1017
+ );
1018
+ }
1019
+ body.push(11);
1020
+ return body;
1021
+ }
1022
+ pushObjectActiveAddress(body, localIndex) {
1023
+ body.push(65, ...this.encodeSLEB(this.memoryLayout.objectsOffset));
1024
+ body.push(32, ...this.encodeULEB(localIndex));
1025
+ body.push(65, ...this.encodeSLEB(64), 108);
1026
+ body.push(65, ...this.encodeSLEB(4), 106);
1027
+ body.push(106);
1028
+ }
1029
+ pushI32StoreConst(body, offset, value) {
1030
+ body.push(65, ...this.encodeSLEB(offset), 65, ...this.encodeSLEB(value), 54, 2, 0);
1031
+ }
1032
+ pushWASMConst(body, type, value) {
1033
+ switch (type) {
1034
+ case "i32":
1035
+ body.push(65, ...this.encodeSLEB(Number(value)));
1036
+ break;
1037
+ case "i64":
1038
+ body.push(66, ...this.encodeSLEB(value));
1039
+ break;
1040
+ case "f32":
1041
+ body.push(67, ...this.f32Bytes(Number(value)));
1042
+ break;
1043
+ case "f64":
1044
+ body.push(68, ...this.f64Bytes(Number(value)));
1045
+ break;
1046
+ }
1047
+ }
1048
+ pushWASMLoad(body, type) {
1049
+ const opcode = { i32: 40, i64: 41, f32: 42, f64: 43 }[type];
1050
+ const align = type === "i64" || type === "f64" ? 3 : 2;
1051
+ body.push(opcode, align, 0);
1052
+ }
1053
+ pushWASMStore(body, type) {
1054
+ const opcode = { i32: 54, i64: 55, f32: 56, f64: 57 }[type];
1055
+ const align = type === "i64" || type === "f64" ? 3 : 2;
1056
+ body.push(opcode, align, 0);
1057
+ }
1058
+ binarySection(id, payload) {
1059
+ return [id, ...this.encodeULEB(payload.length), ...payload];
1060
+ }
1061
+ binaryVector(items) {
1062
+ return [...this.encodeULEB(items.length), ...items.flat()];
1063
+ }
1064
+ encodeString(value) {
1065
+ const bytes = Array.from(new TextEncoder().encode(value));
1066
+ return [...this.encodeULEB(bytes.length), ...bytes];
1067
+ }
1068
+ encodeULEB(value) {
1069
+ const bytes = [];
1070
+ let next = value >>> 0;
1071
+ do {
1072
+ let byte = next & 127;
1073
+ next >>>= 7;
1074
+ if (next !== 0) byte |= 128;
1075
+ bytes.push(byte);
1076
+ } while (next !== 0);
1077
+ return bytes;
1078
+ }
1079
+ encodeSLEB(value) {
1080
+ const bytes = [];
1081
+ let next = BigInt(value);
1082
+ let more = true;
1083
+ while (more) {
1084
+ let byte = Number(next & 0x7fn);
1085
+ next >>= 7n;
1086
+ const signBitSet = (byte & 64) !== 0;
1087
+ more = !(next === 0n && !signBitSet || next === -1n && signBitSet);
1088
+ if (more) byte |= 128;
1089
+ bytes.push(byte);
1090
+ }
1091
+ return bytes;
1092
+ }
1093
+ f32Bytes(value) {
1094
+ const bytes = new Uint8Array(4);
1095
+ new DataView(bytes.buffer).setFloat32(0, value, true);
1096
+ return Array.from(bytes);
1097
+ }
1098
+ f64Bytes(value) {
1099
+ const bytes = new Uint8Array(8);
1100
+ new DataView(bytes.buffer).setFloat64(0, value, true);
1101
+ return Array.from(bytes);
1102
+ }
1103
+ wasmBinaryValueType(type) {
1104
+ switch (type) {
1105
+ case "i32":
1106
+ return 127;
1107
+ case "i64":
1108
+ return 126;
1109
+ case "f32":
1110
+ return 125;
1111
+ case "f64":
1112
+ return 124;
1113
+ }
1114
+ }
1115
+ // ===========================================================================
698
1116
  // HELPERS
699
1117
  // ===========================================================================
700
1118
  emit(line) {
@@ -767,5 +1185,5 @@ exports.compileASTToWASM = compileASTToWASM;
767
1185
  exports.compileToWASM = compileToWASM;
768
1186
  exports.createWASMCompiler = createWASMCompiler;
769
1187
  exports.init_WASMCompiler = init_WASMCompiler;
770
- //# sourceMappingURL=chunk-NRUB55IT.cjs.map
771
- //# sourceMappingURL=chunk-NRUB55IT.cjs.map
1188
+ //# sourceMappingURL=chunk-MXJ5SS53.cjs.map
1189
+ //# sourceMappingURL=chunk-MXJ5SS53.cjs.map