@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,6 +1,7 @@
1
- import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileMaterialBlock } from './chunk-KDB6BUMB.js';
2
- import { createTestCompilerToken, init_CompilerBase, init_ANSNamespace, CompilerBase, ANSCapabilityPath } from './chunk-QWKUKVRE.js';
3
- import { __export, __esm } from './chunk-32TWR3HE.js';
1
+ import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileMaterialBlock } from './chunk-W55Z7QIX.js';
2
+ import { createTestCompilerToken, init_CompilerBase, CompilerBase } from './chunk-QTPMJRGS.js';
3
+ import { __export, __esm } from './chunk-OL46QLBJ.js';
4
+ import { ANSCapabilityPath } from '@holoscript/core-types/ans';
4
5
 
5
6
  // src/compiler/WASMCompiler.ts
6
7
  var WASMCompiler_exports = {};
@@ -22,12 +23,21 @@ function compileASTToWASM(ast, options) {
22
23
  const compiler = new WASMCompiler(options);
23
24
  return compiler.compileAST(ast);
24
25
  }
25
- var WASMCompiler, WASMCompiler_default;
26
+ var WASM_WAT_LIMITATIONS, WASM_BINARY_LIMITATIONS, WASMCompiler, WASMCompiler_default;
26
27
  var init_WASMCompiler = __esm({
27
28
  "src/compiler/WASMCompiler.ts"() {
28
29
  init_CompilerBase();
29
- init_ANSNamespace();
30
30
  init_DomainBlockCompilerMixin();
31
+ WASM_WAT_LIMITATIONS = [
32
+ "Emits WebAssembly Text Format scaffolding only.",
33
+ 'Does not return instantiable bytes unless format is set to "wasm".',
34
+ "Lowers trait/lifecycle/event hooks to deterministic host event calls, not arbitrary user code."
35
+ ];
36
+ WASM_BINARY_LIMITATIONS = [
37
+ "Returns an instantiable WebAssembly binary for the compiler-supported runtime subset.",
38
+ "Lowers trait/lifecycle/event hooks to deterministic host event calls, not arbitrary user code.",
39
+ "Does not run a general-purpose WAT parser for unsupported custom WAT extensions."
40
+ ];
31
41
  WASMCompiler = class extends CompilerBase {
32
42
  constructor(options = {}) {
33
43
  super();
@@ -54,15 +64,18 @@ var init_WASMCompiler = __esm({
54
64
  stringsSize: 0,
55
65
  totalSize: 0
56
66
  };
67
+ const { generateDocs, docsOptions, provenanceHash, ...wasmRest } = options;
68
+ this.docGenerationOptions = { generateDocs, docsOptions, provenanceHash };
69
+ const w = wasmRest;
57
70
  this.options = {
58
- format: options.format || "wat",
59
- debug: options.debug ?? false,
60
- memoryPages: options.memoryPages || 16,
71
+ format: w.format || "wat",
72
+ debug: w.debug ?? false,
73
+ memoryPages: w.memoryPages || 16,
61
74
  // 1MB default
62
- simd: options.simd ?? false,
63
- threads: options.threads ?? false,
64
- generateBindings: options.generateBindings ?? true,
65
- moduleName: options.moduleName || "holoscript"
75
+ simd: w.simd ?? false,
76
+ threads: w.threads ?? false,
77
+ generateBindings: w.generateBindings ?? true,
78
+ moduleName: w.moduleName || "holoscript"
66
79
  };
67
80
  }
68
81
  getRequiredCapability() {
@@ -75,8 +88,6 @@ var init_WASMCompiler = __esm({
75
88
  * Compile HoloComposition AST to WASM
76
89
  */
77
90
  compile(composition, agentToken, outputPath) {
78
- this.validateCompilerAccess(agentToken, outputPath);
79
- this.reset();
80
91
  this.validateCompilerAccess(agentToken, outputPath);
81
92
  this.reset();
82
93
  this.analyzeState(composition.state);
@@ -110,13 +121,19 @@ var init_WASMCompiler = __esm({
110
121
  );
111
122
  }
112
123
  const bindings = this.options.generateBindings ? this.generateBindings(composition) : "";
113
- return {
124
+ const wasm = this.options.format === "wasm" ? this.emitWASMBytes(this.lowerCompositionObjectUpdates(composition.objects || [])) : void 0;
125
+ const result = {
126
+ artifactKind: wasm ? "wasm-binary" : "wat-scaffold",
127
+ format: this.options.format,
114
128
  wat: this.lines.join("\n"),
129
+ ...wasm ? { wasm } : {},
115
130
  bindings,
116
131
  memoryLayout: this.memoryLayout,
117
132
  exports: this.exports,
118
- imports: this.imports
133
+ imports: this.imports,
134
+ limitations: wasm ? [...WASM_BINARY_LIMITATIONS] : [...WASM_WAT_LIMITATIONS]
119
135
  };
136
+ return this.withTripleOutputIfRequested(composition, result, this.docGenerationOptions);
120
137
  }
121
138
  /**
122
139
  * Compile HSPlusAST to WASM
@@ -128,12 +145,17 @@ var init_WASMCompiler = __esm({
128
145
  this.calculateMemoryLayout();
129
146
  this.emitModuleFromAST(ast);
130
147
  const bindings = this.options.generateBindings ? this.generateBindingsFromAST(ast) : "";
148
+ const wasm = this.options.format === "wasm" ? this.emitWASMBytes(this.lowerASTObjectUpdates(ast.root.children || [])) : void 0;
131
149
  return {
150
+ artifactKind: wasm ? "wasm-binary" : "wat-scaffold",
151
+ format: this.options.format,
132
152
  wat: this.lines.join("\n"),
153
+ ...wasm ? { wasm } : {},
133
154
  bindings,
134
155
  memoryLayout: this.memoryLayout,
135
156
  exports: this.exports,
136
- imports: this.imports
157
+ imports: this.imports,
158
+ limitations: wasm ? [...WASM_BINARY_LIMITATIONS] : [...WASM_WAT_LIMITATIONS]
137
159
  };
138
160
  }
139
161
  reset() {
@@ -416,6 +438,14 @@ var init_WASMCompiler = __esm({
416
438
  signature: `(${v.type}) -> void`
417
439
  });
418
440
  }
441
+ this.emit('(func $get_frame_count (export "get_frame_count") (result i32)');
442
+ this.emit(" (global.get $frame_count)");
443
+ this.emit(")");
444
+ this.exports.push({
445
+ name: "get_frame_count",
446
+ kind: "function",
447
+ signature: "() -> i32"
448
+ });
419
449
  this.emit("");
420
450
  }
421
451
  emitObjectFunctions() {
@@ -466,7 +496,8 @@ var init_WASMCompiler = __esm({
466
496
  this.emit(")");
467
497
  this.emit("");
468
498
  }
469
- emitUpdateFunction(_composition) {
499
+ emitUpdateFunction(composition) {
500
+ const objectUpdates = this.lowerCompositionObjectUpdates(composition.objects || []);
470
501
  this.emit(";; Main update function");
471
502
  this.emit('(func $update (export "update") (param $dt f32)');
472
503
  this.indent();
@@ -492,13 +523,14 @@ var init_WASMCompiler = __esm({
492
523
  const safeName = this.sanitizeName(obj.id);
493
524
  this.emit(`(func $update_object_${i} (param $dt f32)`);
494
525
  this.emit(` ;; Update logic for ${safeName}`);
495
- this.emit(" ;; (custom logic would be generated here based on traits/lifecycle)");
526
+ this.emitLoweredObjectUpdateBody(objectUpdates[i] || [], i);
496
527
  this.emit(")");
497
528
  }
498
529
  this.exports.push({ name: "update", kind: "function", signature: "(f32) -> void" });
499
530
  this.emit("");
500
531
  }
501
- emitUpdateFunctionFromAST(_ast) {
532
+ emitUpdateFunctionFromAST(ast) {
533
+ const objectUpdates = this.lowerASTObjectUpdates(ast.root.children || []);
502
534
  this.emit(";; Main update function");
503
535
  this.emit('(func $update (export "update") (param $dt f32)');
504
536
  this.indent();
@@ -524,11 +556,84 @@ var init_WASMCompiler = __esm({
524
556
  const safeName = this.sanitizeName(obj.id);
525
557
  this.emit(`(func $update_object_${i} (param $dt f32)`);
526
558
  this.emit(` ;; Update logic for ${safeName}`);
559
+ this.emitLoweredObjectUpdateBody(objectUpdates[i] || [], i);
527
560
  this.emit(")");
528
561
  }
529
562
  this.exports.push({ name: "update", kind: "function", signature: "(f32) -> void" });
530
563
  this.emit("");
531
564
  }
565
+ emitLoweredObjectUpdateBody(updates, objectIndex) {
566
+ if (updates.length === 0) {
567
+ this.emit(" ;; No WASM-lowerable trait/lifecycle/event hooks for this object");
568
+ return;
569
+ }
570
+ for (const update of updates) {
571
+ this.emit(` ;; ${this.escapeStringValue(update.label, "TypeScript")}`);
572
+ this.emit(` (call $emit_event (i32.const ${update.eventId}) (i32.const ${objectIndex}))`);
573
+ }
574
+ }
575
+ lowerCompositionObjectUpdates(objects) {
576
+ return objects.map((obj) => {
577
+ const events = [];
578
+ for (const trait of obj.traits || []) {
579
+ events.push(this.createLoweredUpdate(`trait:${trait.name}`));
580
+ }
581
+ for (const eventHandler of this.getUnknownArray(obj, "eventHandlers")) {
582
+ const event = this.getUnknownString(eventHandler, "event");
583
+ if (event) events.push(this.createLoweredUpdate(`event:${event}`));
584
+ }
585
+ for (const directive of this.getUnknownArray(obj, "directives")) {
586
+ const directiveType = this.getUnknownString(directive, "type");
587
+ const hook = this.getUnknownString(directive, "hook") || this.getUnknownString(directive, "name");
588
+ if (directiveType === "lifecycle" && hook) {
589
+ events.push(this.createLoweredUpdate(`lifecycle:${hook}`));
590
+ }
591
+ }
592
+ return events;
593
+ });
594
+ }
595
+ lowerASTObjectUpdates(nodes) {
596
+ return nodes.map((node) => {
597
+ const events = [];
598
+ for (const directive of node.directives || []) {
599
+ const directiveType = this.getUnknownString(directive, "type");
600
+ const name = this.getUnknownString(directive, "name") || this.getUnknownString(directive, "hook");
601
+ if (directiveType === "trait" && name) {
602
+ events.push(this.createLoweredUpdate(`trait:${name}`));
603
+ } else if (directiveType === "lifecycle" && name) {
604
+ events.push(this.createLoweredUpdate(`lifecycle:${name}`));
605
+ }
606
+ }
607
+ for (const [key] of Object.entries(node.properties || {})) {
608
+ if (key.startsWith("on_")) events.push(this.createLoweredUpdate(`event:${key}`));
609
+ }
610
+ return events;
611
+ });
612
+ }
613
+ createLoweredUpdate(label) {
614
+ return {
615
+ label,
616
+ eventId: this.stableEventId(label)
617
+ };
618
+ }
619
+ stableEventId(label) {
620
+ let hash = 2166136261;
621
+ for (let i = 0; i < label.length; i++) {
622
+ hash ^= label.charCodeAt(i);
623
+ hash = Math.imul(hash, 16777619);
624
+ }
625
+ return hash >>> 1;
626
+ }
627
+ getUnknownArray(source, key) {
628
+ if (!source || typeof source !== "object") return [];
629
+ const value = source[key];
630
+ return Array.isArray(value) ? value : [];
631
+ }
632
+ getUnknownString(source, key) {
633
+ if (!source || typeof source !== "object") return void 0;
634
+ const value = source[key];
635
+ return typeof value === "string" ? value : void 0;
636
+ }
532
637
  emitDataSections() {
533
638
  if (this.stringPool.size === 0) return;
534
639
  this.emit(";; Data sections");
@@ -553,7 +658,9 @@ var init_WASMCompiler = __esm({
553
658
  lines.push("export class HoloScriptWASM {");
554
659
  lines.push(" private instance: WebAssembly.Instance | null = null;");
555
660
  lines.push(" private memory: WebAssembly.Memory | null = null;");
556
- lines.push(" private eventHandlers: Map<string, Set<(payload: unknown) => void>> = new Map();");
661
+ lines.push(
662
+ " private eventHandlers: Map<string, Set<(payload: unknown) => void>> = new Map();"
663
+ );
557
664
  lines.push("");
558
665
  lines.push(" private static EVENT_IDS: Record<string, number> = {");
559
666
  lines.push(" 'update': 0,");
@@ -693,6 +800,317 @@ var init_WASMCompiler = __esm({
693
800
  return this.generateBindings(minimalComposition);
694
801
  }
695
802
  // ===========================================================================
803
+ // WASM BINARY GENERATION
804
+ // ===========================================================================
805
+ emitWASMBytes(objectUpdates) {
806
+ const types = [];
807
+ const typeIndexes = /* @__PURE__ */ new Map();
808
+ const typeIndex = (params, results = []) => {
809
+ const key = `${params.join(",")}->${results.join(",")}`;
810
+ const existing = typeIndexes.get(key);
811
+ if (existing !== void 0) return existing;
812
+ const next = types.length;
813
+ types.push({ params, results });
814
+ typeIndexes.set(key, next);
815
+ return next;
816
+ };
817
+ const imports = [
818
+ { module: "env", name: "log_i32", typeIndex: typeIndex(["i32"]) },
819
+ { module: "env", name: "log_f32", typeIndex: typeIndex(["f32"]) },
820
+ { module: "env", name: "log_str", typeIndex: typeIndex(["i32", "i32"]) },
821
+ { module: "env", name: "emit_event", typeIndex: typeIndex(["i32", "i32"]) },
822
+ { module: "env", name: "get_time", typeIndex: typeIndex([], ["f64"]) }
823
+ ];
824
+ const functions = [];
825
+ const functionIndexes = /* @__PURE__ */ new Map();
826
+ const addFunction = (name, params, results, body) => {
827
+ functionIndexes.set(name, imports.length + functions.length);
828
+ functions.push({ name, typeIndex: typeIndex(params, results), body });
829
+ };
830
+ addFunction("init", [], [], () => this.binaryInitBody());
831
+ for (const stateVar of this.stateVars) {
832
+ const safeName = this.sanitizeName(stateVar.name);
833
+ addFunction(
834
+ `get_${safeName}`,
835
+ [],
836
+ [stateVar.type],
837
+ () => this.binaryStateGetterBody(stateVar)
838
+ );
839
+ addFunction(
840
+ `set_${safeName}`,
841
+ [stateVar.type],
842
+ [],
843
+ () => this.binaryStateSetterBody(stateVar)
844
+ );
845
+ }
846
+ addFunction("get_frame_count", [], ["i32"], () => [0, 35, ...this.encodeULEB(0), 11]);
847
+ addFunction("get_object_count", [], ["i32"], () => [0, 35, ...this.encodeULEB(3), 11]);
848
+ addFunction("is_object_active", ["i32"], ["i32"], () => this.binaryIsObjectActiveBody());
849
+ addFunction("set_object_active", ["i32", "i32"], [], () => this.binarySetObjectActiveBody());
850
+ addFunction(
851
+ "update",
852
+ ["f32"],
853
+ [],
854
+ () => this.binaryUpdateBody(functionIndexes, objectUpdates.length)
855
+ );
856
+ for (let i = 0; i < this.objects.length; i++) {
857
+ addFunction(
858
+ `update_object_${i}`,
859
+ ["f32"],
860
+ [],
861
+ () => this.binaryUpdateObjectBody(objectUpdates[i] || [], i)
862
+ );
863
+ }
864
+ const bytes = [
865
+ 0,
866
+ 97,
867
+ 115,
868
+ 109,
869
+ 1,
870
+ 0,
871
+ 0,
872
+ 0,
873
+ ...this.binarySection(1, this.binaryTypeSection(types)),
874
+ ...this.binarySection(2, this.binaryImportSection(imports)),
875
+ ...this.binarySection(3, this.binaryFunctionSection(functions)),
876
+ ...this.binarySection(5, this.binaryMemorySection()),
877
+ ...this.binarySection(6, this.binaryGlobalSection()),
878
+ ...this.binarySection(7, this.binaryExportSection(functions, imports.length)),
879
+ ...this.binarySection(10, this.binaryCodeSection(functions))
880
+ ];
881
+ return new Uint8Array(bytes);
882
+ }
883
+ binaryTypeSection(types) {
884
+ return this.binaryVector(
885
+ types.map((type) => [
886
+ 96,
887
+ ...this.binaryVector(type.params.map((param) => [this.wasmBinaryValueType(param)])),
888
+ ...this.binaryVector(type.results.map((result) => [this.wasmBinaryValueType(result)]))
889
+ ])
890
+ );
891
+ }
892
+ binaryImportSection(imports) {
893
+ return this.binaryVector(
894
+ imports.map((entry) => [
895
+ ...this.encodeString(entry.module),
896
+ ...this.encodeString(entry.name),
897
+ 0,
898
+ ...this.encodeULEB(entry.typeIndex)
899
+ ])
900
+ );
901
+ }
902
+ binaryFunctionSection(functions) {
903
+ return this.binaryVector(functions.map((fn) => this.encodeULEB(fn.typeIndex)));
904
+ }
905
+ binaryMemorySection() {
906
+ if (this.options.threads) {
907
+ return this.binaryVector([
908
+ [
909
+ 3,
910
+ ...this.encodeULEB(this.options.memoryPages),
911
+ ...this.encodeULEB(this.options.memoryPages * 2)
912
+ ]
913
+ ]);
914
+ }
915
+ return this.binaryVector([[0, ...this.encodeULEB(this.options.memoryPages)]]);
916
+ }
917
+ binaryGlobalSection() {
918
+ return this.binaryVector([
919
+ [127, 1, 65, ...this.encodeSLEB(0), 11],
920
+ [125, 1, 67, ...this.f32Bytes(0), 11],
921
+ [124, 1, 68, ...this.f64Bytes(0), 11],
922
+ [127, 0, 65, ...this.encodeSLEB(this.objects.length), 11]
923
+ ]);
924
+ }
925
+ binaryExportSection(functions, importedFunctionCount) {
926
+ const exports$1 = [
927
+ [...this.encodeString("memory"), 2, ...this.encodeULEB(0)],
928
+ ...functions.filter((fn) => !fn.name.startsWith("update_object_")).map((fn, index) => [
929
+ ...this.encodeString(fn.name),
930
+ 0,
931
+ ...this.encodeULEB(importedFunctionCount + index)
932
+ ])
933
+ ];
934
+ return this.binaryVector(exports$1);
935
+ }
936
+ binaryCodeSection(functions) {
937
+ return this.binaryVector(
938
+ functions.map((fn) => {
939
+ const body = fn.body();
940
+ return [...this.encodeULEB(body.length), ...body];
941
+ })
942
+ );
943
+ }
944
+ binaryInitBody() {
945
+ const body = [0];
946
+ for (const stateVar of this.stateVars) {
947
+ const offset = this.memoryLayout.stateOffset + stateVar.offset;
948
+ body.push(65, ...this.encodeSLEB(offset));
949
+ this.pushWASMConst(body, stateVar.type, stateVar.initialValue);
950
+ this.pushWASMStore(body, stateVar.type);
951
+ }
952
+ for (const obj of this.objects) {
953
+ const baseOffset = this.memoryLayout.objectsOffset + obj.offset;
954
+ this.pushI32StoreConst(body, baseOffset, obj.typeIndex);
955
+ this.pushI32StoreConst(body, baseOffset + 4, 1);
956
+ this.pushI32StoreConst(body, baseOffset + 8, -1);
957
+ }
958
+ body.push(11);
959
+ return body;
960
+ }
961
+ binaryStateGetterBody(stateVar) {
962
+ const offset = this.memoryLayout.stateOffset + stateVar.offset;
963
+ const body = [0, 65, ...this.encodeSLEB(offset)];
964
+ this.pushWASMLoad(body, stateVar.type);
965
+ body.push(11);
966
+ return body;
967
+ }
968
+ binaryStateSetterBody(stateVar) {
969
+ const offset = this.memoryLayout.stateOffset + stateVar.offset;
970
+ const body = [0, 65, ...this.encodeSLEB(offset), 32, 0];
971
+ this.pushWASMStore(body, stateVar.type);
972
+ body.push(11);
973
+ return body;
974
+ }
975
+ binaryIsObjectActiveBody() {
976
+ const body = [0];
977
+ this.pushObjectActiveAddress(body, 0);
978
+ body.push(40, 2, 0, 11);
979
+ return body;
980
+ }
981
+ binarySetObjectActiveBody() {
982
+ const body = [0];
983
+ this.pushObjectActiveAddress(body, 0);
984
+ body.push(32, 1, 54, 2, 0, 11);
985
+ return body;
986
+ }
987
+ binaryUpdateBody(functionIndexes, loweredObjectCount) {
988
+ const body = [0];
989
+ body.push(32, 0, 36, ...this.encodeULEB(1));
990
+ body.push(35, ...this.encodeULEB(0), 65, ...this.encodeSLEB(1), 106);
991
+ body.push(36, ...this.encodeULEB(0));
992
+ const isActiveIndex = functionIndexes.get("is_object_active");
993
+ if (isActiveIndex === void 0) throw new Error("missing is_object_active function index");
994
+ for (let i = 0; i < loweredObjectCount; i++) {
995
+ const updateObjectIndex = functionIndexes.get(`update_object_${i}`);
996
+ if (updateObjectIndex === void 0) continue;
997
+ body.push(65, ...this.encodeSLEB(i), 16, ...this.encodeULEB(isActiveIndex));
998
+ body.push(4, 64);
999
+ body.push(32, 0, 16, ...this.encodeULEB(updateObjectIndex));
1000
+ body.push(11);
1001
+ }
1002
+ body.push(11);
1003
+ return body;
1004
+ }
1005
+ binaryUpdateObjectBody(updates, objectIndex) {
1006
+ const body = [0];
1007
+ for (const update of updates) {
1008
+ body.push(
1009
+ 65,
1010
+ ...this.encodeSLEB(update.eventId),
1011
+ 65,
1012
+ ...this.encodeSLEB(objectIndex),
1013
+ 16,
1014
+ ...this.encodeULEB(3)
1015
+ );
1016
+ }
1017
+ body.push(11);
1018
+ return body;
1019
+ }
1020
+ pushObjectActiveAddress(body, localIndex) {
1021
+ body.push(65, ...this.encodeSLEB(this.memoryLayout.objectsOffset));
1022
+ body.push(32, ...this.encodeULEB(localIndex));
1023
+ body.push(65, ...this.encodeSLEB(64), 108);
1024
+ body.push(65, ...this.encodeSLEB(4), 106);
1025
+ body.push(106);
1026
+ }
1027
+ pushI32StoreConst(body, offset, value) {
1028
+ body.push(65, ...this.encodeSLEB(offset), 65, ...this.encodeSLEB(value), 54, 2, 0);
1029
+ }
1030
+ pushWASMConst(body, type, value) {
1031
+ switch (type) {
1032
+ case "i32":
1033
+ body.push(65, ...this.encodeSLEB(Number(value)));
1034
+ break;
1035
+ case "i64":
1036
+ body.push(66, ...this.encodeSLEB(value));
1037
+ break;
1038
+ case "f32":
1039
+ body.push(67, ...this.f32Bytes(Number(value)));
1040
+ break;
1041
+ case "f64":
1042
+ body.push(68, ...this.f64Bytes(Number(value)));
1043
+ break;
1044
+ }
1045
+ }
1046
+ pushWASMLoad(body, type) {
1047
+ const opcode = { i32: 40, i64: 41, f32: 42, f64: 43 }[type];
1048
+ const align = type === "i64" || type === "f64" ? 3 : 2;
1049
+ body.push(opcode, align, 0);
1050
+ }
1051
+ pushWASMStore(body, type) {
1052
+ const opcode = { i32: 54, i64: 55, f32: 56, f64: 57 }[type];
1053
+ const align = type === "i64" || type === "f64" ? 3 : 2;
1054
+ body.push(opcode, align, 0);
1055
+ }
1056
+ binarySection(id, payload) {
1057
+ return [id, ...this.encodeULEB(payload.length), ...payload];
1058
+ }
1059
+ binaryVector(items) {
1060
+ return [...this.encodeULEB(items.length), ...items.flat()];
1061
+ }
1062
+ encodeString(value) {
1063
+ const bytes = Array.from(new TextEncoder().encode(value));
1064
+ return [...this.encodeULEB(bytes.length), ...bytes];
1065
+ }
1066
+ encodeULEB(value) {
1067
+ const bytes = [];
1068
+ let next = value >>> 0;
1069
+ do {
1070
+ let byte = next & 127;
1071
+ next >>>= 7;
1072
+ if (next !== 0) byte |= 128;
1073
+ bytes.push(byte);
1074
+ } while (next !== 0);
1075
+ return bytes;
1076
+ }
1077
+ encodeSLEB(value) {
1078
+ const bytes = [];
1079
+ let next = BigInt(value);
1080
+ let more = true;
1081
+ while (more) {
1082
+ let byte = Number(next & 0x7fn);
1083
+ next >>= 7n;
1084
+ const signBitSet = (byte & 64) !== 0;
1085
+ more = !(next === 0n && !signBitSet || next === -1n && signBitSet);
1086
+ if (more) byte |= 128;
1087
+ bytes.push(byte);
1088
+ }
1089
+ return bytes;
1090
+ }
1091
+ f32Bytes(value) {
1092
+ const bytes = new Uint8Array(4);
1093
+ new DataView(bytes.buffer).setFloat32(0, value, true);
1094
+ return Array.from(bytes);
1095
+ }
1096
+ f64Bytes(value) {
1097
+ const bytes = new Uint8Array(8);
1098
+ new DataView(bytes.buffer).setFloat64(0, value, true);
1099
+ return Array.from(bytes);
1100
+ }
1101
+ wasmBinaryValueType(type) {
1102
+ switch (type) {
1103
+ case "i32":
1104
+ return 127;
1105
+ case "i64":
1106
+ return 126;
1107
+ case "f32":
1108
+ return 125;
1109
+ case "f64":
1110
+ return 124;
1111
+ }
1112
+ }
1113
+ // ===========================================================================
696
1114
  // HELPERS
697
1115
  // ===========================================================================
698
1116
  emit(line) {
@@ -761,5 +1179,5 @@ var init_WASMCompiler = __esm({
761
1179
  });
762
1180
 
763
1181
  export { WASMCompiler, WASMCompiler_default, WASMCompiler_exports, compileASTToWASM, compileToWASM, createWASMCompiler, init_WASMCompiler };
764
- //# sourceMappingURL=chunk-65RFOWZI.js.map
765
- //# sourceMappingURL=chunk-65RFOWZI.js.map
1182
+ //# sourceMappingURL=chunk-5CKA5SXU.js.map
1183
+ //# sourceMappingURL=chunk-5CKA5SXU.js.map