@cimplify/sdk 0.108.0 → 0.110.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 (608) hide show
  1. package/LICENSE +21 -0
  2. package/dist/advanced.d.mts +4 -3
  3. package/dist/advanced.d.ts +4 -3
  4. package/dist/advanced.js +24 -24
  5. package/dist/advanced.mjs +5 -5
  6. package/dist/animation-4EXBXRVX.js +27 -0
  7. package/dist/animation-6DICNWUP.mjs +6 -0
  8. package/dist/audio-DhvyjqdA.d.mts +249 -0
  9. package/dist/audio-m0w8cnxq.d.ts +249 -0
  10. package/dist/avatars.d.mts +110 -0
  11. package/dist/avatars.d.ts +110 -0
  12. package/dist/avatars.js +82 -0
  13. package/dist/avatars.mjs +5 -0
  14. package/dist/backend-gUCzs5Kg.d.mts +3866 -0
  15. package/dist/backend-gUCzs5Kg.d.ts +3866 -0
  16. package/dist/{catalogue-B4eLL8Mi.d.ts → catalogue-CPTMyBUz.d.mts} +109 -221
  17. package/dist/catalogue-DzrTXP3v.d.mts +541 -0
  18. package/dist/catalogue-DzrTXP3v.d.ts +541 -0
  19. package/dist/{catalogue-OT89_Ifs.d.mts → catalogue-OTuS5zp-.d.ts} +109 -221
  20. package/dist/chunk-22BD3RHN.mjs +1809 -0
  21. package/dist/chunk-25T4JHEA.mjs +21 -0
  22. package/dist/chunk-2AQ237Y4.js +508 -0
  23. package/dist/chunk-2IC4H6OV.mjs +48 -0
  24. package/dist/chunk-2LHLG4OB.mjs +71 -0
  25. package/dist/chunk-2O2CG465.js +1709 -0
  26. package/dist/chunk-2Q4DTHXK.js +316 -0
  27. package/dist/chunk-2QTQ6BUH.mjs +46 -0
  28. package/dist/chunk-2UN4SFLR.mjs +100 -0
  29. package/dist/chunk-2V75I7K3.js +454 -0
  30. package/dist/chunk-2V7IL4HC.js +10 -0
  31. package/dist/chunk-34XBXUMW.js +296 -0
  32. package/dist/chunk-3C4C654I.js +71 -0
  33. package/dist/chunk-3DAD2LDF.mjs +72 -0
  34. package/dist/chunk-3GXH2NFD.mjs +4 -0
  35. package/dist/chunk-3O47ZFW3.js +961 -0
  36. package/dist/chunk-3OY3VYNF.mjs +11 -0
  37. package/dist/chunk-3S6WPBZL.js +2936 -0
  38. package/dist/chunk-3TUOUP5T.js +399 -0
  39. package/dist/chunk-3VEH23I5.mjs +1380 -0
  40. package/dist/chunk-3ZYSAW2T.mjs +263 -0
  41. package/dist/chunk-4ANVF274.js +103 -0
  42. package/dist/chunk-4C7I3ELN.js +388 -0
  43. package/dist/chunk-4DYKAYFO.mjs +8 -0
  44. package/dist/chunk-4ZDR72SG.js +329 -0
  45. package/dist/chunk-52YS45RR.js +1066 -0
  46. package/dist/chunk-5325XSCH.js +107 -0
  47. package/dist/chunk-5AD5X6AV.js +13 -0
  48. package/dist/chunk-5BYDGGWO.mjs +197 -0
  49. package/dist/chunk-5C3C7VDM.mjs +55 -0
  50. package/dist/chunk-5HFMY3D7.js +660 -0
  51. package/dist/chunk-5LH2QN3T.js +1862 -0
  52. package/dist/chunk-5PJEXSOW.js +44 -0
  53. package/dist/chunk-5SXDH3Y7.js +90 -0
  54. package/dist/chunk-5YFBGGCK.mjs +502 -0
  55. package/dist/chunk-5YWN6H5Q.mjs +133 -0
  56. package/dist/chunk-66QP3SMN.js +402 -0
  57. package/dist/chunk-6DAEZKIG.mjs +385 -0
  58. package/dist/chunk-6DATW7TB.mjs +420 -0
  59. package/dist/{chunk-JRGK3NXR.mjs → chunk-6ETDAU62.mjs} +72 -212
  60. package/dist/chunk-6H254EVP.mjs +178 -0
  61. package/dist/chunk-6PFNJPBJ.mjs +820 -0
  62. package/dist/chunk-6PJWXIFX.mjs +357 -0
  63. package/dist/chunk-6SWKWCMS.js +80 -0
  64. package/dist/chunk-6VVXXX7S.js +808 -0
  65. package/dist/chunk-6WUBSMTX.js +1403 -0
  66. package/dist/chunk-73SGZLAQ.mjs +35 -0
  67. package/dist/chunk-76L2V6KD.mjs +4 -0
  68. package/dist/chunk-7AAIAVAA.js +1531 -0
  69. package/dist/chunk-7ARSJPV3.mjs +93 -0
  70. package/dist/chunk-7BHW5GTC.mjs +1234 -0
  71. package/dist/chunk-7DQSDKDU.js +6 -0
  72. package/dist/chunk-7IQQQENP.mjs +401 -0
  73. package/dist/chunk-7KFTYENS.js +11357 -0
  74. package/dist/chunk-7SM6XSPZ.js +3171 -0
  75. package/dist/chunk-7SXOHAIR.mjs +28 -0
  76. package/dist/chunk-A2MAX6S4.js +90 -0
  77. package/dist/chunk-A33OORT7.mjs +1530 -0
  78. package/dist/{chunk-U6ACF76H.mjs → chunk-A36JRXXH.mjs} +1075 -1845
  79. package/dist/chunk-A7BU3BK4.js +52 -0
  80. package/dist/chunk-A7MQSN2V.mjs +77 -0
  81. package/dist/chunk-A7V4L2IT.mjs +416 -0
  82. package/dist/chunk-AABEK6XU.js +226 -0
  83. package/dist/chunk-AGV33FWC.mjs +5005 -0
  84. package/dist/chunk-AHNR3BXI.js +108 -0
  85. package/dist/chunk-AQ5RLBU2.mjs +286 -0
  86. package/dist/chunk-AQOE6WCG.js +1270 -0
  87. package/dist/chunk-ATAWRACV.mjs +62 -0
  88. package/dist/chunk-ATCURNUV.js +14 -0
  89. package/dist/chunk-AWPV33OO.js +6 -0
  90. package/dist/chunk-AYJPHKYV.js +337 -0
  91. package/dist/chunk-AZ5BGWHB.js +162 -0
  92. package/dist/chunk-AZAXD44P.js +1373 -0
  93. package/dist/chunk-BBGKQIJJ.mjs +406 -0
  94. package/dist/chunk-BP4JLSUA.js +1453 -0
  95. package/dist/{chunk-SUCE7FWA.mjs → chunk-BTUSVHIE.mjs} +539 -978
  96. package/dist/chunk-BU6OK542.mjs +818 -0
  97. package/dist/chunk-CVSRWM6W.js +418 -0
  98. package/dist/chunk-CYBMFMJD.mjs +247 -0
  99. package/dist/chunk-DDJLDOUX.mjs +217 -0
  100. package/dist/{chunk-V32BCG7M.js → chunk-DFZWHNRG.js} +75 -215
  101. package/dist/chunk-DJ2C7AVG.js +644 -0
  102. package/dist/chunk-DS2VU4WW.mjs +102 -0
  103. package/dist/chunk-DSAG7T5P.js +7290 -0
  104. package/dist/chunk-E2QPPH7I.js +327 -0
  105. package/dist/chunk-E65WCTIG.mjs +1187 -0
  106. package/dist/{chunk-33VCYWVL.mjs → chunk-E6QQKDNE.mjs} +30 -42
  107. package/dist/chunk-ECDK6QBF.mjs +981 -0
  108. package/dist/chunk-EIB4OWVQ.mjs +620 -0
  109. package/dist/chunk-EQUZYCGO.js +250 -0
  110. package/dist/chunk-F3UJ6ZRM.mjs +313 -0
  111. package/dist/chunk-F63N2ZTQ.js +7023 -0
  112. package/dist/chunk-F6XRYEM3.mjs +26 -0
  113. package/dist/chunk-FE6VCE4K.js +5030 -0
  114. package/dist/chunk-FLWD6GRR.js +1372 -0
  115. package/dist/chunk-FQBFWJBS.mjs +110 -0
  116. package/dist/chunk-FXVJ2HFU.js +26 -0
  117. package/dist/chunk-FZMQMQBW.js +312 -0
  118. package/dist/chunk-G3EEC44R.js +53 -0
  119. package/dist/{chunk-KG3WT4PR.mjs → chunk-GCKWKLZF.mjs} +73 -104
  120. package/dist/chunk-GCX7TY4D.mjs +6826 -0
  121. package/dist/chunk-GDB6TCSD.js +450 -0
  122. package/dist/chunk-GDCV4IWO.mjs +21 -0
  123. package/dist/chunk-GDZT5LZ5.js +170 -0
  124. package/dist/chunk-GHPUYD4I.mjs +213 -0
  125. package/dist/chunk-GHS6MIL6.mjs +1432 -0
  126. package/dist/chunk-GPS2THCL.mjs +11 -0
  127. package/dist/{chunk-EV2EVOYS.js → chunk-GTJWQAGU.js} +31 -42
  128. package/dist/chunk-GVTI6UJQ.mjs +130 -0
  129. package/dist/chunk-GXKI64OT.mjs +1138 -0
  130. package/dist/chunk-GYDYF2WX.js +275 -0
  131. package/dist/chunk-GYLP6UG4.mjs +705 -0
  132. package/dist/chunk-H3OQKK6X.js +1158 -0
  133. package/dist/chunk-H5DFSCJ6.js +40 -0
  134. package/dist/chunk-HAGEIC2L.mjs +186 -0
  135. package/dist/chunk-HAJ4JRFO.js +293 -0
  136. package/dist/chunk-HDR72GB6.js +188 -0
  137. package/dist/chunk-HF5HPS4T.mjs +40 -0
  138. package/dist/chunk-HK6LOFDS.js +218 -0
  139. package/dist/chunk-HMWYTXCY.mjs +143 -0
  140. package/dist/chunk-HPCSRCMA.js +89 -0
  141. package/dist/chunk-HSEO6TPU.js +247 -0
  142. package/dist/chunk-I5FOHCLH.js +132 -0
  143. package/dist/chunk-IDLW4NWA.mjs +85 -0
  144. package/dist/chunk-IIDZ5WUX.js +61 -0
  145. package/dist/chunk-IR74FJHU.js +2332 -0
  146. package/dist/chunk-IRVFYAKP.mjs +100 -0
  147. package/dist/{chunk-XBL3TMPC.mjs → chunk-IZDWAL53.mjs} +1795 -3287
  148. package/dist/chunk-J2KZXIU3.js +51 -0
  149. package/dist/chunk-J2U6PJSO.js +91 -0
  150. package/dist/chunk-J5AJNY2N.js +283 -0
  151. package/dist/chunk-J6KQZ4FO.mjs +821 -0
  152. package/dist/{chunk-OWW5GUSB.js → chunk-JGBCIKJV.js} +7 -6
  153. package/dist/chunk-JKGTBMU7.mjs +25 -0
  154. package/dist/chunk-JR3TNEQC.js +422 -0
  155. package/dist/chunk-JURRXY2J.mjs +29 -0
  156. package/dist/chunk-K3HW5I2A.mjs +317 -0
  157. package/dist/chunk-K46SMZ66.mjs +103 -0
  158. package/dist/chunk-K4UDGE3Z.mjs +6 -0
  159. package/dist/chunk-KDQOR4QQ.mjs +350 -0
  160. package/dist/chunk-KDTVOLHI.mjs +288 -0
  161. package/dist/chunk-KGHJH5KJ.mjs +35 -0
  162. package/dist/chunk-KIZOA5LX.mjs +140 -0
  163. package/dist/chunk-KK6HYVBI.mjs +242 -0
  164. package/dist/chunk-KMKWGXMK.js +856 -0
  165. package/dist/chunk-KPA6K5IB.js +80 -0
  166. package/dist/chunk-KU7O4IXU.mjs +260 -0
  167. package/dist/chunk-KVFNRJOR.mjs +11142 -0
  168. package/dist/chunk-KZJRSXHK.js +2432 -0
  169. package/dist/chunk-LHWPRUJL.js +79 -0
  170. package/dist/chunk-LIV3KXJG.mjs +369 -0
  171. package/dist/chunk-LKV4LACG.js +21 -0
  172. package/dist/chunk-LUY45X3U.mjs +263 -0
  173. package/dist/chunk-LYEZZEEF.mjs +17 -0
  174. package/dist/chunk-M5EXQZYY.mjs +1519 -0
  175. package/dist/chunk-ME6HGG4I.mjs +1338 -0
  176. package/dist/chunk-MEXP6DA6.js +31 -0
  177. package/dist/chunk-MG52AW3H.js +902 -0
  178. package/dist/chunk-MIPO6F72.js +334 -0
  179. package/dist/{chunk-5QW7CQBA.js → chunk-MKIJQL5Q.js} +211 -321
  180. package/dist/chunk-MN3YETVN.mjs +17 -0
  181. package/dist/chunk-MOBSBXVE.mjs +2391 -0
  182. package/dist/chunk-MOMOZEUM.mjs +88 -0
  183. package/dist/chunk-MRFUNRAP.js +62 -0
  184. package/dist/chunk-MTIHEW2M.js +433 -0
  185. package/dist/chunk-N4RGGDEL.mjs +73 -0
  186. package/dist/chunk-NH654HAT.js +10 -0
  187. package/dist/chunk-NHJUGZUR.mjs +253 -0
  188. package/dist/chunk-NMQT4HG3.mjs +757 -0
  189. package/dist/chunk-NPSYB6DC.mjs +906 -0
  190. package/dist/chunk-NW2GPMSO.js +857 -0
  191. package/dist/chunk-NXKQOQ6L.js +76 -0
  192. package/dist/chunk-NXLAZIJZ.js +309 -0
  193. package/dist/chunk-NYWNA5CF.js +148 -0
  194. package/dist/chunk-NZTKLY2W.js +1442 -0
  195. package/dist/chunk-O2ICABUD.js +36 -0
  196. package/dist/chunk-OIVVQQ22.js +862 -0
  197. package/dist/chunk-OKC2B4O3.mjs +312 -0
  198. package/dist/chunk-OLWFPDBK.js +2220 -0
  199. package/dist/chunk-OMTVH334.js +3779 -0
  200. package/dist/chunk-OQRVEM56.mjs +362 -0
  201. package/dist/chunk-OXMIBOD4.js +337 -0
  202. package/dist/chunk-PBL6YL5L.mjs +288 -0
  203. package/dist/chunk-PDOELNNQ.js +97 -0
  204. package/dist/chunk-PDQJY2GZ.js +136 -0
  205. package/dist/chunk-PKOZXD2Q.js +1274 -0
  206. package/dist/chunk-PPF2BYFL.mjs +2191 -0
  207. package/dist/chunk-PQTQKNKD.js +539 -0
  208. package/dist/chunk-PRSR4FAV.mjs +81 -0
  209. package/dist/chunk-PTRNO5UD.js +95 -0
  210. package/dist/chunk-Q2Y3VMKH.js +2000 -0
  211. package/dist/chunk-QCZOE65N.js +96 -0
  212. package/dist/chunk-QDYFLATW.mjs +52 -0
  213. package/dist/chunk-QQABGCMM.js +22 -0
  214. package/dist/chunk-QS6TRHMR.js +345 -0
  215. package/dist/chunk-R56P64LB.mjs +208 -0
  216. package/dist/chunk-RCQ2MPBV.js +428 -0
  217. package/dist/chunk-RFVRPYR2.mjs +856 -0
  218. package/dist/chunk-RKBLPGPV.js +11521 -0
  219. package/dist/chunk-RM2V4IND.mjs +327 -0
  220. package/dist/chunk-RQXN5A34.mjs +613 -0
  221. package/dist/chunk-RUVGVNOF.mjs +2687 -0
  222. package/dist/chunk-SAFJIGYB.mjs +165 -0
  223. package/dist/chunk-SKQFLBDD.js +263 -0
  224. package/dist/chunk-SMK6JU2F.mjs +2092 -0
  225. package/dist/{chunk-UVRPC2P7.js → chunk-SNNEOS5Z.js} +1984 -3476
  226. package/dist/chunk-SPCRQ6NO.mjs +1246 -0
  227. package/dist/chunk-SWX4SALA.mjs +19 -0
  228. package/dist/{chunk-JVODCGFP.mjs → chunk-SYEO2WV4.mjs} +128 -238
  229. package/dist/chunk-T2QQMX2N.js +10 -0
  230. package/dist/chunk-T3AFF3L7.mjs +57 -0
  231. package/dist/chunk-T6Z2EXYL.js +712 -0
  232. package/dist/chunk-T7LOXGYX.js +118 -0
  233. package/dist/chunk-TJCAE7RC.mjs +1315 -0
  234. package/dist/chunk-TJI3K6RP.js +137 -0
  235. package/dist/chunk-TL2SVO4P.mjs +55 -0
  236. package/dist/chunk-TM63CYGN.mjs +399 -0
  237. package/dist/chunk-TU5RYTYU.mjs +13 -0
  238. package/dist/chunk-TVJZ4GPS.js +1553 -0
  239. package/dist/chunk-TWM6DLYF.js +371 -0
  240. package/dist/chunk-U63OC4TQ.js +30 -0
  241. package/dist/{chunk-L5GKVQVJ.js → chunk-U6BVSJZ6.js} +25 -57
  242. package/dist/chunk-U6UVWEAK.mjs +792 -0
  243. package/dist/chunk-UCEPNO6N.mjs +11048 -0
  244. package/dist/{chunk-ANT574FD.js → chunk-UCR5HRYM.js} +74 -105
  245. package/dist/chunk-UG5BTOTF.mjs +334 -0
  246. package/dist/chunk-UGH37BQW.mjs +157 -0
  247. package/dist/chunk-V7ZRH3PY.mjs +271 -0
  248. package/dist/chunk-VBGHBL3E.mjs +1394 -0
  249. package/dist/chunk-VRBDAS5I.js +920 -0
  250. package/dist/chunk-VVE3Y76O.js +230 -0
  251. package/dist/chunk-W65JIRI4.mjs +1182 -0
  252. package/dist/chunk-WHYKAT7G.js +62 -0
  253. package/dist/{chunk-YOIVZ6OA.mjs → chunk-WIZRUIZB.mjs} +25 -57
  254. package/dist/chunk-WKWTDZS7.js +385 -0
  255. package/dist/chunk-WLMINRC4.mjs +78 -0
  256. package/dist/chunk-WOF3AD3J.js +22 -0
  257. package/dist/chunk-WWKMOA76.js +1262 -0
  258. package/dist/chunk-X5A5FOWW.js +615 -0
  259. package/dist/chunk-X6CN6KQF.mjs +192 -0
  260. package/dist/chunk-XD2PMH46.mjs +517 -0
  261. package/dist/chunk-XJA2NGTI.mjs +88 -0
  262. package/dist/chunk-XJIHN3BY.mjs +8 -0
  263. package/dist/chunk-XK6UDWJS.js +203 -0
  264. package/dist/chunk-XPG3N5CF.mjs +415 -0
  265. package/dist/chunk-XVZ2NKSU.mjs +74 -0
  266. package/dist/chunk-XYP45OLE.js +117 -0
  267. package/dist/chunk-XZSDGZX6.mjs +301 -0
  268. package/dist/chunk-Y2EMGN4T.mjs +120 -0
  269. package/dist/chunk-Y3XWP5XW.mjs +298 -0
  270. package/dist/chunk-Y4K22JL6.js +228 -0
  271. package/dist/chunk-Y65LXQGA.mjs +3164 -0
  272. package/dist/chunk-Y66WVMO5.mjs +87 -0
  273. package/dist/chunk-Y7JWLB25.mjs +7280 -0
  274. package/dist/chunk-YCDXAJKU.js +175 -0
  275. package/dist/chunk-YRDQCCIS.js +152 -0
  276. package/dist/chunk-YV52DGSA.js +111 -0
  277. package/dist/chunk-YXGZQPUD.js +94 -0
  278. package/dist/chunk-Z3A3AFVU.mjs +102 -0
  279. package/dist/chunk-ZCY6YKKP.mjs +475 -0
  280. package/dist/chunk-ZEQHXVU5.js +215 -0
  281. package/dist/chunk-ZF7JCXCI.js +284 -0
  282. package/dist/chunk-ZJBRUH6V.js +29 -0
  283. package/dist/chunk-ZMIL4ZOA.js +365 -0
  284. package/dist/chunk-ZR5ULMN2.mjs +337 -0
  285. package/dist/chunk-ZXREOYOW.js +87 -0
  286. package/dist/{client-BSP9U1O1.d.mts → client-CX_WR0-J.d.mts} +2 -2
  287. package/dist/client-Dytx_ZTC.d.ts +230 -0
  288. package/dist/{client-B878xeAP.d.ts → client-dqOhP9Nc.d.ts} +2 -2
  289. package/dist/client-hTKbCuhG.d.mts +230 -0
  290. package/dist/clock-B-UAjkKa.d.mts +5 -0
  291. package/dist/clock-B-UAjkKa.d.ts +5 -0
  292. package/dist/config-BlXQluJR.d.mts +36 -0
  293. package/dist/config-BlXQluJR.d.ts +36 -0
  294. package/dist/courier-Cnn-edJ4.d.ts +95 -0
  295. package/dist/courier-FmGfkvIN.d.mts +95 -0
  296. package/dist/crowd-DdHFbqKK.d.ts +186 -0
  297. package/dist/crowd-hOVSAmA3.d.mts +186 -0
  298. package/dist/danfo-BEBapFlX.d.mts +146 -0
  299. package/dist/danfo-UQ_PTIIx.d.ts +146 -0
  300. package/dist/{elements-Bty6Qs_N.d.mts → elements-DdsRig-2.d.mts} +1548 -257
  301. package/dist/{elements-Bty6Qs_N.d.ts → elements-DdsRig-2.d.ts} +1548 -257
  302. package/dist/engines/godot.d.mts +56 -0
  303. package/dist/engines/godot.d.ts +56 -0
  304. package/dist/engines/godot.js +28 -0
  305. package/dist/engines/godot.mjs +3 -0
  306. package/dist/engines/wasm.d.mts +11 -0
  307. package/dist/engines/wasm.d.ts +11 -0
  308. package/dist/engines/wasm.js +178 -0
  309. package/dist/engines/wasm.mjs +176 -0
  310. package/dist/fallback-CrG_lTFk.d.mts +270 -0
  311. package/dist/fallback-CrG_lTFk.d.ts +270 -0
  312. package/dist/fallback-KDB4Y2CE.mjs +6 -0
  313. package/dist/fallback-Y26TQENE.js +19 -0
  314. package/dist/features-CZB4rmcD.d.mts +118 -0
  315. package/dist/features-CZB4rmcD.d.ts +118 -0
  316. package/dist/fit-BWiE7rgA.d.mts +44 -0
  317. package/dist/fit-DK0oT7zO.d.ts +44 -0
  318. package/dist/five-a-side-Bv1AOUy3.d.mts +115 -0
  319. package/dist/five-a-side-EC51SJY1.d.ts +115 -0
  320. package/dist/fluid-ARr0qUIL.d.ts +939 -0
  321. package/dist/fluid-DLlEj2cs.d.mts +939 -0
  322. package/dist/game/conformance.d.mts +84 -0
  323. package/dist/game/conformance.d.ts +84 -0
  324. package/dist/game/conformance.js +1025 -0
  325. package/dist/game/conformance.mjs +994 -0
  326. package/dist/game/heap.d.mts +40 -0
  327. package/dist/game/heap.d.ts +40 -0
  328. package/dist/game/heap.js +48 -0
  329. package/dist/game/heap.mjs +7 -0
  330. package/dist/game/kit/canvas.d.mts +240 -0
  331. package/dist/game/kit/canvas.d.ts +240 -0
  332. package/dist/game/kit/canvas.js +3566 -0
  333. package/dist/game/kit/canvas.mjs +1039 -0
  334. package/dist/game/kit/courier.d.mts +17 -0
  335. package/dist/game/kit/courier.d.ts +17 -0
  336. package/dist/game/kit/courier.js +66 -0
  337. package/dist/game/kit/courier.mjs +49 -0
  338. package/dist/game/kit/danfo.d.mts +11 -0
  339. package/dist/game/kit/danfo.d.ts +11 -0
  340. package/dist/game/kit/danfo.js +109 -0
  341. package/dist/game/kit/danfo.mjs +44 -0
  342. package/dist/game/kit/engine.d.mts +29 -0
  343. package/dist/game/kit/engine.d.ts +29 -0
  344. package/dist/game/kit/engine.js +183 -0
  345. package/dist/game/kit/engine.mjs +30 -0
  346. package/dist/game/kit/five-a-side.d.mts +11 -0
  347. package/dist/game/kit/five-a-side.d.ts +11 -0
  348. package/dist/game/kit/five-a-side.js +86 -0
  349. package/dist/game/kit/five-a-side.mjs +41 -0
  350. package/dist/game/kit/frontier.d.mts +344 -0
  351. package/dist/game/kit/frontier.d.ts +344 -0
  352. package/dist/game/kit/frontier.js +435 -0
  353. package/dist/game/kit/frontier.mjs +14 -0
  354. package/dist/game/kit/genesis.d.mts +752 -0
  355. package/dist/game/kit/genesis.d.ts +752 -0
  356. package/dist/game/kit/genesis.js +380 -0
  357. package/dist/game/kit/genesis.mjs +15 -0
  358. package/dist/game/kit/ludo.d.mts +15 -0
  359. package/dist/game/kit/ludo.d.ts +15 -0
  360. package/dist/game/kit/ludo.js +87 -0
  361. package/dist/game/kit/ludo.mjs +42 -0
  362. package/dist/game/kit/runner.d.mts +12 -0
  363. package/dist/game/kit/runner.d.ts +12 -0
  364. package/dist/game/kit/runner.js +83 -0
  365. package/dist/game/kit/runner.mjs +46 -0
  366. package/dist/game/kit/shootout.d.mts +13 -0
  367. package/dist/game/kit/shootout.d.ts +13 -0
  368. package/dist/game/kit/shootout.js +122 -0
  369. package/dist/game/kit/shootout.mjs +57 -0
  370. package/dist/game/kit/slots.d.mts +392 -0
  371. package/dist/game/kit/slots.d.ts +392 -0
  372. package/dist/game/kit/slots.js +215 -0
  373. package/dist/game/kit/slots.mjs +6 -0
  374. package/dist/game/kit/tycoon.d.mts +16 -0
  375. package/dist/game/kit/tycoon.d.ts +16 -0
  376. package/dist/game/kit/tycoon.js +145 -0
  377. package/dist/game/kit/tycoon.mjs +44 -0
  378. package/dist/game/kit/word.d.mts +11 -0
  379. package/dist/game/kit/word.d.ts +11 -0
  380. package/dist/game/kit/word.js +78 -0
  381. package/dist/game/kit/word.mjs +41 -0
  382. package/dist/game/kit/worlds.d.mts +18 -0
  383. package/dist/game/kit/worlds.d.ts +18 -0
  384. package/dist/game/kit/worlds.js +74 -0
  385. package/dist/game/kit/worlds.mjs +49 -0
  386. package/dist/game/kit.d.mts +53 -0
  387. package/dist/game/kit.d.ts +53 -0
  388. package/dist/game/kit.js +2610 -0
  389. package/dist/game/kit.mjs +101 -0
  390. package/dist/game/prepared.d.mts +14 -0
  391. package/dist/game/prepared.d.ts +14 -0
  392. package/dist/game/prepared.js +81 -0
  393. package/dist/game/prepared.mjs +32 -0
  394. package/dist/game-Bx8onkhX.d.mts +1451 -0
  395. package/dist/game-fgQy2YIm.d.ts +1451 -0
  396. package/dist/game-theme-CBTw1b_d.d.mts +35 -0
  397. package/dist/game-theme-Dg-ict5A.d.ts +35 -0
  398. package/dist/game.d.mts +3546 -0
  399. package/dist/game.d.ts +3546 -0
  400. package/dist/game.js +4455 -0
  401. package/dist/game.mjs +50 -0
  402. package/dist/graphics-C6YjWYvP.d.ts +5 -0
  403. package/dist/graphics-Dk2yQnYN.d.mts +5 -0
  404. package/dist/guest-DrsA00XD.d.mts +732 -0
  405. package/dist/guest-wIdfoT05.d.ts +732 -0
  406. package/dist/hit-stop-BKkVwTq7.d.mts +43 -0
  407. package/dist/hit-stop-D-8pPYnM.d.ts +43 -0
  408. package/dist/hot-Crn9XpHJ.d.ts +29 -0
  409. package/dist/hot-DH3nOhQD.d.mts +29 -0
  410. package/dist/{index-CQStGb3B.d.mts → index-6gkHMGAq.d.mts} +2 -2
  411. package/dist/index-B8ybCKJI.d.ts +41 -0
  412. package/dist/{index-DJwXmoaP.d.ts → index-B98Xac8e.d.ts} +2 -2
  413. package/dist/{index-B7oA_1XI.d.ts → index-B_ByTtIT.d.ts} +2 -2
  414. package/dist/index-DHjNHb1c.d.mts +41 -0
  415. package/dist/{index-DhUSTAhT.d.mts → index-DbAN_VQE.d.mts} +2 -2
  416. package/dist/index.d.mts +134 -24
  417. package/dist/index.d.ts +134 -24
  418. package/dist/index.js +407 -248
  419. package/dist/index.mjs +184 -58
  420. package/dist/interactives-authoring.d.mts +231 -0
  421. package/dist/interactives-authoring.d.ts +231 -0
  422. package/dist/interactives-authoring.js +1743 -0
  423. package/dist/interactives-authoring.mjs +1704 -0
  424. package/dist/interactives-canvas.global.js +148 -0
  425. package/dist/interactives-guest.d.mts +20 -0
  426. package/dist/interactives-guest.d.ts +20 -0
  427. package/dist/interactives-guest.js +63 -0
  428. package/dist/interactives-guest.json +1 -0
  429. package/dist/interactives-guest.mjs +61 -0
  430. package/dist/interactives-jsc.global.js +9357 -0
  431. package/dist/interactives-meters.d.mts +93 -0
  432. package/dist/interactives-meters.d.ts +93 -0
  433. package/dist/interactives-meters.js +252 -0
  434. package/dist/interactives-meters.mjs +68 -0
  435. package/dist/interactives-production.d.mts +430 -0
  436. package/dist/interactives-production.d.ts +430 -0
  437. package/dist/interactives-production.js +1231 -0
  438. package/dist/interactives-production.mjs +1170 -0
  439. package/dist/interactives-record.d.mts +112 -0
  440. package/dist/interactives-record.d.ts +112 -0
  441. package/dist/interactives-record.js +302 -0
  442. package/dist/interactives-record.mjs +295 -0
  443. package/dist/interactives-runtime.d.mts +61 -0
  444. package/dist/interactives-runtime.d.ts +61 -0
  445. package/dist/interactives-runtime.js +442 -0
  446. package/dist/interactives-runtime.mjs +25 -0
  447. package/dist/interactives-studio-kernel.global.js +1 -0
  448. package/dist/interactives-studio.d.mts +806 -0
  449. package/dist/interactives-studio.d.ts +806 -0
  450. package/dist/interactives-studio.js +5741 -0
  451. package/dist/interactives-studio.mjs +5651 -0
  452. package/dist/interactives-tick.d.mts +90 -0
  453. package/dist/interactives-tick.d.ts +90 -0
  454. package/dist/interactives-tick.js +203 -0
  455. package/dist/interactives-tick.mjs +6 -0
  456. package/dist/interactives-web.d.mts +762 -0
  457. package/dist/interactives-web.d.ts +762 -0
  458. package/dist/interactives-web.js +5000 -0
  459. package/dist/interactives-web.mjs +4628 -0
  460. package/dist/interactives.d.mts +2430 -0
  461. package/dist/interactives.d.ts +2430 -0
  462. package/dist/interactives.js +5723 -0
  463. package/dist/interactives.mjs +4333 -0
  464. package/dist/juice-CoHxlpKA.d.ts +42 -0
  465. package/dist/juice-DQztFS43.d.mts +42 -0
  466. package/dist/launch-T2f4_Di4.d.mts +151 -0
  467. package/dist/launch-d6oreMzR.d.ts +151 -0
  468. package/dist/library-DXYaMFhi.d.mts +69 -0
  469. package/dist/library-DXYaMFhi.d.ts +69 -0
  470. package/dist/link-BUTqGmyi.d.mts +38 -0
  471. package/dist/link-BUTqGmyi.d.ts +38 -0
  472. package/dist/lint.js +104 -204
  473. package/dist/lint.mjs +103 -203
  474. package/dist/local-D8_I6UeL.d.mts +6967 -0
  475. package/dist/local-VZkqsCzR.d.ts +6967 -0
  476. package/dist/lockstep-BLf6dglI.d.mts +321 -0
  477. package/dist/lockstep-D50Ia0JW.d.ts +321 -0
  478. package/dist/ludo-B8ClkDqr.d.ts +205 -0
  479. package/dist/ludo-BOuohQ-M.d.mts +205 -0
  480. package/dist/mock/cli.mjs +200 -56
  481. package/dist/mock/library.js +200 -56
  482. package/dist/mock/library.mjs +200 -56
  483. package/dist/mock/msw.js +200 -56
  484. package/dist/mock/msw.mjs +200 -56
  485. package/dist/native-BodxSh03.d.mts +16 -0
  486. package/dist/native-DUHMT8gA.d.ts +16 -0
  487. package/dist/network-ZXLD7l1b.d.mts +19 -0
  488. package/dist/network-ZXLD7l1b.d.ts +19 -0
  489. package/dist/online-XeymeM9s.d.ts +381 -0
  490. package/dist/online-d7W_Al9a.d.mts +381 -0
  491. package/dist/params-DxFb5G_U.d.mts +155 -0
  492. package/dist/params-DxFb5G_U.d.ts +155 -0
  493. package/dist/play-BRRlfLhX.d.ts +940 -0
  494. package/dist/play-ClrMd_e8.d.mts +940 -0
  495. package/dist/policy-CCw8tXLm.d.mts +3078 -0
  496. package/dist/policy-CMqOSQIu.d.ts +3078 -0
  497. package/dist/ports-B_0v_P3A.d.mts +13 -0
  498. package/dist/ports-CGU_3e_0.d.ts +13 -0
  499. package/dist/prefetch-BHnicOQj.d.ts +117 -0
  500. package/dist/prefetch-CBXgYacv.d.mts +117 -0
  501. package/dist/{price-CSztR02F.d.mts → price-BOzexBww.d.mts} +1 -1
  502. package/dist/{price-C_vasx9A.d.ts → price-C1h9sPxE.d.ts} +1 -1
  503. package/dist/protocol-C8qbpUbT.d.mts +242 -0
  504. package/dist/protocol-C8qbpUbT.d.ts +242 -0
  505. package/dist/rapier-AZHT4YI7.js +7886 -0
  506. package/dist/rapier-ODEPCQA6.mjs +7792 -0
  507. package/dist/react.d.mts +157 -15
  508. package/dist/react.d.ts +157 -15
  509. package/dist/react.js +5564 -5904
  510. package/dist/react.mjs +5451 -5808
  511. package/dist/runner-CQcLL7By.d.ts +189 -0
  512. package/dist/runner-D46Yj-wE.d.mts +189 -0
  513. package/dist/runtime-BRWfkf_q.d.mts +51 -0
  514. package/dist/runtime-DyuBMkKM.d.ts +51 -0
  515. package/dist/scheduling-D2ajXpMC.d.ts +224 -0
  516. package/dist/scheduling-DSRbbaZb.d.mts +224 -0
  517. package/dist/schema-BrWxzKp6.d.mts +63 -0
  518. package/dist/schema-BrWxzKp6.d.ts +63 -0
  519. package/dist/server/evict.js +34 -37
  520. package/dist/server/evict.mjs +34 -37
  521. package/dist/server/tanstack.d.mts +49 -3
  522. package/dist/server/tanstack.d.ts +49 -3
  523. package/dist/server/tanstack.js +169 -117
  524. package/dist/server/tanstack.mjs +166 -118
  525. package/dist/{server-Dckg4Vdr.d.ts → server-D29IIuDV.d.ts} +136 -130
  526. package/dist/{server-B6dW7-Lj.d.mts → server-DQMWPnc8.d.mts} +136 -130
  527. package/dist/server.d.mts +45 -5
  528. package/dist/server.d.ts +45 -5
  529. package/dist/server.js +171 -227
  530. package/dist/server.mjs +165 -225
  531. package/dist/session-grant-CJ27DwrT.d.mts +19 -0
  532. package/dist/session-grant-CJ27DwrT.d.ts +19 -0
  533. package/dist/shootout-BJZeX6FG.d.ts +140 -0
  534. package/dist/shootout-tcZd1Rxt.d.mts +140 -0
  535. package/dist/state-replica-stMtdkVD.d.mts +42 -0
  536. package/dist/state-replica-stMtdkVD.d.ts +42 -0
  537. package/dist/studio-CowqWqez.d.mts +14 -0
  538. package/dist/studio-CowqWqez.d.ts +14 -0
  539. package/dist/styles.css +1 -1
  540. package/dist/template-AhCdB1kW.d.mts +190 -0
  541. package/dist/template-BkEGVTQj.d.ts +190 -0
  542. package/dist/terrain-BMxEc6Oc.d.ts +429 -0
  543. package/dist/terrain-C-XC1Oui.d.mts +429 -0
  544. package/dist/testing/msw.d.mts +28 -4
  545. package/dist/testing/msw.d.ts +28 -4
  546. package/dist/testing/msw.js +15 -21
  547. package/dist/testing/msw.mjs +15 -21
  548. package/dist/testing/suite.d.mts +6 -5
  549. package/dist/testing/suite.d.ts +6 -5
  550. package/dist/testing/suite.js +89 -124
  551. package/dist/testing/suite.mjs +81 -116
  552. package/dist/testing.d.mts +27 -1227
  553. package/dist/testing.d.ts +27 -1227
  554. package/dist/testing.js +127 -131
  555. package/dist/testing.mjs +19 -23
  556. package/dist/tick-transport-C8QEh8Uw.d.mts +50 -0
  557. package/dist/tick-transport-UjHY3xK1.d.ts +50 -0
  558. package/dist/timeline-protocol-hp6e8zFB.d.mts +47 -0
  559. package/dist/timeline-protocol-hp6e8zFB.d.ts +47 -0
  560. package/dist/tokens-DhanQRQS.d.mts +21 -0
  561. package/dist/tokens-K8yxwd6G.d.ts +21 -0
  562. package/dist/tree-C-Io2Hbx.d.mts +35 -0
  563. package/dist/tree-CP_qSW4H.d.ts +35 -0
  564. package/dist/tycoon-B5KHk2Xx.d.mts +255 -0
  565. package/dist/tycoon-hmHo-3HX.d.ts +255 -0
  566. package/dist/types-BQkxPwZP.d.mts +219 -0
  567. package/dist/types-D_f6UUxM.d.ts +219 -0
  568. package/dist/ui-DwHicuFv.d.mts +563 -0
  569. package/dist/ui-hi7S2YcH.d.ts +563 -0
  570. package/dist/{sign-in-DQlIdqsi.d.mts → url-52ndUruG.d.mts} +15 -1
  571. package/dist/{sign-in-DQlIdqsi.d.ts → url-52ndUruG.d.ts} +15 -1
  572. package/dist/utils.d.mts +3 -3
  573. package/dist/utils.d.ts +3 -3
  574. package/dist/utils.js +37 -37
  575. package/dist/utils.mjs +4 -4
  576. package/dist/vars-Dc_PrhBK.d.mts +511 -0
  577. package/dist/vars-Dc_PrhBK.d.ts +511 -0
  578. package/dist/vm-IUARFFAI.mjs +63 -0
  579. package/dist/vm-N7L6MGGH.js +65 -0
  580. package/dist/weave-delivery-CW-Kstut.d.mts +360 -0
  581. package/dist/weave-delivery-CW-Kstut.d.ts +360 -0
  582. package/dist/web-Dss74a7v.d.ts +883 -0
  583. package/dist/web-f9ZQPoyw.d.mts +883 -0
  584. package/dist/web-transport-C7MkBL0a.d.ts +19 -0
  585. package/dist/web-transport-aYEqXMd9.d.mts +19 -0
  586. package/dist/weight-CPGjsgjV.d.ts +92 -0
  587. package/dist/weight-tF1ODR1p.d.mts +92 -0
  588. package/dist/word-BcX9Jcmv.d.mts +70 -0
  589. package/dist/word-C7sVPLHm.d.ts +70 -0
  590. package/dist/world-PvILHDR1.d.ts +2285 -0
  591. package/dist/world-qekkXjJv.d.mts +2285 -0
  592. package/dist/worlds-Br2Pb0Cs.d.ts +109 -0
  593. package/dist/worlds-D5ydYr7d.d.mts +109 -0
  594. package/engines/c/cimplify.h +108 -0
  595. package/engines/c/cimplify.lib.js +11 -0
  596. package/engines/godot/addons/cimplify/cimplify.gd +97 -0
  597. package/engines/rust/interactives-ctx/Cargo.toml +9 -0
  598. package/engines/rust/interactives-ctx/src/lib.rs +189 -0
  599. package/package.json +189 -3
  600. package/vendor/rapier3d-compat/LICENSE +201 -0
  601. package/vendor/rapier3d-compat/PATCHES.md +61 -0
  602. package/dist/chunk-2P4KXFB6.js +0 -274
  603. package/dist/chunk-3G6RQLXK.mjs +0 -21
  604. package/dist/chunk-3V4DVXV3.mjs +0 -254
  605. package/dist/chunk-EDK3LNM6.js +0 -2436
  606. package/dist/chunk-F7J3HK27.js +0 -4549
  607. package/dist/chunk-U4MW6PYU.mjs +0 -23
  608. package/dist/chunk-XREIZ56K.js +0 -26
@@ -0,0 +1,856 @@
1
+ 'use strict';
2
+
3
+ var chunk4ZDR72SG_js = require('./chunk-4ZDR72SG.js');
4
+
5
+ // src/interactives/parts/format.ts
6
+ var PART_MAGIC = 1414680643, PART_VERSION = 1, PART_HEADER_BYTES = 8, MANIFEST_MAGIC = 1296126019, MANIFEST_VERSION = 1, MANIFEST_HEADER_BYTES = 24, MANIFEST_PART_BYTES = chunk4ZDR72SG_js.DIGEST_BYTES + 8, SEGMENT_BYTES = 16, MAX_MANIFEST_PARTS = 65535, MAX_ASSET_BYTES = 512 * 1024 * 1024, PartKind = {
7
+ data: 0,
8
+ scene: 1,
9
+ mesh_index: 2,
10
+ mesh_vertex: 3,
11
+ skeleton: 4,
12
+ clip: 5,
13
+ texture: 6,
14
+ image: 7,
15
+ material: 8,
16
+ audio: 9,
17
+ shader: 10,
18
+ kernel: 11,
19
+ cell: 12,
20
+ font: 13
21
+ }, PART_KIND_NAMES = Object.keys(PartKind);
22
+ function partKindName(code) {
23
+ let name = PART_KIND_NAMES[code];
24
+ if (name === void 0) throw new PartFormatError(`unknown part kind ${code}`);
25
+ return name;
26
+ }
27
+ var SegmentOp = { literal: 0, part: 1, delta: 2 }, PartFormatError = class extends Error {
28
+ constructor(message) {
29
+ super(message), this.name = "PartFormatError";
30
+ }
31
+ };
32
+ function view(bytes) {
33
+ return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
34
+ }
35
+ function encodePart(kind, body) {
36
+ let out = new Uint8Array((8) + body.length), v = view(out);
37
+ return v.setUint32(0, (1414680643), true), v.setUint8(4, (1)), v.setUint8(5, kind), out.set(body, (8)), out;
38
+ }
39
+ function decodePart(payload) {
40
+ if (payload.length < (8)) throw new PartFormatError("a part is shorter than its header");
41
+ let v = view(payload);
42
+ if (v.getUint32(0, true) !== (1414680643)) throw new PartFormatError("not an asset part");
43
+ if (v.getUint8(4) !== (1)) throw new PartFormatError("unsupported asset part version");
44
+ let kind = v.getUint8(5);
45
+ return partKindName(kind), { kind, body: payload.subarray((8)) };
46
+ }
47
+ function isManifest(payload) {
48
+ return payload.length >= (24) && view(payload).getUint32(0, true) === (1296126019);
49
+ }
50
+ function manifestBytes(manifest) {
51
+ return (24) + manifest.parts.length * MANIFEST_PART_BYTES + manifest.segments.length * (16) + manifest.literal.length;
52
+ }
53
+ function encodeManifest(manifest) {
54
+ if (manifest.parts.length > (65535)) throw new PartFormatError(`an asset names ${manifest.parts.length} parts; the limit is ${(65535)}`);
55
+ let out = new Uint8Array(manifestBytes(manifest)), v = view(out);
56
+ v.setUint32(0, (1296126019), true), v.setUint8(4, (1)), v.setUint8(5, manifest.kind), v.setUint16(6, manifest.parts.length, true), v.setUint32(8, manifest.length, true), v.setUint32(12, manifest.segments.length, true), v.setUint32(16, manifest.literal.length, true);
57
+ let at = (24);
58
+ for (let part of manifest.parts) {
59
+ if (!chunk4ZDR72SG_js.unhexAt(part.digest, out, at, chunk4ZDR72SG_js.DIGEST_BYTES)) throw new PartFormatError(`part digest ${part.digest} is not 32 hex bytes`);
60
+ v.setUint8(at + chunk4ZDR72SG_js.DIGEST_BYTES, part.kind), v.setUint32(at + chunk4ZDR72SG_js.DIGEST_BYTES + 4, part.length, true), at += MANIFEST_PART_BYTES;
61
+ }
62
+ for (let s of manifest.segments)
63
+ v.setUint8(at, s.op), v.setUint16(at + 2, s.op === SegmentOp.literal ? 0 : s.part, true), v.setUint32(at + 4, s.offset, true), v.setUint32(at + 8, s.length, true), v.setUint32(at + 12, s.op === SegmentOp.delta ? s.output : s.length, true), at += (16);
64
+ return out.set(manifest.literal, at), checkManifest(decodeManifest(out)), out;
65
+ }
66
+ function decodeManifest(payload) {
67
+ if (!isManifest(payload)) throw new PartFormatError("not an asset manifest");
68
+ let v = view(payload);
69
+ if (v.getUint8(4) !== (1)) throw new PartFormatError("unsupported asset manifest version");
70
+ let kind = v.getUint8(5), partCount = v.getUint16(6, true), length = v.getUint32(8, true), segmentCount = v.getUint32(12, true), literalBytes = v.getUint32(16, true), literalAt = (24) + partCount * MANIFEST_PART_BYTES + segmentCount * (16);
71
+ if (literalAt + literalBytes !== payload.length) throw new PartFormatError("the asset manifest's tables do not match its length");
72
+ let parts = [], at = (24);
73
+ for (let p = 0; p < partCount; p++) {
74
+ let partKind = v.getUint8(at + chunk4ZDR72SG_js.DIGEST_BYTES);
75
+ partKindName(partKind), parts.push({ digest: chunk4ZDR72SG_js.hexAt(payload, at, chunk4ZDR72SG_js.DIGEST_BYTES), kind: partKind, length: v.getUint32(at + chunk4ZDR72SG_js.DIGEST_BYTES + 4, true) }), at += MANIFEST_PART_BYTES;
76
+ }
77
+ let segments = [];
78
+ for (let s = 0; s < segmentCount; s++) {
79
+ let op = v.getUint8(at), part = v.getUint16(at + 2, true), offset = v.getUint32(at + 4, true), len = v.getUint32(at + 8, true), output = v.getUint32(at + 12, true);
80
+ if (op === SegmentOp.literal) segments.push({ op, offset, length: len });
81
+ else if (op === SegmentOp.part) segments.push({ op, part, offset, length: len });
82
+ else if (op === SegmentOp.delta) segments.push({ op, part, offset, length: len, output });
83
+ else throw new PartFormatError(`unknown segment op ${op}`);
84
+ at += (16);
85
+ }
86
+ let manifest = { kind, length, parts, segments, literal: payload.subarray(literalAt) };
87
+ return checkManifest(manifest), manifest;
88
+ }
89
+ function segmentOutput(segment) {
90
+ return segment.op === SegmentOp.delta ? segment.output : segment.length;
91
+ }
92
+ function checkManifest(manifest) {
93
+ if (manifest.length > MAX_ASSET_BYTES) throw new PartFormatError(`an asset of ${manifest.length} bytes is larger than the ${MAX_ASSET_BYTES} byte limit`);
94
+ let total = 0;
95
+ for (let s of manifest.segments) {
96
+ if (s.op === SegmentOp.literal) {
97
+ if (s.offset + s.length > manifest.literal.length) throw new PartFormatError("a literal segment runs past the manifest's literal bytes");
98
+ } else {
99
+ let part = manifest.parts[s.part];
100
+ if (part === void 0) throw new PartFormatError(`a segment names part ${s.part} of ${manifest.parts.length}`);
101
+ if (s.op === SegmentOp.part && s.offset + s.length > part.length) throw new PartFormatError("a part segment runs past its part");
102
+ if (s.op === SegmentOp.delta && s.offset + s.length > manifest.literal.length) throw new PartFormatError("a delta segment runs past the manifest's literal bytes");
103
+ }
104
+ total += segmentOutput(s);
105
+ }
106
+ if (total !== manifest.length) throw new PartFormatError(`the asset manifest's segments make ${total} bytes, not ${manifest.length}`);
107
+ }
108
+
109
+ // src/interactives/parts/delta.ts
110
+ var DeltaOp = { copy: 0, insert: 1, table: 2, map: 3, fill: 4 }, WINDOW = 32, INDEX_STEP = 8, MIN_MAP_RUN = 8, MIN_FILL_RUN = 16, MAX_STRIDE = 4, TABLE_ENTRIES = 256, UNSET = -1, HASH_BASE = 16777619, EMPTY_SLOT = -1, Writer = class {
111
+ constructor(capacity) {
112
+ this.length = 0;
113
+ this.buffer = new Uint8Array(Math.max(64, capacity));
114
+ }
115
+ reserve(bytes) {
116
+ if (this.length + bytes <= this.buffer.length) return;
117
+ let next = new Uint8Array(Math.max(this.buffer.length * 2, this.length + bytes));
118
+ next.set(this.buffer.subarray(0, this.length)), this.buffer = next;
119
+ }
120
+ byte(value) {
121
+ this.reserve(1), this.buffer[this.length++] = value;
122
+ }
123
+ varint(value) {
124
+ this.reserve(5);
125
+ let v = value >>> 0;
126
+ for (; v >= 128; )
127
+ this.buffer[this.length++] = v & 127 | 128, v >>>= 7;
128
+ this.buffer[this.length++] = v;
129
+ }
130
+ bytes(source) {
131
+ this.reserve(source.length), this.buffer.set(source, this.length), this.length += source.length;
132
+ }
133
+ done() {
134
+ return this.buffer.slice(0, this.length);
135
+ }
136
+ }, Reader = class {
137
+ constructor(bytes) {
138
+ this.bytes = bytes;
139
+ this.at = 0;
140
+ }
141
+ get done() {
142
+ return this.at >= this.bytes.length;
143
+ }
144
+ byte() {
145
+ if (this.at >= this.bytes.length) throw new PartFormatError("a delta ends inside an operation");
146
+ return this.bytes[this.at++];
147
+ }
148
+ varint() {
149
+ let value = 0, shift = 0;
150
+ for (; ; ) {
151
+ let b = this.byte();
152
+ if (value += (b & 127) * 2 ** shift, (b & 128) === 0) return value;
153
+ if (shift += 7, shift > 28) throw new PartFormatError("a delta varint is too long");
154
+ }
155
+ }
156
+ take(length) {
157
+ if (this.at + length > this.bytes.length) throw new PartFormatError("a delta literal runs past its end");
158
+ let out = this.bytes.subarray(this.at, this.at + length);
159
+ return this.at += length, out;
160
+ }
161
+ };
162
+ function applyDelta(base, delta, out, at, length) {
163
+ let r = new Reader(delta), end = at + length;
164
+ if (end > out.length) throw new PartFormatError("a delta writes past its target");
165
+ let stride = 0, table = null, o = at;
166
+ for (; !r.done; ) {
167
+ let op = r.byte();
168
+ if (op === DeltaOp.copy) {
169
+ let offset = r.varint(), n = r.varint();
170
+ if (offset + n > base.length || o + n > end) throw new PartFormatError("a delta copy runs out of bounds");
171
+ out.set(base.subarray(offset, offset + n), o), o += n;
172
+ } else if (op === DeltaOp.insert) {
173
+ let n = r.varint();
174
+ if (o + n > end) throw new PartFormatError("a delta insert runs past its target");
175
+ out.set(r.take(n), o), o += n;
176
+ } else if (op === DeltaOp.table) {
177
+ if (stride = r.byte(), stride < 1 || stride > (4)) throw new PartFormatError(`a delta table has stride ${stride}`);
178
+ table = r.take(stride * (256));
179
+ } else if (op === DeltaOp.map) {
180
+ let offset = r.varint(), n = r.varint();
181
+ if (table === null) throw new PartFormatError("a delta maps before it declares a table");
182
+ if (offset + n > base.length || o + n > end) throw new PartFormatError("a delta map runs out of bounds");
183
+ for (let i = 0; i < n; i++) {
184
+ let p = offset + i;
185
+ out[o + i] = table[p % stride * (256) + base[p]];
186
+ }
187
+ o += n;
188
+ } else if (op === DeltaOp.fill) {
189
+ let n = r.varint(), value = r.byte();
190
+ if (o + n > end) throw new PartFormatError("a delta fill runs past its target");
191
+ out.fill(value, o, o + n), o += n;
192
+ } else
193
+ throw new PartFormatError(`unknown delta op ${op}`);
194
+ }
195
+ if (o !== end) throw new PartFormatError(`a delta made ${o - at} bytes, not ${length}`);
196
+ }
197
+ function emitLiteral(w, target, from, to) {
198
+ let start = from, i = from;
199
+ for (; i < to; ) {
200
+ let run = i + 1;
201
+ for (; run < to && target[run] === target[i]; ) run++;
202
+ run - i >= (16) && (i > start && (w.byte(DeltaOp.insert), w.varint(i - start), w.bytes(target.subarray(start, i))), w.byte(DeltaOp.fill), w.varint(run - i), w.byte(target[i]), start = run), i = run;
203
+ }
204
+ to > start && (w.byte(DeltaOp.insert), w.varint(to - start), w.bytes(target.subarray(start, to)));
205
+ }
206
+ function hashAt(bytes, at) {
207
+ let h = 0;
208
+ for (let i = 0; i < (32); i++) h = Math.imul(h, (16777619)) + bytes[at + i] | 0;
209
+ return h;
210
+ }
211
+ function topPower() {
212
+ let p = 1;
213
+ for (let i = 0; i < (32) - 1; i++) p = Math.imul(p, (16777619));
214
+ return p;
215
+ }
216
+ var TOP = topPower();
217
+ function mix(h) {
218
+ let x = h ^ h >>> 16;
219
+ return x = Math.imul(x, 73244475), x ^ x >>> 16;
220
+ }
221
+ function indexBase(base) {
222
+ let entries = Math.max(1, Math.floor((base.length - (32)) / (8)) + 1), size = 1;
223
+ for (; size < entries * 2; ) size <<= 1;
224
+ let slots = new Int32Array(size).fill((-1)), mask = size - 1;
225
+ for (let p = 0; p + (32) <= base.length; p += (8)) {
226
+ let slot = mix(hashAt(base, p)) & mask;
227
+ for (; slots[slot] !== (-1) && hashAt(base, slots[slot]) !== hashAt(base, p); )
228
+ slot = slot + 1 & mask;
229
+ slots[slot] === (-1) && (slots[slot] = p);
230
+ }
231
+ return { slots, mask };
232
+ }
233
+ function lookup(base, index, hash) {
234
+ let slot = mix(hash) & index.mask;
235
+ for (; ; ) {
236
+ let p = index.slots[slot];
237
+ if (p === (-1)) return (-1);
238
+ if (hashAt(base, p) === hash) return p;
239
+ slot = slot + 1 & index.mask;
240
+ }
241
+ }
242
+ function copyDelta(base, target) {
243
+ let w = new Writer(target.length >>> 3);
244
+ if (base.length < (32) || target.length < (32))
245
+ return emitLiteral(w, target, 0, target.length), w.done();
246
+ let index = indexBase(base), pending = 0, i = 0, h = hashAt(target, 0);
247
+ for (; i + (32) <= target.length; ) {
248
+ let candidate = lookup(base, index, h), matched = 0, back = 0;
249
+ if (candidate !== (-1)) {
250
+ for (; candidate + matched < base.length && i + matched < target.length && base[candidate + matched] === target[i + matched]; ) matched++;
251
+ if (matched >= (32))
252
+ for (; back < i - pending && back < candidate && base[candidate - back - 1] === target[i - back - 1]; ) back++;
253
+ }
254
+ if (matched >= (32)) {
255
+ emitLiteral(w, target, pending, i - back), w.byte(DeltaOp.copy), w.varint(candidate - back), w.varint(matched + back), i += matched, pending = i, i + (32) <= target.length && (h = hashAt(target, i));
256
+ continue;
257
+ }
258
+ i + (32) < target.length && (h = Math.imul(h - Math.imul(target[i], TOP), (16777619)) + target[i + (32)] | 0), i++;
259
+ }
260
+ return emitLiteral(w, target, pending, target.length), w.done();
261
+ }
262
+ function remapDelta(base, target) {
263
+ if (base.length !== target.length || base.length < (256)) return null;
264
+ let best = null;
265
+ for (let stride2 = 1; stride2 <= (4); stride2++) {
266
+ let table2 = new Int16Array(stride2 * (256)).fill((-1)), misses = 0;
267
+ for (let p2 = 0; p2 < base.length; p2++) {
268
+ let slot = p2 % stride2 * (256) + base[p2];
269
+ table2[slot] === (-1) ? table2[slot] = target[p2] : table2[slot] !== target[p2] && misses++;
270
+ }
271
+ if ((best === null || misses < best.misses) && (best = { stride: stride2, table: table2, misses }), misses === 0) break;
272
+ }
273
+ if (best === null) return null;
274
+ let { stride, table } = best, w = new Writer(stride * (256) + best.misses * 2 + 16);
275
+ w.byte(DeltaOp.table), w.byte(stride);
276
+ let bytes = new Uint8Array(stride * (256));
277
+ for (let s = 0; s < bytes.length; s++) bytes[s] = table[s] === (-1) ? 0 : table[s];
278
+ w.bytes(bytes);
279
+ let fits2 = (p2) => bytes[p2 % stride * (256) + base[p2]] === target[p2], p = 0, literalStart = 0;
280
+ for (; p < target.length; ) {
281
+ if (!fits2(p)) {
282
+ p++;
283
+ continue;
284
+ }
285
+ let run = p;
286
+ for (; run < target.length && fits2(run); ) run++;
287
+ (run - p >= (8) || p === literalStart && run === target.length) && (emitLiteral(w, target, literalStart, p), w.byte(DeltaOp.map), w.varint(p), w.varint(run - p), literalStart = run), p = run;
288
+ }
289
+ return emitLiteral(w, target, literalStart, target.length), w.done();
290
+ }
291
+ function encodeDelta(base, target, limit = target.length) {
292
+ let copy2 = copyDelta(base, target), remap = remapDelta(base, target), best = remap !== null && remap.length < copy2.length ? remap : copy2;
293
+ return best.length < limit ? best : null;
294
+ }
295
+
296
+ // src/interactives/parts/assemble.ts
297
+ function assembleInto(manifest, body, out, at = 0) {
298
+ if (at + manifest.length > out.length) throw new PartFormatError("the assembly target is smaller than the asset");
299
+ let o = at;
300
+ for (let s of manifest.segments) {
301
+ if (s.op === SegmentOp.literal) {
302
+ out.set(manifest.literal.subarray(s.offset, s.offset + s.length), o), o += s.length;
303
+ continue;
304
+ }
305
+ let part = body(s.part);
306
+ if (part.length !== manifest.parts[s.part].length) throw new PartFormatError(`part ${manifest.parts[s.part].digest} is ${part.length} bytes, not ${manifest.parts[s.part].length}`);
307
+ s.op === SegmentOp.part ? (out.set(part.subarray(s.offset, s.offset + s.length), o), o += s.length) : (applyDelta(part, manifest.literal.subarray(s.offset, s.offset + s.length), out, o, s.output), o += s.output);
308
+ }
309
+ }
310
+ function soleSpan(manifest) {
311
+ if (manifest.segments.length !== 1) return null;
312
+ let s = manifest.segments[0];
313
+ return s.op === SegmentOp.part ? { part: s.part, offset: s.offset } : null;
314
+ }
315
+ function assemble(manifest, body) {
316
+ let sole = soleSpan(manifest);
317
+ if (sole !== null)
318
+ return body(sole.part).subarray(sole.offset, sole.offset + manifest.length);
319
+ let out = new Uint8Array(manifest.length);
320
+ return assembleInto(manifest, body, out, 0), out;
321
+ }
322
+
323
+ // src/interactives/progressive/format.ts
324
+ var PROGRESSIVE_MAGIC = 1196576835, PROGRESSIVE_VERSION = 1, HEADER_BYTES = 32, LEVEL_BYTES = 8, UNIT_BYTES = 12, SEGMENT_BYTES2 = 12, PATCH_BYTES = 16, PPM = 1e6, MAX_PROGRESSIVE_BYTES = 2147483647, MAX_PROGRESSIVE_DECODE_BYTES = MAX_ASSET_BYTES, Header = {
325
+ magic: 0,
326
+ version: 4,
327
+ kind: 5,
328
+ levels: 6,
329
+ output: 8,
330
+ units: 12,
331
+ segments: 16,
332
+ patches: 20,
333
+ table: 24,
334
+ staging: 28
335
+ }, ProgressiveKind = {
336
+ opaque: 0,
337
+ texture: 1,
338
+ mesh: 2,
339
+ splat: 3,
340
+ audio: 4,
341
+ cells: 5
342
+ }, KIND_NAMES = Object.keys(ProgressiveKind);
343
+ function progressiveKindName(code) {
344
+ let name = KIND_NAMES[code];
345
+ if (name === void 0) throw new ProgressiveFormatError(`unknown progressive kind ${code}`);
346
+ return name;
347
+ }
348
+ var SEGMENT_STAGED = 1, PatchOp = {
349
+ write: 0,
350
+ staged: 1,
351
+ merge: 2,
352
+ unlift: 3,
353
+ length: 4,
354
+ fill: 5
355
+ }, FILL_BYTE_MAX = 255, MERGE_PARAM_BYTES = 12, UNLIFT_PARAM_BYTES = 12, SAMPLE_BYTES = 2, ProgressiveFormatError = class extends Error {
356
+ constructor(message) {
357
+ super(message), this.name = "ProgressiveFormatError";
358
+ }
359
+ }, TableWriter = class {
360
+ constructor() {
361
+ this.chunks = [];
362
+ this.length = 0;
363
+ }
364
+ bytes(data) {
365
+ let at = this.length;
366
+ return this.chunks.push(data), this.length += data.length, at;
367
+ }
368
+ words(...values) {
369
+ let data = new Uint8Array(values.length * 4), v = new DataView(data.buffer);
370
+ for (let i = 0; i < values.length; i++) v.setUint32(i * 4, values[i], true);
371
+ return this.bytes(data);
372
+ }
373
+ finish() {
374
+ let out = new Uint8Array(this.length), at = 0;
375
+ for (let c of this.chunks)
376
+ out.set(c, at), at += c.length;
377
+ return out;
378
+ }
379
+ };
380
+ function writePatch(table, dest, data) {
381
+ return { op: PatchOp.write, a: dest, b: table.bytes(data), c: data.length };
382
+ }
383
+ function headBytes(levels, units, segments, patches, table) {
384
+ return (32) + levels * (8) + units * (12) + segments * (12) + patches * (16) + table;
385
+ }
386
+ var ProgressiveLayout = class {
387
+ constructor() {
388
+ this.kind = ProgressiveKind.opaque;
389
+ this.output = 0;
390
+ this.levels = 0;
391
+ this.units = 0;
392
+ this.segments = 0;
393
+ this.patches = 0;
394
+ this.table = 0;
395
+ this.staging = 0;
396
+ this.levelsAt = 0;
397
+ this.unitsAt = 0;
398
+ this.segmentsAt = 0;
399
+ this.patchesAt = 0;
400
+ this.tableAt = 0;
401
+ this.head = 0;
402
+ }
403
+ };
404
+ function readLayout(view2, into = new ProgressiveLayout()) {
405
+ if (view2.byteLength < (32)) throw new ProgressiveFormatError("a progressive container is shorter than its header");
406
+ if (view2.getUint32(Header.magic, true) !== (1196576835)) throw new ProgressiveFormatError("not a progressive container");
407
+ if (view2.getUint8(Header.version) !== (1)) throw new ProgressiveFormatError("unsupported progressive container version");
408
+ let kind = view2.getUint8(Header.kind);
409
+ if (kind >= KIND_NAMES.length) throw new ProgressiveFormatError("unknown progressive kind");
410
+ let levels = view2.getUint16(Header.levels, true), units = view2.getUint32(Header.units, true), segments = view2.getUint32(Header.segments, true), patches = view2.getUint32(Header.patches, true), table = view2.getUint32(Header.table, true), head = headBytes(levels, units, segments, patches, table);
411
+ if (levels === 0 || units < levels || head > (2147483647)) throw new ProgressiveFormatError("the progressive container's tables are malformed");
412
+ let output = view2.getUint32(Header.output, true), staging = view2.getUint32(Header.staging, true);
413
+ if (head + output + staging > MAX_PROGRESSIVE_DECODE_BYTES) throw new ProgressiveFormatError("a progressive container decodes to more than the format allows");
414
+ return into.kind = kind, into.output = output, into.levels = levels, into.units = units, into.segments = segments, into.patches = patches, into.table = table, into.staging = staging, into.levelsAt = (32), into.unitsAt = into.levelsAt + levels * (8), into.segmentsAt = into.unitsAt + units * (12), into.patchesAt = into.segmentsAt + segments * (12), into.tableAt = into.patchesAt + patches * (16), into.head = head, into;
415
+ }
416
+ function fits(at, length, limit) {
417
+ return at >= 0 && length >= 0 && at + length <= limit;
418
+ }
419
+ function checkLayout(view2, l) {
420
+ let unitsEnd = 0, quality = 0;
421
+ for (let i = 0; i < l.levels; i++) {
422
+ let at = l.levelsAt + i * (8), end = view2.getUint32(at, true), q = view2.getUint32(at + 4, true);
423
+ if (end <= unitsEnd || end > l.units || q < quality || q > (1e6)) throw new ProgressiveFormatError(`progressive level ${i} is malformed`);
424
+ unitsEnd = end, quality = q;
425
+ }
426
+ if (unitsEnd !== l.units || quality !== (1e6)) throw new ProgressiveFormatError("the progressive levels do not end at full quality");
427
+ let segmentsEnd = 0, patchesEnd = 0;
428
+ quality = 0;
429
+ for (let u = 0; u < l.units; u++) {
430
+ let at = l.unitsAt + u * (12), s = view2.getUint32(at, true), p = view2.getUint32(at + 4, true), q = view2.getUint32(at + 8, true);
431
+ if (s < segmentsEnd || s > l.segments || p < patchesEnd || p > l.patches || q < quality || q > (1e6)) throw new ProgressiveFormatError(`progressive unit ${u} is malformed`);
432
+ segmentsEnd = s, patchesEnd = p, quality = q;
433
+ }
434
+ if (segmentsEnd !== l.segments || patchesEnd !== l.patches) throw new ProgressiveFormatError("the progressive units do not cover every segment and patch");
435
+ for (let s = 0; s < l.segments; s++) {
436
+ let at = l.segmentsAt + s * (12), dest = view2.getUint32(at, true), length = view2.getUint32(at + 4, true), staged = (view2.getUint32(at + 8, true) & (1)) !== 0;
437
+ if (!fits(dest, length, staged ? l.staging : l.output)) throw new ProgressiveFormatError(`progressive segment ${s} writes outside its target`);
438
+ }
439
+ for (let p = 0; p < l.patches; p++) {
440
+ let at = l.patchesAt + p * (16), op = view2.getUint8(at), a = view2.getUint32(at + 4, true), b = view2.getUint32(at + 8, true), c = view2.getUint32(at + 12, true);
441
+ if (op === PatchOp.write) {
442
+ if (!fits(a, c, l.output) || !fits(b, c, l.table)) throw new ProgressiveFormatError(`progressive patch ${p} is out of range`);
443
+ } else if (op === PatchOp.staged) {
444
+ if (!fits(a, c, l.output) || !fits(b, c, l.staging)) throw new ProgressiveFormatError(`progressive patch ${p} is out of range`);
445
+ } else if (op === PatchOp.merge) {
446
+ if (!fits(c, (12), l.table)) throw new ProgressiveFormatError(`progressive patch ${p} is out of range`);
447
+ let count = view2.getUint32(l.tableAt + c, true), element = view2.getUint32(l.tableAt + c + 4, true), step = view2.getUint32(l.tableAt + c + 8, true);
448
+ if (step < 2 || element === 0 || !fits(a, count * element, l.output) || !fits(b, (count - coarseKeys(count, step)) * element, l.staging))
449
+ throw new ProgressiveFormatError(`progressive patch ${p} merges outside its target`);
450
+ } else if (op === PatchOp.unlift) {
451
+ if (!fits(c, (12), l.table)) throw new ProgressiveFormatError(`progressive patch ${p} is out of range`);
452
+ let low = view2.getUint32(l.tableAt + c, true), frames = view2.getUint32(l.tableAt + c + 4, true), channels = view2.getUint32(l.tableAt + c + 8, true);
453
+ if (channels === 0 || low !== Math.ceil(frames / 2) || !fits(a, frames * channels * (2), l.output) || !fits(b, (frames - low) * channels * (2), l.staging))
454
+ throw new ProgressiveFormatError(`progressive patch ${p} lifts outside its target`);
455
+ } else if (op === PatchOp.length) {
456
+ if (a === 0 || a > l.output) throw new ProgressiveFormatError(`progressive patch ${p} sets a length outside the output`);
457
+ } else if (op === PatchOp.fill) {
458
+ if (b > (255) || !fits(a, c, l.output)) throw new ProgressiveFormatError(`progressive patch ${p} fills outside the output`);
459
+ } else
460
+ throw new ProgressiveFormatError(`unknown progressive patch op ${op}`);
461
+ }
462
+ }
463
+ function coarseKeys(count, step) {
464
+ if (count === 0) return 0;
465
+ let last = count - 1;
466
+ return Math.floor(last / step) + 1 + (last % step === 0 ? 0 : 1);
467
+ }
468
+ function isCoarseKey(index, count, step) {
469
+ return index % step === 0 || index === count - 1;
470
+ }
471
+ function encodeContainer(plan) {
472
+ let units = plan.levels.flat(), segments = units.flatMap((u) => u.segments), patches = units.flatMap((u) => u.patches), staging = 0, payload = 0;
473
+ for (let s of segments)
474
+ s.staged === true && (staging = Math.max(staging, s.dest + s.bytes.length)), payload += s.bytes.length;
475
+ let head = headBytes(plan.levels.length, units.length, segments.length, patches.length, plan.table.length);
476
+ if (head + payload > (2147483647) || head + plan.output + staging > MAX_PROGRESSIVE_DECODE_BYTES) throw new ProgressiveFormatError("a progressive container is larger than the format allows");
477
+ let out = new Uint8Array(head + payload), v = new DataView(out.buffer);
478
+ v.setUint32(Header.magic, (1196576835), true), v.setUint8(Header.version, (1)), v.setUint8(Header.kind, plan.kind), v.setUint16(Header.levels, plan.levels.length, true), v.setUint32(Header.output, plan.output, true), v.setUint32(Header.units, units.length, true), v.setUint32(Header.segments, segments.length, true), v.setUint32(Header.patches, patches.length, true), v.setUint32(Header.table, plan.table.length, true), v.setUint32(Header.staging, staging, true);
479
+ let layout = readLayout(v), unitCount = 0, segmentCount = 0, patchCount = 0, stream = head, levelEnds = [], unitEnds = [];
480
+ for (let l = 0; l < plan.levels.length; l++) {
481
+ let level = plan.levels[l];
482
+ for (let unit of level) {
483
+ for (let s of unit.segments) {
484
+ let at3 = layout.segmentsAt + segmentCount * (12);
485
+ v.setUint32(at3, s.dest, true), v.setUint32(at3 + 4, s.bytes.length, true), v.setUint32(at3 + 8, s.staged === true ? (1) : 0, true), out.set(s.bytes, stream), stream += s.bytes.length, segmentCount++;
486
+ }
487
+ for (let p of unit.patches) {
488
+ let at3 = layout.patchesAt + patchCount * (16);
489
+ v.setUint8(at3, p.op), v.setUint32(at3 + 4, p.a, true), v.setUint32(at3 + 8, p.b, true), v.setUint32(at3 + 12, p.c, true), patchCount++;
490
+ }
491
+ let at2 = layout.unitsAt + unitCount * (12);
492
+ v.setUint32(at2, segmentCount, true), v.setUint32(at2 + 4, patchCount, true), v.setUint32(at2 + 8, Math.round(unit.quality), true), unitCount++, unitEnds.push(stream);
493
+ }
494
+ let at = layout.levelsAt + l * (8);
495
+ v.setUint32(at, unitCount, true), v.setUint32(at + 4, Math.round(level[level.length - 1]?.quality ?? 0), true), levelEnds.push(stream);
496
+ }
497
+ return out.set(plan.table, layout.tableAt), checkLayout(v, layout), { bytes: out, head, first: levelEnds[0], levelEnds, unitEnds };
498
+ }
499
+ function containerBounds(bytes) {
500
+ if (!isProgressive(bytes)) return null;
501
+ let view2 = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength), layout;
502
+ try {
503
+ if (layout = readLayout(view2), layout.head > bytes.length) return null;
504
+ checkLayout(view2, layout);
505
+ } catch {
506
+ return null;
507
+ }
508
+ let unitEnds = [], at = layout.head, segment = 0;
509
+ for (let u = 0; u < layout.units; u++) {
510
+ let end = view2.getUint32(layout.unitsAt + u * (12), true);
511
+ for (; segment < end; segment++) at += view2.getUint32(layout.segmentsAt + segment * (12) + 4, true);
512
+ unitEnds.push(at);
513
+ }
514
+ if (at !== bytes.length) return null;
515
+ let baseUnits = view2.getUint32(layout.levelsAt, true);
516
+ return { kind: layout.kind, head: layout.head, first: unitEnds[baseUnits - 1], unitEnds };
517
+ }
518
+ function isProgressive(bytes) {
519
+ return bytes.length >= (32) && bytes[0] === 67 && bytes[1] === 80 && bytes[2] === 82 && bytes[3] === 71;
520
+ }
521
+
522
+ // src/interactives/progressive/lift.ts
523
+ function wrap16(value) {
524
+ return value << 16 >> 16;
525
+ }
526
+ function liftForward(samples, frames, channels) {
527
+ let lowFrames = Math.ceil(frames / 2), detailFrames = frames - lowFrames, low = new Int16Array(lowFrames * channels), detail = new Int16Array(detailFrames * channels);
528
+ for (let c = 0; c < channels; c++) {
529
+ for (let i = 0; i < lowFrames; i++) low[i * channels + c] = samples[2 * i * channels + c];
530
+ for (let i = 0; i < detailFrames; i++) {
531
+ let s = low[i * channels + c], right = i + 1 < lowFrames ? low[(i + 1) * channels + c] : s;
532
+ detail[i * channels + c] = wrap16(samples[(2 * i + 1) * channels + c] - (s + right >> 1));
533
+ }
534
+ if (detailFrames !== 0)
535
+ for (let i = 0; i < lowFrames; i++) {
536
+ let left = detail[Math.max(0, i - 1) * channels + c], right = detail[Math.min(detailFrames - 1, i) * channels + c];
537
+ low[i * channels + c] = wrap16(low[i * channels + c] + (left + right + 2 >> 2));
538
+ }
539
+ }
540
+ return { low, detail };
541
+ }
542
+ function unliftInPlace(out, at, staging, detailAt, lowFrames, frames, channels, sampleBytes) {
543
+ let detailFrames = frames - lowFrames, frameBytes = channels * sampleBytes;
544
+ for (let c = 0; c < channels; c++) {
545
+ let lane = at + c * sampleBytes, detailLane = detailAt + c * sampleBytes, nextEven = 0;
546
+ for (let i = lowFrames - 1; i >= 0; i--) {
547
+ let even = out.getInt16(lane + i * frameBytes, true);
548
+ if (detailFrames > 0) {
549
+ let left = staging.getInt16(detailLane + Math.max(0, i - 1) * frameBytes, true), right = staging.getInt16(detailLane + Math.min(detailFrames - 1, i) * frameBytes, true);
550
+ even = wrap16(even - (left + right + 2 >> 2));
551
+ }
552
+ if (i < detailFrames) {
553
+ let right = i + 1 < lowFrames ? nextEven : even, odd = wrap16(staging.getInt16(detailLane + i * frameBytes, true) + (even + right >> 1));
554
+ out.setInt16(lane + (2 * i + 1) * frameBytes, odd, true);
555
+ }
556
+ out.setInt16(lane + 2 * i * frameBytes, even, true), nextEven = even;
557
+ }
558
+ }
559
+ }
560
+
561
+ // src/interactives/progressive/decoder.ts
562
+ var NOT_KNOWN = -1, VIEW_CACHE = 8, EMPTY = new Uint8Array(0);
563
+ function copy(dst, d, src, s, n) {
564
+ if (s === 0 && n === src.length) {
565
+ dst.set(src, d);
566
+ return;
567
+ }
568
+ for (let i = 0; i < n; i++) dst[d + i] = src[s + i];
569
+ }
570
+ var ProgressiveDecoder = class {
571
+ constructor() {
572
+ this.head = new Uint8Array((32));
573
+ this.headView = new DataView(this.head.buffer);
574
+ this.headLength = 0;
575
+ this.headNeeded = (32);
576
+ this.shape = new ProgressiveLayout();
577
+ this.layout = null;
578
+ this.out = EMPTY;
579
+ this.outView = new DataView(this.out.buffer);
580
+ this.view = null;
581
+ this.views = Array.from({ length: (8) }, () => null);
582
+ this.nextView = 0;
583
+ this.staging = EMPTY;
584
+ this.stagingView = new DataView(this.staging.buffer);
585
+ this.segment = 0;
586
+ this.segmentDone = 0;
587
+ this.unit = 0;
588
+ this.levelIndex = 0;
589
+ this.consumed = 0;
590
+ this.first = (-1);
591
+ this.full = (-1);
592
+ this.ppm = 0;
593
+ }
594
+ get ready() {
595
+ return this.layout !== null;
596
+ }
597
+ get usable() {
598
+ return this.levelIndex > 0;
599
+ }
600
+ get done() {
601
+ return this.layout !== null && this.unit === this.layout.units;
602
+ }
603
+ get kind() {
604
+ return this.layout?.kind ?? null;
605
+ }
606
+ get output() {
607
+ return this.levelIndex > 0 ? this.view : null;
608
+ }
609
+ get quality() {
610
+ return this.ppm;
611
+ }
612
+ get level() {
613
+ return this.levelIndex;
614
+ }
615
+ get levels() {
616
+ return this.layout?.levels ?? 0;
617
+ }
618
+ get units() {
619
+ return this.unit;
620
+ }
621
+ get received() {
622
+ return this.consumed;
623
+ }
624
+ get firstBytes() {
625
+ return this.first;
626
+ }
627
+ get fullBytes() {
628
+ return this.full;
629
+ }
630
+ get outputBytes() {
631
+ return this.layout?.output ?? (-1);
632
+ }
633
+ levelEndBytes(level) {
634
+ let l = this.layout;
635
+ if (l === null || level < 0 || level >= l.levels) return (-1);
636
+ let unitEnd = this.headView.getUint32(l.levelsAt + level * (8), true), segmentEnd = this.headView.getUint32(l.unitsAt + (unitEnd - 1) * (12), true), bytes = l.head;
637
+ for (let s = 0; s < segmentEnd; s++) bytes += this.headView.getUint32(l.segmentsAt + s * (12) + 4, true);
638
+ return bytes;
639
+ }
640
+ reset() {
641
+ this.headLength = 0, this.headNeeded = (32), this.layout = null, this.segment = 0, this.segmentDone = 0, this.unit = 0, this.levelIndex = 0, this.consumed = 0, this.first = (-1), this.full = (-1), this.ppm = 0;
642
+ }
643
+ push(src, start = 0, end = src.length) {
644
+ let at = start, completed = 0;
645
+ for (; at < end; ) {
646
+ let layout = this.layout;
647
+ if (layout === null) {
648
+ let take2 = Math.min(end - at, this.headNeeded - this.headLength);
649
+ copy(this.head, this.headLength, src, at, take2), this.headLength += take2, at += take2, this.consumed += take2, this.headLength === this.headNeeded && (completed += this.openHead());
650
+ continue;
651
+ }
652
+ if (this.segment >= layout.segments) break;
653
+ let record = layout.segmentsAt + this.segment * (12), dest = this.headView.getUint32(record, true), length = this.headView.getUint32(record + 4, true), staged = (this.headView.getUint32(record + 8, true) & (1)) !== 0, take = Math.min(end - at, length - this.segmentDone);
654
+ copy(staged ? this.staging : this.out, dest + this.segmentDone, src, at, take), this.segmentDone += take, at += take, this.consumed += take, this.segmentDone === length && (this.segment++, this.segmentDone = 0, completed += this.settle());
655
+ }
656
+ return completed;
657
+ }
658
+ viewOf(length) {
659
+ for (let i = 0; i < (8); i++) {
660
+ let cached = this.views[i];
661
+ if (cached !== null && cached.length === length) return cached;
662
+ }
663
+ let view2 = this.out.subarray(0, length);
664
+ return this.views[this.nextView] = view2, this.nextView = (this.nextView + 1) % (8), view2;
665
+ }
666
+ ensureHead(size) {
667
+ if (this.head.length >= size) return;
668
+ let grown = new Uint8Array(size);
669
+ grown.set(this.head.subarray(0, this.headLength)), this.head = grown, this.headView = new DataView(grown.buffer);
670
+ }
671
+ openHead() {
672
+ if (this.headNeeded === (32)) {
673
+ let size = readLayout(this.headView, this.shape).head;
674
+ if (size > (32))
675
+ return this.ensureHead(size), this.headNeeded = size, 0;
676
+ }
677
+ let layout = readLayout(this.headView, this.shape);
678
+ checkLayout(this.headView, layout), this.out.length < layout.output ? (this.out = new Uint8Array(layout.output), this.outView = new DataView(this.out.buffer), this.views.fill(null)) : this.out.fill(0, 0, layout.output), this.view = this.viewOf(layout.output), this.staging.length < layout.staging && (this.staging = new Uint8Array(layout.staging), this.stagingView = new DataView(this.staging.buffer)), this.layout = layout;
679
+ let payload = 0;
680
+ for (let s = 0; s < layout.segments; s++) payload += this.headView.getUint32(layout.segmentsAt + s * (12) + 4, true);
681
+ return this.full = layout.head + payload, this.first = this.levelEndBytes(0), this.settle();
682
+ }
683
+ settle() {
684
+ let l = this.layout;
685
+ if (l === null) return 0;
686
+ for (; this.segment < l.segments && this.headView.getUint32(l.segmentsAt + this.segment * (12) + 4, true) === 0; ) this.segment++;
687
+ let completed = 0;
688
+ for (; this.unit < l.units; ) {
689
+ let record = l.unitsAt + this.unit * (12);
690
+ if (this.segment < this.headView.getUint32(record, true)) break;
691
+ let firstPatch = this.unit === 0 ? 0 : this.headView.getUint32(record - (12) + 4, true), lastPatch = this.headView.getUint32(record + 4, true);
692
+ for (let p = firstPatch; p < lastPatch; p++) this.apply(l, l.patchesAt + p * (16));
693
+ for (this.ppm = this.headView.getUint32(record + 8, true), this.unit++, completed++; this.levelIndex < l.levels && this.unit >= this.headView.getUint32(l.levelsAt + this.levelIndex * (8), true); ) this.levelIndex++;
694
+ }
695
+ return completed;
696
+ }
697
+ apply(l, record) {
698
+ let h = this.headView, op = h.getUint8(record), a = h.getUint32(record + 4, true), b = h.getUint32(record + 8, true), c = h.getUint32(record + 12, true);
699
+ if (op === PatchOp.write)
700
+ copy(this.out, a, this.head, l.tableAt + b, c);
701
+ else if (op === PatchOp.staged)
702
+ copy(this.out, a, this.staging, b, c);
703
+ else if (op === PatchOp.merge) {
704
+ let count = h.getUint32(l.tableAt + c, true), element = h.getUint32(l.tableAt + c + 4, true), step = h.getUint32(l.tableAt + c + 8, true), coarse = coarseKeys(count, step) - 1, rest = count - coarse - 2;
705
+ for (let i = count - 1; i >= 0; i--) {
706
+ let to = a + i * element;
707
+ if (isCoarseKey(i, count, step)) {
708
+ let from = a + coarse * element;
709
+ from !== to && this.out.copyWithin(to, from, from + element), coarse--;
710
+ } else
711
+ copy(this.out, to, this.staging, b + rest * element, element), rest--;
712
+ }
713
+ } else if (op === PatchOp.length)
714
+ this.view = this.viewOf(a);
715
+ else if (op === PatchOp.fill)
716
+ this.out.fill(b, a, a + c);
717
+ else {
718
+ let low = h.getUint32(l.tableAt + c, true), frames = h.getUint32(l.tableAt + c + 4, true), channels = h.getUint32(l.tableAt + c + 8, true);
719
+ unliftInPlace(this.outView, a, this.stagingView, b, low, frames, channels, (2));
720
+ }
721
+ }
722
+ };
723
+ function decodeProgressive(container) {
724
+ let decoder = new ProgressiveDecoder();
725
+ decoder.push(container);
726
+ let output = decoder.output;
727
+ if (!decoder.done || output === null) throw new ProgressiveFormatError("the progressive container is truncated");
728
+ return output;
729
+ }
730
+
731
+ // src/interactives/progressive/load.ts
732
+ var ProgressiveCancelled = class extends Error {
733
+ constructor(asset) {
734
+ super(`the progressive load of ${asset} was cancelled`);
735
+ this.asset = asset;
736
+ this.name = "ProgressiveCancelled";
737
+ }
738
+ };
739
+ function settled() {
740
+ let resolve = () => {
741
+ }, reject = () => {
742
+ }, promise = new Promise((ok, fail) => {
743
+ resolve = ok, reject = fail;
744
+ });
745
+ return promise.catch(() => {
746
+ }), { promise, resolve, reject };
747
+ }
748
+ var ProgressiveFeed = class {
749
+ constructor(asset, listener) {
750
+ this.asset = asset;
751
+ this.listener = listener;
752
+ this.decoder = new ProgressiveDecoder();
753
+ this.firstReady = settled();
754
+ this.doneReady = settled();
755
+ this.stopped = false;
756
+ this.finished = false;
757
+ this.first = this.firstReady.promise;
758
+ this.done = this.doneReady.promise;
759
+ }
760
+ get cancelled() {
761
+ return this.stopped;
762
+ }
763
+ get firstBytes() {
764
+ return this.decoder.firstBytes;
765
+ }
766
+ cancel() {
767
+ this.finished || (this.stopped = true, this.fail(new ProgressiveCancelled(this.asset)));
768
+ }
769
+ push(bytes) {
770
+ if (this.stopped || this.finished) return;
771
+ let completed;
772
+ try {
773
+ completed = this.decoder.push(bytes);
774
+ } catch (error) {
775
+ this.fail(error instanceof Error ? error : new ProgressiveFormatError(String(error)));
776
+ return;
777
+ }
778
+ let output = this.decoder.output;
779
+ if (completed === 0 || output === null) return;
780
+ let done = this.decoder.done;
781
+ this.listener?.(output, this.decoder.quality, this.decoder.level, done), this.firstReady.resolve(output), done && (this.finished = true, this.doneReady.resolve(output));
782
+ }
783
+ whole(bytes) {
784
+ this.push(bytes), !this.finished && !this.stopped && this.fail(new ProgressiveFormatError(`the progressive container for ${this.asset} is truncated`));
785
+ }
786
+ complete(bytes) {
787
+ this.stopped || this.finished || (this.finished = true, this.listener?.(bytes, (1e6), 0, true), this.firstReady.resolve(bytes), this.doneReady.resolve(bytes));
788
+ }
789
+ fail(error) {
790
+ this.finished = true, this.firstReady.reject(error), this.doneReady.reject(error);
791
+ }
792
+ };
793
+
794
+ exports.DeltaOp = DeltaOp;
795
+ exports.FILL_BYTE_MAX = (255);
796
+ exports.HEADER_BYTES = (32);
797
+ exports.Header = Header;
798
+ exports.LEVEL_BYTES = (8);
799
+ exports.MANIFEST_HEADER_BYTES = (24);
800
+ exports.MANIFEST_MAGIC = (1296126019);
801
+ exports.MANIFEST_PART_BYTES = MANIFEST_PART_BYTES;
802
+ exports.MANIFEST_VERSION = (1);
803
+ exports.MAX_ASSET_BYTES = MAX_ASSET_BYTES;
804
+ exports.MAX_MANIFEST_PARTS = (65535);
805
+ exports.MAX_PROGRESSIVE_BYTES = (2147483647);
806
+ exports.MAX_PROGRESSIVE_DECODE_BYTES = MAX_PROGRESSIVE_DECODE_BYTES;
807
+ exports.MERGE_PARAM_BYTES = (12);
808
+ exports.PART_HEADER_BYTES = (8);
809
+ exports.PART_MAGIC = (1414680643);
810
+ exports.PART_VERSION = (1);
811
+ exports.PATCH_BYTES = (16);
812
+ exports.PPM = (1e6);
813
+ exports.PROGRESSIVE_MAGIC = (1196576835);
814
+ exports.PROGRESSIVE_VERSION = (1);
815
+ exports.PartFormatError = PartFormatError;
816
+ exports.PartKind = PartKind;
817
+ exports.PatchOp = PatchOp;
818
+ exports.ProgressiveCancelled = ProgressiveCancelled;
819
+ exports.ProgressiveDecoder = ProgressiveDecoder;
820
+ exports.ProgressiveFeed = ProgressiveFeed;
821
+ exports.ProgressiveFormatError = ProgressiveFormatError;
822
+ exports.ProgressiveKind = ProgressiveKind;
823
+ exports.ProgressiveLayout = ProgressiveLayout;
824
+ exports.SAMPLE_BYTES = (2);
825
+ exports.SEGMENT_BYTES = (16);
826
+ exports.SEGMENT_BYTES2 = (12);
827
+ exports.SEGMENT_STAGED = (1);
828
+ exports.SegmentOp = SegmentOp;
829
+ exports.TableWriter = TableWriter;
830
+ exports.UNIT_BYTES = (12);
831
+ exports.UNLIFT_PARAM_BYTES = (12);
832
+ exports.applyDelta = applyDelta;
833
+ exports.assemble = assemble;
834
+ exports.assembleInto = assembleInto;
835
+ exports.checkLayout = checkLayout;
836
+ exports.coarseKeys = coarseKeys;
837
+ exports.containerBounds = containerBounds;
838
+ exports.decodeManifest = decodeManifest;
839
+ exports.decodePart = decodePart;
840
+ exports.decodeProgressive = decodeProgressive;
841
+ exports.encodeContainer = encodeContainer;
842
+ exports.encodeDelta = encodeDelta;
843
+ exports.encodeManifest = encodeManifest;
844
+ exports.encodePart = encodePart;
845
+ exports.headBytes = headBytes;
846
+ exports.isCoarseKey = isCoarseKey;
847
+ exports.isManifest = isManifest;
848
+ exports.isProgressive = isProgressive;
849
+ exports.liftForward = liftForward;
850
+ exports.manifestBytes = manifestBytes;
851
+ exports.partKindName = partKindName;
852
+ exports.progressiveKindName = progressiveKindName;
853
+ exports.readLayout = readLayout;
854
+ exports.segmentOutput = segmentOutput;
855
+ exports.soleSpan = soleSpan;
856
+ exports.writePatch = writePatch;