@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.
- package/LICENSE +21 -0
- package/dist/advanced.d.mts +4 -3
- package/dist/advanced.d.ts +4 -3
- package/dist/advanced.js +24 -24
- package/dist/advanced.mjs +5 -5
- package/dist/animation-4EXBXRVX.js +27 -0
- package/dist/animation-6DICNWUP.mjs +6 -0
- package/dist/audio-DhvyjqdA.d.mts +249 -0
- package/dist/audio-m0w8cnxq.d.ts +249 -0
- package/dist/avatars.d.mts +110 -0
- package/dist/avatars.d.ts +110 -0
- package/dist/avatars.js +82 -0
- package/dist/avatars.mjs +5 -0
- package/dist/backend-gUCzs5Kg.d.mts +3866 -0
- package/dist/backend-gUCzs5Kg.d.ts +3866 -0
- package/dist/{catalogue-B4eLL8Mi.d.ts → catalogue-CPTMyBUz.d.mts} +109 -221
- package/dist/catalogue-DzrTXP3v.d.mts +541 -0
- package/dist/catalogue-DzrTXP3v.d.ts +541 -0
- package/dist/{catalogue-OT89_Ifs.d.mts → catalogue-OTuS5zp-.d.ts} +109 -221
- package/dist/chunk-22BD3RHN.mjs +1809 -0
- package/dist/chunk-25T4JHEA.mjs +21 -0
- package/dist/chunk-2AQ237Y4.js +508 -0
- package/dist/chunk-2IC4H6OV.mjs +48 -0
- package/dist/chunk-2LHLG4OB.mjs +71 -0
- package/dist/chunk-2O2CG465.js +1709 -0
- package/dist/chunk-2Q4DTHXK.js +316 -0
- package/dist/chunk-2QTQ6BUH.mjs +46 -0
- package/dist/chunk-2UN4SFLR.mjs +100 -0
- package/dist/chunk-2V75I7K3.js +454 -0
- package/dist/chunk-2V7IL4HC.js +10 -0
- package/dist/chunk-34XBXUMW.js +296 -0
- package/dist/chunk-3C4C654I.js +71 -0
- package/dist/chunk-3DAD2LDF.mjs +72 -0
- package/dist/chunk-3GXH2NFD.mjs +4 -0
- package/dist/chunk-3O47ZFW3.js +961 -0
- package/dist/chunk-3OY3VYNF.mjs +11 -0
- package/dist/chunk-3S6WPBZL.js +2936 -0
- package/dist/chunk-3TUOUP5T.js +399 -0
- package/dist/chunk-3VEH23I5.mjs +1380 -0
- package/dist/chunk-3ZYSAW2T.mjs +263 -0
- package/dist/chunk-4ANVF274.js +103 -0
- package/dist/chunk-4C7I3ELN.js +388 -0
- package/dist/chunk-4DYKAYFO.mjs +8 -0
- package/dist/chunk-4ZDR72SG.js +329 -0
- package/dist/chunk-52YS45RR.js +1066 -0
- package/dist/chunk-5325XSCH.js +107 -0
- package/dist/chunk-5AD5X6AV.js +13 -0
- package/dist/chunk-5BYDGGWO.mjs +197 -0
- package/dist/chunk-5C3C7VDM.mjs +55 -0
- package/dist/chunk-5HFMY3D7.js +660 -0
- package/dist/chunk-5LH2QN3T.js +1862 -0
- package/dist/chunk-5PJEXSOW.js +44 -0
- package/dist/chunk-5SXDH3Y7.js +90 -0
- package/dist/chunk-5YFBGGCK.mjs +502 -0
- package/dist/chunk-5YWN6H5Q.mjs +133 -0
- package/dist/chunk-66QP3SMN.js +402 -0
- package/dist/chunk-6DAEZKIG.mjs +385 -0
- package/dist/chunk-6DATW7TB.mjs +420 -0
- package/dist/{chunk-JRGK3NXR.mjs → chunk-6ETDAU62.mjs} +72 -212
- package/dist/chunk-6H254EVP.mjs +178 -0
- package/dist/chunk-6PFNJPBJ.mjs +820 -0
- package/dist/chunk-6PJWXIFX.mjs +357 -0
- package/dist/chunk-6SWKWCMS.js +80 -0
- package/dist/chunk-6VVXXX7S.js +808 -0
- package/dist/chunk-6WUBSMTX.js +1403 -0
- package/dist/chunk-73SGZLAQ.mjs +35 -0
- package/dist/chunk-76L2V6KD.mjs +4 -0
- package/dist/chunk-7AAIAVAA.js +1531 -0
- package/dist/chunk-7ARSJPV3.mjs +93 -0
- package/dist/chunk-7BHW5GTC.mjs +1234 -0
- package/dist/chunk-7DQSDKDU.js +6 -0
- package/dist/chunk-7IQQQENP.mjs +401 -0
- package/dist/chunk-7KFTYENS.js +11357 -0
- package/dist/chunk-7SM6XSPZ.js +3171 -0
- package/dist/chunk-7SXOHAIR.mjs +28 -0
- package/dist/chunk-A2MAX6S4.js +90 -0
- package/dist/chunk-A33OORT7.mjs +1530 -0
- package/dist/{chunk-U6ACF76H.mjs → chunk-A36JRXXH.mjs} +1075 -1845
- package/dist/chunk-A7BU3BK4.js +52 -0
- package/dist/chunk-A7MQSN2V.mjs +77 -0
- package/dist/chunk-A7V4L2IT.mjs +416 -0
- package/dist/chunk-AABEK6XU.js +226 -0
- package/dist/chunk-AGV33FWC.mjs +5005 -0
- package/dist/chunk-AHNR3BXI.js +108 -0
- package/dist/chunk-AQ5RLBU2.mjs +286 -0
- package/dist/chunk-AQOE6WCG.js +1270 -0
- package/dist/chunk-ATAWRACV.mjs +62 -0
- package/dist/chunk-ATCURNUV.js +14 -0
- package/dist/chunk-AWPV33OO.js +6 -0
- package/dist/chunk-AYJPHKYV.js +337 -0
- package/dist/chunk-AZ5BGWHB.js +162 -0
- package/dist/chunk-AZAXD44P.js +1373 -0
- package/dist/chunk-BBGKQIJJ.mjs +406 -0
- package/dist/chunk-BP4JLSUA.js +1453 -0
- package/dist/{chunk-SUCE7FWA.mjs → chunk-BTUSVHIE.mjs} +539 -978
- package/dist/chunk-BU6OK542.mjs +818 -0
- package/dist/chunk-CVSRWM6W.js +418 -0
- package/dist/chunk-CYBMFMJD.mjs +247 -0
- package/dist/chunk-DDJLDOUX.mjs +217 -0
- package/dist/{chunk-V32BCG7M.js → chunk-DFZWHNRG.js} +75 -215
- package/dist/chunk-DJ2C7AVG.js +644 -0
- package/dist/chunk-DS2VU4WW.mjs +102 -0
- package/dist/chunk-DSAG7T5P.js +7290 -0
- package/dist/chunk-E2QPPH7I.js +327 -0
- package/dist/chunk-E65WCTIG.mjs +1187 -0
- package/dist/{chunk-33VCYWVL.mjs → chunk-E6QQKDNE.mjs} +30 -42
- package/dist/chunk-ECDK6QBF.mjs +981 -0
- package/dist/chunk-EIB4OWVQ.mjs +620 -0
- package/dist/chunk-EQUZYCGO.js +250 -0
- package/dist/chunk-F3UJ6ZRM.mjs +313 -0
- package/dist/chunk-F63N2ZTQ.js +7023 -0
- package/dist/chunk-F6XRYEM3.mjs +26 -0
- package/dist/chunk-FE6VCE4K.js +5030 -0
- package/dist/chunk-FLWD6GRR.js +1372 -0
- package/dist/chunk-FQBFWJBS.mjs +110 -0
- package/dist/chunk-FXVJ2HFU.js +26 -0
- package/dist/chunk-FZMQMQBW.js +312 -0
- package/dist/chunk-G3EEC44R.js +53 -0
- package/dist/{chunk-KG3WT4PR.mjs → chunk-GCKWKLZF.mjs} +73 -104
- package/dist/chunk-GCX7TY4D.mjs +6826 -0
- package/dist/chunk-GDB6TCSD.js +450 -0
- package/dist/chunk-GDCV4IWO.mjs +21 -0
- package/dist/chunk-GDZT5LZ5.js +170 -0
- package/dist/chunk-GHPUYD4I.mjs +213 -0
- package/dist/chunk-GHS6MIL6.mjs +1432 -0
- package/dist/chunk-GPS2THCL.mjs +11 -0
- package/dist/{chunk-EV2EVOYS.js → chunk-GTJWQAGU.js} +31 -42
- package/dist/chunk-GVTI6UJQ.mjs +130 -0
- package/dist/chunk-GXKI64OT.mjs +1138 -0
- package/dist/chunk-GYDYF2WX.js +275 -0
- package/dist/chunk-GYLP6UG4.mjs +705 -0
- package/dist/chunk-H3OQKK6X.js +1158 -0
- package/dist/chunk-H5DFSCJ6.js +40 -0
- package/dist/chunk-HAGEIC2L.mjs +186 -0
- package/dist/chunk-HAJ4JRFO.js +293 -0
- package/dist/chunk-HDR72GB6.js +188 -0
- package/dist/chunk-HF5HPS4T.mjs +40 -0
- package/dist/chunk-HK6LOFDS.js +218 -0
- package/dist/chunk-HMWYTXCY.mjs +143 -0
- package/dist/chunk-HPCSRCMA.js +89 -0
- package/dist/chunk-HSEO6TPU.js +247 -0
- package/dist/chunk-I5FOHCLH.js +132 -0
- package/dist/chunk-IDLW4NWA.mjs +85 -0
- package/dist/chunk-IIDZ5WUX.js +61 -0
- package/dist/chunk-IR74FJHU.js +2332 -0
- package/dist/chunk-IRVFYAKP.mjs +100 -0
- package/dist/{chunk-XBL3TMPC.mjs → chunk-IZDWAL53.mjs} +1795 -3287
- package/dist/chunk-J2KZXIU3.js +51 -0
- package/dist/chunk-J2U6PJSO.js +91 -0
- package/dist/chunk-J5AJNY2N.js +283 -0
- package/dist/chunk-J6KQZ4FO.mjs +821 -0
- package/dist/{chunk-OWW5GUSB.js → chunk-JGBCIKJV.js} +7 -6
- package/dist/chunk-JKGTBMU7.mjs +25 -0
- package/dist/chunk-JR3TNEQC.js +422 -0
- package/dist/chunk-JURRXY2J.mjs +29 -0
- package/dist/chunk-K3HW5I2A.mjs +317 -0
- package/dist/chunk-K46SMZ66.mjs +103 -0
- package/dist/chunk-K4UDGE3Z.mjs +6 -0
- package/dist/chunk-KDQOR4QQ.mjs +350 -0
- package/dist/chunk-KDTVOLHI.mjs +288 -0
- package/dist/chunk-KGHJH5KJ.mjs +35 -0
- package/dist/chunk-KIZOA5LX.mjs +140 -0
- package/dist/chunk-KK6HYVBI.mjs +242 -0
- package/dist/chunk-KMKWGXMK.js +856 -0
- package/dist/chunk-KPA6K5IB.js +80 -0
- package/dist/chunk-KU7O4IXU.mjs +260 -0
- package/dist/chunk-KVFNRJOR.mjs +11142 -0
- package/dist/chunk-KZJRSXHK.js +2432 -0
- package/dist/chunk-LHWPRUJL.js +79 -0
- package/dist/chunk-LIV3KXJG.mjs +369 -0
- package/dist/chunk-LKV4LACG.js +21 -0
- package/dist/chunk-LUY45X3U.mjs +263 -0
- package/dist/chunk-LYEZZEEF.mjs +17 -0
- package/dist/chunk-M5EXQZYY.mjs +1519 -0
- package/dist/chunk-ME6HGG4I.mjs +1338 -0
- package/dist/chunk-MEXP6DA6.js +31 -0
- package/dist/chunk-MG52AW3H.js +902 -0
- package/dist/chunk-MIPO6F72.js +334 -0
- package/dist/{chunk-5QW7CQBA.js → chunk-MKIJQL5Q.js} +211 -321
- package/dist/chunk-MN3YETVN.mjs +17 -0
- package/dist/chunk-MOBSBXVE.mjs +2391 -0
- package/dist/chunk-MOMOZEUM.mjs +88 -0
- package/dist/chunk-MRFUNRAP.js +62 -0
- package/dist/chunk-MTIHEW2M.js +433 -0
- package/dist/chunk-N4RGGDEL.mjs +73 -0
- package/dist/chunk-NH654HAT.js +10 -0
- package/dist/chunk-NHJUGZUR.mjs +253 -0
- package/dist/chunk-NMQT4HG3.mjs +757 -0
- package/dist/chunk-NPSYB6DC.mjs +906 -0
- package/dist/chunk-NW2GPMSO.js +857 -0
- package/dist/chunk-NXKQOQ6L.js +76 -0
- package/dist/chunk-NXLAZIJZ.js +309 -0
- package/dist/chunk-NYWNA5CF.js +148 -0
- package/dist/chunk-NZTKLY2W.js +1442 -0
- package/dist/chunk-O2ICABUD.js +36 -0
- package/dist/chunk-OIVVQQ22.js +862 -0
- package/dist/chunk-OKC2B4O3.mjs +312 -0
- package/dist/chunk-OLWFPDBK.js +2220 -0
- package/dist/chunk-OMTVH334.js +3779 -0
- package/dist/chunk-OQRVEM56.mjs +362 -0
- package/dist/chunk-OXMIBOD4.js +337 -0
- package/dist/chunk-PBL6YL5L.mjs +288 -0
- package/dist/chunk-PDOELNNQ.js +97 -0
- package/dist/chunk-PDQJY2GZ.js +136 -0
- package/dist/chunk-PKOZXD2Q.js +1274 -0
- package/dist/chunk-PPF2BYFL.mjs +2191 -0
- package/dist/chunk-PQTQKNKD.js +539 -0
- package/dist/chunk-PRSR4FAV.mjs +81 -0
- package/dist/chunk-PTRNO5UD.js +95 -0
- package/dist/chunk-Q2Y3VMKH.js +2000 -0
- package/dist/chunk-QCZOE65N.js +96 -0
- package/dist/chunk-QDYFLATW.mjs +52 -0
- package/dist/chunk-QQABGCMM.js +22 -0
- package/dist/chunk-QS6TRHMR.js +345 -0
- package/dist/chunk-R56P64LB.mjs +208 -0
- package/dist/chunk-RCQ2MPBV.js +428 -0
- package/dist/chunk-RFVRPYR2.mjs +856 -0
- package/dist/chunk-RKBLPGPV.js +11521 -0
- package/dist/chunk-RM2V4IND.mjs +327 -0
- package/dist/chunk-RQXN5A34.mjs +613 -0
- package/dist/chunk-RUVGVNOF.mjs +2687 -0
- package/dist/chunk-SAFJIGYB.mjs +165 -0
- package/dist/chunk-SKQFLBDD.js +263 -0
- package/dist/chunk-SMK6JU2F.mjs +2092 -0
- package/dist/{chunk-UVRPC2P7.js → chunk-SNNEOS5Z.js} +1984 -3476
- package/dist/chunk-SPCRQ6NO.mjs +1246 -0
- package/dist/chunk-SWX4SALA.mjs +19 -0
- package/dist/{chunk-JVODCGFP.mjs → chunk-SYEO2WV4.mjs} +128 -238
- package/dist/chunk-T2QQMX2N.js +10 -0
- package/dist/chunk-T3AFF3L7.mjs +57 -0
- package/dist/chunk-T6Z2EXYL.js +712 -0
- package/dist/chunk-T7LOXGYX.js +118 -0
- package/dist/chunk-TJCAE7RC.mjs +1315 -0
- package/dist/chunk-TJI3K6RP.js +137 -0
- package/dist/chunk-TL2SVO4P.mjs +55 -0
- package/dist/chunk-TM63CYGN.mjs +399 -0
- package/dist/chunk-TU5RYTYU.mjs +13 -0
- package/dist/chunk-TVJZ4GPS.js +1553 -0
- package/dist/chunk-TWM6DLYF.js +371 -0
- package/dist/chunk-U63OC4TQ.js +30 -0
- package/dist/{chunk-L5GKVQVJ.js → chunk-U6BVSJZ6.js} +25 -57
- package/dist/chunk-U6UVWEAK.mjs +792 -0
- package/dist/chunk-UCEPNO6N.mjs +11048 -0
- package/dist/{chunk-ANT574FD.js → chunk-UCR5HRYM.js} +74 -105
- package/dist/chunk-UG5BTOTF.mjs +334 -0
- package/dist/chunk-UGH37BQW.mjs +157 -0
- package/dist/chunk-V7ZRH3PY.mjs +271 -0
- package/dist/chunk-VBGHBL3E.mjs +1394 -0
- package/dist/chunk-VRBDAS5I.js +920 -0
- package/dist/chunk-VVE3Y76O.js +230 -0
- package/dist/chunk-W65JIRI4.mjs +1182 -0
- package/dist/chunk-WHYKAT7G.js +62 -0
- package/dist/{chunk-YOIVZ6OA.mjs → chunk-WIZRUIZB.mjs} +25 -57
- package/dist/chunk-WKWTDZS7.js +385 -0
- package/dist/chunk-WLMINRC4.mjs +78 -0
- package/dist/chunk-WOF3AD3J.js +22 -0
- package/dist/chunk-WWKMOA76.js +1262 -0
- package/dist/chunk-X5A5FOWW.js +615 -0
- package/dist/chunk-X6CN6KQF.mjs +192 -0
- package/dist/chunk-XD2PMH46.mjs +517 -0
- package/dist/chunk-XJA2NGTI.mjs +88 -0
- package/dist/chunk-XJIHN3BY.mjs +8 -0
- package/dist/chunk-XK6UDWJS.js +203 -0
- package/dist/chunk-XPG3N5CF.mjs +415 -0
- package/dist/chunk-XVZ2NKSU.mjs +74 -0
- package/dist/chunk-XYP45OLE.js +117 -0
- package/dist/chunk-XZSDGZX6.mjs +301 -0
- package/dist/chunk-Y2EMGN4T.mjs +120 -0
- package/dist/chunk-Y3XWP5XW.mjs +298 -0
- package/dist/chunk-Y4K22JL6.js +228 -0
- package/dist/chunk-Y65LXQGA.mjs +3164 -0
- package/dist/chunk-Y66WVMO5.mjs +87 -0
- package/dist/chunk-Y7JWLB25.mjs +7280 -0
- package/dist/chunk-YCDXAJKU.js +175 -0
- package/dist/chunk-YRDQCCIS.js +152 -0
- package/dist/chunk-YV52DGSA.js +111 -0
- package/dist/chunk-YXGZQPUD.js +94 -0
- package/dist/chunk-Z3A3AFVU.mjs +102 -0
- package/dist/chunk-ZCY6YKKP.mjs +475 -0
- package/dist/chunk-ZEQHXVU5.js +215 -0
- package/dist/chunk-ZF7JCXCI.js +284 -0
- package/dist/chunk-ZJBRUH6V.js +29 -0
- package/dist/chunk-ZMIL4ZOA.js +365 -0
- package/dist/chunk-ZR5ULMN2.mjs +337 -0
- package/dist/chunk-ZXREOYOW.js +87 -0
- package/dist/{client-BSP9U1O1.d.mts → client-CX_WR0-J.d.mts} +2 -2
- package/dist/client-Dytx_ZTC.d.ts +230 -0
- package/dist/{client-B878xeAP.d.ts → client-dqOhP9Nc.d.ts} +2 -2
- package/dist/client-hTKbCuhG.d.mts +230 -0
- package/dist/clock-B-UAjkKa.d.mts +5 -0
- package/dist/clock-B-UAjkKa.d.ts +5 -0
- package/dist/config-BlXQluJR.d.mts +36 -0
- package/dist/config-BlXQluJR.d.ts +36 -0
- package/dist/courier-Cnn-edJ4.d.ts +95 -0
- package/dist/courier-FmGfkvIN.d.mts +95 -0
- package/dist/crowd-DdHFbqKK.d.ts +186 -0
- package/dist/crowd-hOVSAmA3.d.mts +186 -0
- package/dist/danfo-BEBapFlX.d.mts +146 -0
- package/dist/danfo-UQ_PTIIx.d.ts +146 -0
- package/dist/{elements-Bty6Qs_N.d.mts → elements-DdsRig-2.d.mts} +1548 -257
- package/dist/{elements-Bty6Qs_N.d.ts → elements-DdsRig-2.d.ts} +1548 -257
- package/dist/engines/godot.d.mts +56 -0
- package/dist/engines/godot.d.ts +56 -0
- package/dist/engines/godot.js +28 -0
- package/dist/engines/godot.mjs +3 -0
- package/dist/engines/wasm.d.mts +11 -0
- package/dist/engines/wasm.d.ts +11 -0
- package/dist/engines/wasm.js +178 -0
- package/dist/engines/wasm.mjs +176 -0
- package/dist/fallback-CrG_lTFk.d.mts +270 -0
- package/dist/fallback-CrG_lTFk.d.ts +270 -0
- package/dist/fallback-KDB4Y2CE.mjs +6 -0
- package/dist/fallback-Y26TQENE.js +19 -0
- package/dist/features-CZB4rmcD.d.mts +118 -0
- package/dist/features-CZB4rmcD.d.ts +118 -0
- package/dist/fit-BWiE7rgA.d.mts +44 -0
- package/dist/fit-DK0oT7zO.d.ts +44 -0
- package/dist/five-a-side-Bv1AOUy3.d.mts +115 -0
- package/dist/five-a-side-EC51SJY1.d.ts +115 -0
- package/dist/fluid-ARr0qUIL.d.ts +939 -0
- package/dist/fluid-DLlEj2cs.d.mts +939 -0
- package/dist/game/conformance.d.mts +84 -0
- package/dist/game/conformance.d.ts +84 -0
- package/dist/game/conformance.js +1025 -0
- package/dist/game/conformance.mjs +994 -0
- package/dist/game/heap.d.mts +40 -0
- package/dist/game/heap.d.ts +40 -0
- package/dist/game/heap.js +48 -0
- package/dist/game/heap.mjs +7 -0
- package/dist/game/kit/canvas.d.mts +240 -0
- package/dist/game/kit/canvas.d.ts +240 -0
- package/dist/game/kit/canvas.js +3566 -0
- package/dist/game/kit/canvas.mjs +1039 -0
- package/dist/game/kit/courier.d.mts +17 -0
- package/dist/game/kit/courier.d.ts +17 -0
- package/dist/game/kit/courier.js +66 -0
- package/dist/game/kit/courier.mjs +49 -0
- package/dist/game/kit/danfo.d.mts +11 -0
- package/dist/game/kit/danfo.d.ts +11 -0
- package/dist/game/kit/danfo.js +109 -0
- package/dist/game/kit/danfo.mjs +44 -0
- package/dist/game/kit/engine.d.mts +29 -0
- package/dist/game/kit/engine.d.ts +29 -0
- package/dist/game/kit/engine.js +183 -0
- package/dist/game/kit/engine.mjs +30 -0
- package/dist/game/kit/five-a-side.d.mts +11 -0
- package/dist/game/kit/five-a-side.d.ts +11 -0
- package/dist/game/kit/five-a-side.js +86 -0
- package/dist/game/kit/five-a-side.mjs +41 -0
- package/dist/game/kit/frontier.d.mts +344 -0
- package/dist/game/kit/frontier.d.ts +344 -0
- package/dist/game/kit/frontier.js +435 -0
- package/dist/game/kit/frontier.mjs +14 -0
- package/dist/game/kit/genesis.d.mts +752 -0
- package/dist/game/kit/genesis.d.ts +752 -0
- package/dist/game/kit/genesis.js +380 -0
- package/dist/game/kit/genesis.mjs +15 -0
- package/dist/game/kit/ludo.d.mts +15 -0
- package/dist/game/kit/ludo.d.ts +15 -0
- package/dist/game/kit/ludo.js +87 -0
- package/dist/game/kit/ludo.mjs +42 -0
- package/dist/game/kit/runner.d.mts +12 -0
- package/dist/game/kit/runner.d.ts +12 -0
- package/dist/game/kit/runner.js +83 -0
- package/dist/game/kit/runner.mjs +46 -0
- package/dist/game/kit/shootout.d.mts +13 -0
- package/dist/game/kit/shootout.d.ts +13 -0
- package/dist/game/kit/shootout.js +122 -0
- package/dist/game/kit/shootout.mjs +57 -0
- package/dist/game/kit/slots.d.mts +392 -0
- package/dist/game/kit/slots.d.ts +392 -0
- package/dist/game/kit/slots.js +215 -0
- package/dist/game/kit/slots.mjs +6 -0
- package/dist/game/kit/tycoon.d.mts +16 -0
- package/dist/game/kit/tycoon.d.ts +16 -0
- package/dist/game/kit/tycoon.js +145 -0
- package/dist/game/kit/tycoon.mjs +44 -0
- package/dist/game/kit/word.d.mts +11 -0
- package/dist/game/kit/word.d.ts +11 -0
- package/dist/game/kit/word.js +78 -0
- package/dist/game/kit/word.mjs +41 -0
- package/dist/game/kit/worlds.d.mts +18 -0
- package/dist/game/kit/worlds.d.ts +18 -0
- package/dist/game/kit/worlds.js +74 -0
- package/dist/game/kit/worlds.mjs +49 -0
- package/dist/game/kit.d.mts +53 -0
- package/dist/game/kit.d.ts +53 -0
- package/dist/game/kit.js +2610 -0
- package/dist/game/kit.mjs +101 -0
- package/dist/game/prepared.d.mts +14 -0
- package/dist/game/prepared.d.ts +14 -0
- package/dist/game/prepared.js +81 -0
- package/dist/game/prepared.mjs +32 -0
- package/dist/game-Bx8onkhX.d.mts +1451 -0
- package/dist/game-fgQy2YIm.d.ts +1451 -0
- package/dist/game-theme-CBTw1b_d.d.mts +35 -0
- package/dist/game-theme-Dg-ict5A.d.ts +35 -0
- package/dist/game.d.mts +3546 -0
- package/dist/game.d.ts +3546 -0
- package/dist/game.js +4455 -0
- package/dist/game.mjs +50 -0
- package/dist/graphics-C6YjWYvP.d.ts +5 -0
- package/dist/graphics-Dk2yQnYN.d.mts +5 -0
- package/dist/guest-DrsA00XD.d.mts +732 -0
- package/dist/guest-wIdfoT05.d.ts +732 -0
- package/dist/hit-stop-BKkVwTq7.d.mts +43 -0
- package/dist/hit-stop-D-8pPYnM.d.ts +43 -0
- package/dist/hot-Crn9XpHJ.d.ts +29 -0
- package/dist/hot-DH3nOhQD.d.mts +29 -0
- package/dist/{index-CQStGb3B.d.mts → index-6gkHMGAq.d.mts} +2 -2
- package/dist/index-B8ybCKJI.d.ts +41 -0
- package/dist/{index-DJwXmoaP.d.ts → index-B98Xac8e.d.ts} +2 -2
- package/dist/{index-B7oA_1XI.d.ts → index-B_ByTtIT.d.ts} +2 -2
- package/dist/index-DHjNHb1c.d.mts +41 -0
- package/dist/{index-DhUSTAhT.d.mts → index-DbAN_VQE.d.mts} +2 -2
- package/dist/index.d.mts +134 -24
- package/dist/index.d.ts +134 -24
- package/dist/index.js +407 -248
- package/dist/index.mjs +184 -58
- package/dist/interactives-authoring.d.mts +231 -0
- package/dist/interactives-authoring.d.ts +231 -0
- package/dist/interactives-authoring.js +1743 -0
- package/dist/interactives-authoring.mjs +1704 -0
- package/dist/interactives-canvas.global.js +148 -0
- package/dist/interactives-guest.d.mts +20 -0
- package/dist/interactives-guest.d.ts +20 -0
- package/dist/interactives-guest.js +63 -0
- package/dist/interactives-guest.json +1 -0
- package/dist/interactives-guest.mjs +61 -0
- package/dist/interactives-jsc.global.js +9357 -0
- package/dist/interactives-meters.d.mts +93 -0
- package/dist/interactives-meters.d.ts +93 -0
- package/dist/interactives-meters.js +252 -0
- package/dist/interactives-meters.mjs +68 -0
- package/dist/interactives-production.d.mts +430 -0
- package/dist/interactives-production.d.ts +430 -0
- package/dist/interactives-production.js +1231 -0
- package/dist/interactives-production.mjs +1170 -0
- package/dist/interactives-record.d.mts +112 -0
- package/dist/interactives-record.d.ts +112 -0
- package/dist/interactives-record.js +302 -0
- package/dist/interactives-record.mjs +295 -0
- package/dist/interactives-runtime.d.mts +61 -0
- package/dist/interactives-runtime.d.ts +61 -0
- package/dist/interactives-runtime.js +442 -0
- package/dist/interactives-runtime.mjs +25 -0
- package/dist/interactives-studio-kernel.global.js +1 -0
- package/dist/interactives-studio.d.mts +806 -0
- package/dist/interactives-studio.d.ts +806 -0
- package/dist/interactives-studio.js +5741 -0
- package/dist/interactives-studio.mjs +5651 -0
- package/dist/interactives-tick.d.mts +90 -0
- package/dist/interactives-tick.d.ts +90 -0
- package/dist/interactives-tick.js +203 -0
- package/dist/interactives-tick.mjs +6 -0
- package/dist/interactives-web.d.mts +762 -0
- package/dist/interactives-web.d.ts +762 -0
- package/dist/interactives-web.js +5000 -0
- package/dist/interactives-web.mjs +4628 -0
- package/dist/interactives.d.mts +2430 -0
- package/dist/interactives.d.ts +2430 -0
- package/dist/interactives.js +5723 -0
- package/dist/interactives.mjs +4333 -0
- package/dist/juice-CoHxlpKA.d.ts +42 -0
- package/dist/juice-DQztFS43.d.mts +42 -0
- package/dist/launch-T2f4_Di4.d.mts +151 -0
- package/dist/launch-d6oreMzR.d.ts +151 -0
- package/dist/library-DXYaMFhi.d.mts +69 -0
- package/dist/library-DXYaMFhi.d.ts +69 -0
- package/dist/link-BUTqGmyi.d.mts +38 -0
- package/dist/link-BUTqGmyi.d.ts +38 -0
- package/dist/lint.js +104 -204
- package/dist/lint.mjs +103 -203
- package/dist/local-D8_I6UeL.d.mts +6967 -0
- package/dist/local-VZkqsCzR.d.ts +6967 -0
- package/dist/lockstep-BLf6dglI.d.mts +321 -0
- package/dist/lockstep-D50Ia0JW.d.ts +321 -0
- package/dist/ludo-B8ClkDqr.d.ts +205 -0
- package/dist/ludo-BOuohQ-M.d.mts +205 -0
- package/dist/mock/cli.mjs +200 -56
- package/dist/mock/library.js +200 -56
- package/dist/mock/library.mjs +200 -56
- package/dist/mock/msw.js +200 -56
- package/dist/mock/msw.mjs +200 -56
- package/dist/native-BodxSh03.d.mts +16 -0
- package/dist/native-DUHMT8gA.d.ts +16 -0
- package/dist/network-ZXLD7l1b.d.mts +19 -0
- package/dist/network-ZXLD7l1b.d.ts +19 -0
- package/dist/online-XeymeM9s.d.ts +381 -0
- package/dist/online-d7W_Al9a.d.mts +381 -0
- package/dist/params-DxFb5G_U.d.mts +155 -0
- package/dist/params-DxFb5G_U.d.ts +155 -0
- package/dist/play-BRRlfLhX.d.ts +940 -0
- package/dist/play-ClrMd_e8.d.mts +940 -0
- package/dist/policy-CCw8tXLm.d.mts +3078 -0
- package/dist/policy-CMqOSQIu.d.ts +3078 -0
- package/dist/ports-B_0v_P3A.d.mts +13 -0
- package/dist/ports-CGU_3e_0.d.ts +13 -0
- package/dist/prefetch-BHnicOQj.d.ts +117 -0
- package/dist/prefetch-CBXgYacv.d.mts +117 -0
- package/dist/{price-CSztR02F.d.mts → price-BOzexBww.d.mts} +1 -1
- package/dist/{price-C_vasx9A.d.ts → price-C1h9sPxE.d.ts} +1 -1
- package/dist/protocol-C8qbpUbT.d.mts +242 -0
- package/dist/protocol-C8qbpUbT.d.ts +242 -0
- package/dist/rapier-AZHT4YI7.js +7886 -0
- package/dist/rapier-ODEPCQA6.mjs +7792 -0
- package/dist/react.d.mts +157 -15
- package/dist/react.d.ts +157 -15
- package/dist/react.js +5564 -5904
- package/dist/react.mjs +5451 -5808
- package/dist/runner-CQcLL7By.d.ts +189 -0
- package/dist/runner-D46Yj-wE.d.mts +189 -0
- package/dist/runtime-BRWfkf_q.d.mts +51 -0
- package/dist/runtime-DyuBMkKM.d.ts +51 -0
- package/dist/scheduling-D2ajXpMC.d.ts +224 -0
- package/dist/scheduling-DSRbbaZb.d.mts +224 -0
- package/dist/schema-BrWxzKp6.d.mts +63 -0
- package/dist/schema-BrWxzKp6.d.ts +63 -0
- package/dist/server/evict.js +34 -37
- package/dist/server/evict.mjs +34 -37
- package/dist/server/tanstack.d.mts +49 -3
- package/dist/server/tanstack.d.ts +49 -3
- package/dist/server/tanstack.js +169 -117
- package/dist/server/tanstack.mjs +166 -118
- package/dist/{server-Dckg4Vdr.d.ts → server-D29IIuDV.d.ts} +136 -130
- package/dist/{server-B6dW7-Lj.d.mts → server-DQMWPnc8.d.mts} +136 -130
- package/dist/server.d.mts +45 -5
- package/dist/server.d.ts +45 -5
- package/dist/server.js +171 -227
- package/dist/server.mjs +165 -225
- package/dist/session-grant-CJ27DwrT.d.mts +19 -0
- package/dist/session-grant-CJ27DwrT.d.ts +19 -0
- package/dist/shootout-BJZeX6FG.d.ts +140 -0
- package/dist/shootout-tcZd1Rxt.d.mts +140 -0
- package/dist/state-replica-stMtdkVD.d.mts +42 -0
- package/dist/state-replica-stMtdkVD.d.ts +42 -0
- package/dist/studio-CowqWqez.d.mts +14 -0
- package/dist/studio-CowqWqez.d.ts +14 -0
- package/dist/styles.css +1 -1
- package/dist/template-AhCdB1kW.d.mts +190 -0
- package/dist/template-BkEGVTQj.d.ts +190 -0
- package/dist/terrain-BMxEc6Oc.d.ts +429 -0
- package/dist/terrain-C-XC1Oui.d.mts +429 -0
- package/dist/testing/msw.d.mts +28 -4
- package/dist/testing/msw.d.ts +28 -4
- package/dist/testing/msw.js +15 -21
- package/dist/testing/msw.mjs +15 -21
- package/dist/testing/suite.d.mts +6 -5
- package/dist/testing/suite.d.ts +6 -5
- package/dist/testing/suite.js +89 -124
- package/dist/testing/suite.mjs +81 -116
- package/dist/testing.d.mts +27 -1227
- package/dist/testing.d.ts +27 -1227
- package/dist/testing.js +127 -131
- package/dist/testing.mjs +19 -23
- package/dist/tick-transport-C8QEh8Uw.d.mts +50 -0
- package/dist/tick-transport-UjHY3xK1.d.ts +50 -0
- package/dist/timeline-protocol-hp6e8zFB.d.mts +47 -0
- package/dist/timeline-protocol-hp6e8zFB.d.ts +47 -0
- package/dist/tokens-DhanQRQS.d.mts +21 -0
- package/dist/tokens-K8yxwd6G.d.ts +21 -0
- package/dist/tree-C-Io2Hbx.d.mts +35 -0
- package/dist/tree-CP_qSW4H.d.ts +35 -0
- package/dist/tycoon-B5KHk2Xx.d.mts +255 -0
- package/dist/tycoon-hmHo-3HX.d.ts +255 -0
- package/dist/types-BQkxPwZP.d.mts +219 -0
- package/dist/types-D_f6UUxM.d.ts +219 -0
- package/dist/ui-DwHicuFv.d.mts +563 -0
- package/dist/ui-hi7S2YcH.d.ts +563 -0
- package/dist/{sign-in-DQlIdqsi.d.mts → url-52ndUruG.d.mts} +15 -1
- package/dist/{sign-in-DQlIdqsi.d.ts → url-52ndUruG.d.ts} +15 -1
- package/dist/utils.d.mts +3 -3
- package/dist/utils.d.ts +3 -3
- package/dist/utils.js +37 -37
- package/dist/utils.mjs +4 -4
- package/dist/vars-Dc_PrhBK.d.mts +511 -0
- package/dist/vars-Dc_PrhBK.d.ts +511 -0
- package/dist/vm-IUARFFAI.mjs +63 -0
- package/dist/vm-N7L6MGGH.js +65 -0
- package/dist/weave-delivery-CW-Kstut.d.mts +360 -0
- package/dist/weave-delivery-CW-Kstut.d.ts +360 -0
- package/dist/web-Dss74a7v.d.ts +883 -0
- package/dist/web-f9ZQPoyw.d.mts +883 -0
- package/dist/web-transport-C7MkBL0a.d.ts +19 -0
- package/dist/web-transport-aYEqXMd9.d.mts +19 -0
- package/dist/weight-CPGjsgjV.d.ts +92 -0
- package/dist/weight-tF1ODR1p.d.mts +92 -0
- package/dist/word-BcX9Jcmv.d.mts +70 -0
- package/dist/word-C7sVPLHm.d.ts +70 -0
- package/dist/world-PvILHDR1.d.ts +2285 -0
- package/dist/world-qekkXjJv.d.mts +2285 -0
- package/dist/worlds-Br2Pb0Cs.d.ts +109 -0
- package/dist/worlds-D5ydYr7d.d.mts +109 -0
- package/engines/c/cimplify.h +108 -0
- package/engines/c/cimplify.lib.js +11 -0
- package/engines/godot/addons/cimplify/cimplify.gd +97 -0
- package/engines/rust/interactives-ctx/Cargo.toml +9 -0
- package/engines/rust/interactives-ctx/src/lib.rs +189 -0
- package/package.json +189 -3
- package/vendor/rapier3d-compat/LICENSE +201 -0
- package/vendor/rapier3d-compat/PATCHES.md +61 -0
- package/dist/chunk-2P4KXFB6.js +0 -274
- package/dist/chunk-3G6RQLXK.mjs +0 -21
- package/dist/chunk-3V4DVXV3.mjs +0 -254
- package/dist/chunk-EDK3LNM6.js +0 -2436
- package/dist/chunk-F7J3HK27.js +0 -4549
- package/dist/chunk-U4MW6PYU.mjs +0 -23
- package/dist/chunk-XREIZ56K.js +0 -26
|
@@ -0,0 +1,883 @@
|
|
|
1
|
+
import { a1 as ConsentKind, a2 as ReportTarget, a3 as ReportReason, a4 as MediaRef, w as ProgramInfo, a5 as ResponseEnvelope, a6 as ReplayMode, b as UiNode, x as LocaleInfo, a7 as SocialPostResult, a8 as ShareResult, M as UiEvent } from './local-VZkqsCzR.js';
|
|
2
|
+
import { bf as WarmImage, be as ClipFailureCode, aK as UiCommand, ab as MessageListener, O as GuestFault, M as MilestoneName, aA as SessionCompleteMessage, J as FrameMark, a4 as LifecycleName, V as HotSwapResult } from './guest-wIdfoT05.js';
|
|
3
|
+
import { D as DeviceTier, aJ as GPU_PASS_NAMES } from './backend-gUCzs5Kg.js';
|
|
4
|
+
import { I as InspectorReadout } from './world-PvILHDR1.js';
|
|
5
|
+
import { G as Game } from './game-fgQy2YIm.js';
|
|
6
|
+
import { a as StudioMessage, b as StudioOutgoing } from './studio-CowqWqez.js';
|
|
7
|
+
import { c as TreePatch } from './tree-CP_qSW4H.js';
|
|
8
|
+
import { C as ChunkSource, S as SharedPartStore, n as PackageWeaveRef } from './weave-delivery-CW-Kstut.js';
|
|
9
|
+
import { N as NetworkHint } from './network-ZXLD7l1b.js';
|
|
10
|
+
|
|
11
|
+
interface DeviceRun {
|
|
12
|
+
readonly device: string;
|
|
13
|
+
readonly tier: DeviceTier;
|
|
14
|
+
readonly measuredFrameMs: number;
|
|
15
|
+
readonly predictedFrameMs: number;
|
|
16
|
+
readonly measuredGpuMs: number;
|
|
17
|
+
readonly predictedGpuMs: number;
|
|
18
|
+
readonly measuredMemoryBytes: number;
|
|
19
|
+
readonly predictedMemoryBytes: number;
|
|
20
|
+
readonly measuredOpenSeconds: number;
|
|
21
|
+
readonly predictedOpenSeconds: number;
|
|
22
|
+
}
|
|
23
|
+
interface Calibration {
|
|
24
|
+
readonly device: string;
|
|
25
|
+
readonly tier: DeviceTier;
|
|
26
|
+
readonly frameScale: number;
|
|
27
|
+
readonly gpuScale: number;
|
|
28
|
+
readonly memoryScale: number;
|
|
29
|
+
readonly openScale: number;
|
|
30
|
+
readonly runs: number;
|
|
31
|
+
}
|
|
32
|
+
declare const UNCALIBRATED_SCALE = 1;
|
|
33
|
+
declare function fitCalibration(device: string, tier: DeviceTier, runs: readonly DeviceRun[]): Calibration;
|
|
34
|
+
declare function isCalibrated(calibration: Calibration | null): calibration is Calibration;
|
|
35
|
+
declare function calibrationFor(calibrations: readonly Calibration[], tier: DeviceTier): Calibration | null;
|
|
36
|
+
|
|
37
|
+
type CauseAmount = "most" | "some" | "a_little";
|
|
38
|
+
interface MeterCause {
|
|
39
|
+
readonly label: string;
|
|
40
|
+
readonly share: number;
|
|
41
|
+
readonly amount: CauseAmount;
|
|
42
|
+
}
|
|
43
|
+
interface CostEntry {
|
|
44
|
+
readonly label: string;
|
|
45
|
+
readonly cost: number;
|
|
46
|
+
}
|
|
47
|
+
declare const MOST_SHARE = 0.5;
|
|
48
|
+
declare const SOME_SHARE = 0.2;
|
|
49
|
+
declare const MAX_CAUSES = 3;
|
|
50
|
+
declare const PASS_LABELS: {
|
|
51
|
+
readonly [P in (typeof GPU_PASS_NAMES)[number]]: string;
|
|
52
|
+
};
|
|
53
|
+
declare function amountOf(share: number): CauseAmount;
|
|
54
|
+
declare function rankCauses(entries: readonly CostEntry[], limit?: number): MeterCause[];
|
|
55
|
+
declare function passCauses(passNs: ArrayLike<number>, limit?: number): MeterCause[];
|
|
56
|
+
|
|
57
|
+
declare const FRAME_WINDOW = 600;
|
|
58
|
+
declare const MAX_MOMENTS = 64;
|
|
59
|
+
type SmoothVerdict = "smooth" | "slight" | "stutters";
|
|
60
|
+
type HeatVerdict = "cool" | "warm" | "hot";
|
|
61
|
+
interface FrameMeter {
|
|
62
|
+
readonly tier: DeviceTier;
|
|
63
|
+
readonly frames: number;
|
|
64
|
+
readonly p50Ms: number;
|
|
65
|
+
readonly p95Ms: number;
|
|
66
|
+
readonly p99Ms: number;
|
|
67
|
+
readonly fps: number;
|
|
68
|
+
readonly targetFps: number;
|
|
69
|
+
readonly smooth: SmoothVerdict;
|
|
70
|
+
readonly worstMoment: string | null;
|
|
71
|
+
readonly causes: readonly MeterCause[];
|
|
72
|
+
readonly calibrated: boolean;
|
|
73
|
+
readonly device: string | null;
|
|
74
|
+
}
|
|
75
|
+
interface HeatMeter {
|
|
76
|
+
readonly busyShare: number;
|
|
77
|
+
readonly pressure: number;
|
|
78
|
+
readonly heat: HeatVerdict;
|
|
79
|
+
}
|
|
80
|
+
declare function smoothVerdict(fps: number, target?: number): SmoothVerdict;
|
|
81
|
+
declare function heatVerdict(busyShare: number, pressure: number): HeatVerdict;
|
|
82
|
+
declare class FrameRecorder {
|
|
83
|
+
private readonly frameMs;
|
|
84
|
+
private readonly moments;
|
|
85
|
+
private readonly passNs;
|
|
86
|
+
private readonly labels;
|
|
87
|
+
private head;
|
|
88
|
+
private count;
|
|
89
|
+
private moment;
|
|
90
|
+
private gpuFrames;
|
|
91
|
+
private busyNs;
|
|
92
|
+
private spanNs;
|
|
93
|
+
private pressure;
|
|
94
|
+
mark(label: string | null): void;
|
|
95
|
+
frame(seconds: number): void;
|
|
96
|
+
gpu(lastNs: number, passNs: ArrayLike<number>, pressure: number): void;
|
|
97
|
+
reset(): void;
|
|
98
|
+
get frames(): number;
|
|
99
|
+
heat(): HeatMeter;
|
|
100
|
+
meter(tier: DeviceTier, calibration?: Calibration | null, target?: number): FrameMeter;
|
|
101
|
+
private worstMoment;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
interface MemorySample {
|
|
105
|
+
readonly scriptBytes: number;
|
|
106
|
+
readonly engineBytes: number;
|
|
107
|
+
readonly graphicsBytes: number;
|
|
108
|
+
}
|
|
109
|
+
type MemoryVerdict = "fits" | "tight" | "too_much";
|
|
110
|
+
interface MemoryMeter {
|
|
111
|
+
readonly tier: DeviceTier;
|
|
112
|
+
readonly bytes: number;
|
|
113
|
+
readonly ceilingBytes: number;
|
|
114
|
+
readonly memory: MemoryVerdict;
|
|
115
|
+
readonly causes: readonly MeterCause[];
|
|
116
|
+
readonly calibrated: boolean;
|
|
117
|
+
}
|
|
118
|
+
declare class MemoryPeak {
|
|
119
|
+
private script;
|
|
120
|
+
private engine;
|
|
121
|
+
private graphics;
|
|
122
|
+
note(sample: MemorySample): void;
|
|
123
|
+
noteScript(bytes: number): void;
|
|
124
|
+
noteEngine(bytes: number): void;
|
|
125
|
+
noteGraphics(bytes: number): void;
|
|
126
|
+
reset(): void;
|
|
127
|
+
get peak(): MemorySample;
|
|
128
|
+
}
|
|
129
|
+
declare function memoryMeter(sample: MemorySample, tier: DeviceTier, calibration?: Calibration | null): MemoryMeter;
|
|
130
|
+
|
|
131
|
+
declare const GPU_SAMPLE_FRAMES = 30;
|
|
132
|
+
declare const QUALITY_FOR_TIER: {
|
|
133
|
+
readonly [T in DeviceTier]: number;
|
|
134
|
+
};
|
|
135
|
+
interface LiveMeters {
|
|
136
|
+
readonly tier: DeviceTier;
|
|
137
|
+
readonly asTier: boolean;
|
|
138
|
+
readonly frames: FrameMeter;
|
|
139
|
+
readonly heat: HeatMeter;
|
|
140
|
+
readonly memory: MemoryMeter;
|
|
141
|
+
}
|
|
142
|
+
declare class GameMeters {
|
|
143
|
+
private readonly game;
|
|
144
|
+
private readonly calibrations;
|
|
145
|
+
readonly recorder: FrameRecorder;
|
|
146
|
+
readonly memory: MemoryPeak;
|
|
147
|
+
private readonly stats;
|
|
148
|
+
private tier;
|
|
149
|
+
private forced;
|
|
150
|
+
private sinceGpu;
|
|
151
|
+
constructor(game: Game, tier: DeviceTier, calibrations?: readonly Calibration[]);
|
|
152
|
+
get playingAs(): DeviceTier;
|
|
153
|
+
get simulating(): boolean;
|
|
154
|
+
playAs(tier: DeviceTier | null): boolean;
|
|
155
|
+
measureAs(tier: DeviceTier, pin: boolean): boolean;
|
|
156
|
+
moment(label: string | null): void;
|
|
157
|
+
update(): void;
|
|
158
|
+
noteInspector(readout: InspectorReadout): void;
|
|
159
|
+
noteScriptHeap(bytes: number): void;
|
|
160
|
+
reset(): void;
|
|
161
|
+
read(): LiveMeters;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
interface MeterRequest {
|
|
165
|
+
readonly on: boolean;
|
|
166
|
+
readonly tier: DeviceTier;
|
|
167
|
+
readonly pin: boolean;
|
|
168
|
+
}
|
|
169
|
+
declare const METERS_OFF: MeterRequest;
|
|
170
|
+
declare const METER_REPORT_FRAMES = 30;
|
|
171
|
+
declare function requestMeters(request: MeterRequest): void;
|
|
172
|
+
declare function metersRequested(): MeterRequest;
|
|
173
|
+
|
|
174
|
+
declare const DEFAULT_WARM_BOOT_MS = 10000;
|
|
175
|
+
interface RuntimeImage {
|
|
176
|
+
readonly key: string;
|
|
177
|
+
readonly chunks: readonly string[];
|
|
178
|
+
readonly payloads: ReadonlyMap<string, string>;
|
|
179
|
+
readonly warm: WarmImage;
|
|
180
|
+
}
|
|
181
|
+
interface WarmGuest {
|
|
182
|
+
readonly engine: GuestEngine;
|
|
183
|
+
readonly staged: ReadonlySet<string>;
|
|
184
|
+
}
|
|
185
|
+
declare function runtimeImage(chunks: readonly PackageChunkRef[]): RuntimeImage;
|
|
186
|
+
declare class RuntimePool {
|
|
187
|
+
private readonly factory;
|
|
188
|
+
private readonly source;
|
|
189
|
+
private readonly boot_ms;
|
|
190
|
+
private readonly slots;
|
|
191
|
+
private readonly bodies;
|
|
192
|
+
private readonly writer;
|
|
193
|
+
constructor(factory: GuestEngineFactory, source: ChunkSource, boot_ms?: number);
|
|
194
|
+
private keyOf;
|
|
195
|
+
warm(chunks: readonly PackageChunkRef[], interactive?: string): void;
|
|
196
|
+
warmed(chunks: readonly PackageChunkRef[], interactive?: string): Promise<boolean>;
|
|
197
|
+
take(chunks: readonly PackageChunkRef[], interactive?: string): Promise<WarmGuest | null>;
|
|
198
|
+
drain(): void;
|
|
199
|
+
private stage;
|
|
200
|
+
private ready;
|
|
201
|
+
private stageBody;
|
|
202
|
+
private warmedReply;
|
|
203
|
+
private fetch;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
declare const CONSENT_KINDS: readonly ConsentKind[];
|
|
207
|
+
interface KeyValueStore {
|
|
208
|
+
get(key: string): string | null;
|
|
209
|
+
set(key: string, value: string): void;
|
|
210
|
+
}
|
|
211
|
+
declare function memoryStore(): KeyValueStore;
|
|
212
|
+
declare function browserStore(): KeyValueStore;
|
|
213
|
+
type ConsentState = "granted" | "denied" | "undecided";
|
|
214
|
+
declare class ConsentStore {
|
|
215
|
+
private readonly storage;
|
|
216
|
+
private readonly cache;
|
|
217
|
+
private readonly listeners;
|
|
218
|
+
private versionValue;
|
|
219
|
+
constructor(storage?: KeyValueStore);
|
|
220
|
+
readonly version: () => number;
|
|
221
|
+
readonly subscribe: (listener: (interactive_id: string) => void) => (() => void);
|
|
222
|
+
private decisions;
|
|
223
|
+
granted(interactive_id: string): readonly ConsentKind[];
|
|
224
|
+
state(interactive_id: string, kind: ConsentKind): ConsentState;
|
|
225
|
+
decide(interactive_id: string, kind: ConsentKind, granted: boolean): void;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
interface RepairFileRef {
|
|
229
|
+
readonly first: number;
|
|
230
|
+
readonly parts: number;
|
|
231
|
+
readonly symbols: number;
|
|
232
|
+
readonly repair: number;
|
|
233
|
+
readonly digest: string;
|
|
234
|
+
}
|
|
235
|
+
interface RepairMember {
|
|
236
|
+
readonly digest: string;
|
|
237
|
+
readonly size: number;
|
|
238
|
+
}
|
|
239
|
+
type RepairOutcome = "decoded" | "insufficient" | "shape";
|
|
240
|
+
interface RepairDecoder {
|
|
241
|
+
decode(block: Uint8Array, known: Uint8Array, repair: Uint8Array): RepairOutcome;
|
|
242
|
+
}
|
|
243
|
+
interface RepairSource {
|
|
244
|
+
fetchRepair(digest: string, symbols: number, signal?: AbortSignal): Promise<Uint8Array>;
|
|
245
|
+
}
|
|
246
|
+
type BlockPlan = {
|
|
247
|
+
readonly kind: "repair";
|
|
248
|
+
readonly file: RepairFileRef;
|
|
249
|
+
readonly missing: readonly number[];
|
|
250
|
+
readonly ask: number;
|
|
251
|
+
} | {
|
|
252
|
+
readonly kind: "runs";
|
|
253
|
+
readonly missing: readonly number[];
|
|
254
|
+
readonly runs: number;
|
|
255
|
+
};
|
|
256
|
+
interface Completion {
|
|
257
|
+
readonly repaired: number;
|
|
258
|
+
readonly fetched: number;
|
|
259
|
+
readonly requests: number;
|
|
260
|
+
readonly repair_bytes: number;
|
|
261
|
+
}
|
|
262
|
+
declare function repairDecoder(wasm: BufferSource | WebAssembly.Module): Promise<RepairDecoder>;
|
|
263
|
+
declare function cdnRepairs(base: string, fetcher?: typeof fetch): RepairSource;
|
|
264
|
+
declare function planZone(members: readonly RepairMember[], held: readonly boolean[], files: readonly RepairFileRef[]): BlockPlan[];
|
|
265
|
+
declare function completeZone(store: SharedPartStore, members: readonly RepairMember[], files: readonly RepairFileRef[], upstream: ChunkSource, repairs: RepairSource, decoder: RepairDecoder, signal?: AbortSignal): Promise<Completion>;
|
|
266
|
+
|
|
267
|
+
interface ZoneFileRef {
|
|
268
|
+
readonly asset_group: string;
|
|
269
|
+
readonly digest: string;
|
|
270
|
+
readonly parts: number;
|
|
271
|
+
readonly bytes: number;
|
|
272
|
+
readonly repair?: readonly RepairFileRef[];
|
|
273
|
+
}
|
|
274
|
+
interface ZoneChunkRef {
|
|
275
|
+
readonly digest: string;
|
|
276
|
+
readonly asset_group?: string;
|
|
277
|
+
readonly size?: number;
|
|
278
|
+
}
|
|
279
|
+
interface ZoneSpan {
|
|
280
|
+
readonly file: string;
|
|
281
|
+
readonly offset: number;
|
|
282
|
+
readonly size: number;
|
|
283
|
+
readonly index: number;
|
|
284
|
+
}
|
|
285
|
+
declare class ZoneSpans {
|
|
286
|
+
private readonly spans;
|
|
287
|
+
private readonly members;
|
|
288
|
+
static of(chunks: readonly ZoneChunkRef[], files: readonly ZoneFileRef[]): ZoneSpans;
|
|
289
|
+
get size(): number;
|
|
290
|
+
locate(digest: string): ZoneSpan | undefined;
|
|
291
|
+
neighbour(digest: string, step: 1 | -1): string | null;
|
|
292
|
+
runs(digests: readonly string[]): number[][];
|
|
293
|
+
}
|
|
294
|
+
declare function rangedChunks(base: string, spans: ZoneSpans, fetcher?: typeof fetch): ChunkSource;
|
|
295
|
+
|
|
296
|
+
type AdFormat = "rewarded" | "between_sessions" | "sponsored_item";
|
|
297
|
+
type TrackingConsent = "not_asked" | "denied" | "authorized";
|
|
298
|
+
type PlacementState = "decided" | "no_fill" | "capped" | "not_allowed" | "completed" | "invalid" | "rewarded";
|
|
299
|
+
type PackageChannel = "live" | "test";
|
|
300
|
+
interface AdCreative {
|
|
301
|
+
readonly label: string;
|
|
302
|
+
readonly sponsor_name: string;
|
|
303
|
+
readonly category: string;
|
|
304
|
+
readonly creative: string;
|
|
305
|
+
readonly destination: string;
|
|
306
|
+
}
|
|
307
|
+
interface ServedAd {
|
|
308
|
+
readonly placement_id: string;
|
|
309
|
+
readonly status: PlacementState;
|
|
310
|
+
readonly creative: AdCreative | null;
|
|
311
|
+
}
|
|
312
|
+
interface AdDecisionBody {
|
|
313
|
+
readonly request_key: string;
|
|
314
|
+
readonly format: AdFormat;
|
|
315
|
+
readonly slot: string;
|
|
316
|
+
readonly tracking: TrackingConsent;
|
|
317
|
+
}
|
|
318
|
+
interface PlacementCompletion {
|
|
319
|
+
readonly placement_id: string;
|
|
320
|
+
readonly status: PlacementState;
|
|
321
|
+
}
|
|
322
|
+
interface ReportFiling {
|
|
323
|
+
readonly target: ReportTarget;
|
|
324
|
+
readonly reason: ReportReason;
|
|
325
|
+
readonly revision_id: string | null;
|
|
326
|
+
readonly room_id: string | null;
|
|
327
|
+
readonly world_id: string | null;
|
|
328
|
+
}
|
|
329
|
+
interface PackageIndexRef {
|
|
330
|
+
readonly revision_id: string;
|
|
331
|
+
readonly package_digest: string;
|
|
332
|
+
readonly chunk_base_url: string;
|
|
333
|
+
readonly content_origin?: string | null;
|
|
334
|
+
readonly chunks: readonly (PackageChunkRef & {
|
|
335
|
+
readonly size: number;
|
|
336
|
+
})[];
|
|
337
|
+
readonly weave?: PackageWeaveRef;
|
|
338
|
+
readonly zone_files?: readonly ZoneFileRef[];
|
|
339
|
+
}
|
|
340
|
+
type PackageForm = "full" | "weave";
|
|
341
|
+
interface BatchPackage {
|
|
342
|
+
readonly interactive_id: string;
|
|
343
|
+
readonly package: PackageIndexRef;
|
|
344
|
+
}
|
|
345
|
+
interface RegistryClient {
|
|
346
|
+
fileReport(interactive_id: string, filing: ReportFiling): Promise<void>;
|
|
347
|
+
blockHandle(handle: string): Promise<void>;
|
|
348
|
+
decideAd(interactive_id: string, body: AdDecisionBody): Promise<ServedAd>;
|
|
349
|
+
completeAd(interactive_id: string, placement_id: string, attested: boolean): Promise<PlacementCompletion>;
|
|
350
|
+
packages(ids: readonly string[], channel: PackageChannel, form?: PackageForm): Promise<readonly BatchPackage[]>;
|
|
351
|
+
}
|
|
352
|
+
declare class RegistryError extends Error {
|
|
353
|
+
readonly status: number;
|
|
354
|
+
readonly route: string;
|
|
355
|
+
constructor(status: number, route: string);
|
|
356
|
+
}
|
|
357
|
+
declare function httpRegistry(base: string, fetcher?: typeof fetch): RegistryClient;
|
|
358
|
+
|
|
359
|
+
type SpendDecision = "confirmed" | "cancelled";
|
|
360
|
+
type AdOutcome = "completed" | "skipped";
|
|
361
|
+
type ClipChoice = "post" | "share" | "done";
|
|
362
|
+
interface SpendPrompt {
|
|
363
|
+
readonly offer_id: string;
|
|
364
|
+
readonly display_name: string;
|
|
365
|
+
readonly quantity: number;
|
|
366
|
+
readonly price_cimples: number;
|
|
367
|
+
}
|
|
368
|
+
type ChromeSheet = {
|
|
369
|
+
readonly kind: "consent";
|
|
370
|
+
readonly consent: ConsentKind;
|
|
371
|
+
} | {
|
|
372
|
+
readonly kind: "spend";
|
|
373
|
+
readonly prompt: SpendPrompt;
|
|
374
|
+
} | {
|
|
375
|
+
readonly kind: "ad";
|
|
376
|
+
readonly creative: AdCreative;
|
|
377
|
+
} | {
|
|
378
|
+
readonly kind: "clip";
|
|
379
|
+
readonly media: MediaRef;
|
|
380
|
+
} | {
|
|
381
|
+
readonly kind: "permissions";
|
|
382
|
+
} | {
|
|
383
|
+
readonly kind: "report";
|
|
384
|
+
} | {
|
|
385
|
+
readonly kind: "block";
|
|
386
|
+
};
|
|
387
|
+
declare class HostChromeController {
|
|
388
|
+
private readonly queue;
|
|
389
|
+
private readonly listeners;
|
|
390
|
+
readonly subscribe: (listener: () => void) => (() => void);
|
|
391
|
+
readonly snapshot: () => ChromeSheet | null;
|
|
392
|
+
private ask;
|
|
393
|
+
private notify;
|
|
394
|
+
requestConsent(consent: ConsentKind): Promise<boolean>;
|
|
395
|
+
confirmSpend(prompt: SpendPrompt): Promise<SpendDecision>;
|
|
396
|
+
showAd(creative: AdCreative): Promise<AdOutcome>;
|
|
397
|
+
offerClip(media: MediaRef): Promise<ClipChoice>;
|
|
398
|
+
open(sheet: {
|
|
399
|
+
readonly kind: "permissions" | "report" | "block";
|
|
400
|
+
}): void;
|
|
401
|
+
resolve(value: unknown): void;
|
|
402
|
+
dismiss(): void;
|
|
403
|
+
dismissAll(): void;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
interface SpendConfirmation {
|
|
407
|
+
readonly request_key: string;
|
|
408
|
+
readonly offer_id: string;
|
|
409
|
+
readonly quantity: number;
|
|
410
|
+
readonly price_cimples: number;
|
|
411
|
+
readonly decision: SpendDecision;
|
|
412
|
+
}
|
|
413
|
+
interface MediatorOutlet {
|
|
414
|
+
toSession(bytes: Uint8Array, length: number): void;
|
|
415
|
+
}
|
|
416
|
+
interface HostChromeOptions {
|
|
417
|
+
readonly interactive_id: string;
|
|
418
|
+
readonly controller: HostChromeController;
|
|
419
|
+
readonly consents: ConsentStore;
|
|
420
|
+
readonly registry: RegistryClient | null;
|
|
421
|
+
}
|
|
422
|
+
type HostCallOperation = "wallet.offers" | "social.post" | "share.open";
|
|
423
|
+
declare class HostMediator {
|
|
424
|
+
private readonly options;
|
|
425
|
+
private readonly writer;
|
|
426
|
+
private readonly offers;
|
|
427
|
+
private readonly offerRequests;
|
|
428
|
+
private readonly hostCalls;
|
|
429
|
+
private readonly asking;
|
|
430
|
+
private outlet;
|
|
431
|
+
private program;
|
|
432
|
+
private stopConsents;
|
|
433
|
+
private nextHostCall;
|
|
434
|
+
constructor(options: HostChromeOptions);
|
|
435
|
+
start(program: ProgramInfo, outlet: MediatorOutlet): void;
|
|
436
|
+
stop(): void;
|
|
437
|
+
private send;
|
|
438
|
+
private sendConsents;
|
|
439
|
+
private relay;
|
|
440
|
+
fromGuest(bytes: Uint8Array): boolean;
|
|
441
|
+
fromSession(bytes: Uint8Array): boolean;
|
|
442
|
+
private remember;
|
|
443
|
+
private consentRequired;
|
|
444
|
+
/** Sends one ctx call on the host's own behalf, such as posting a clip the player saved from host chrome. */
|
|
445
|
+
hostCall(operation: HostCallOperation, args?: object): Promise<ResponseEnvelope>;
|
|
446
|
+
private offer;
|
|
447
|
+
private spend;
|
|
448
|
+
private placement;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
type EngineHeapTier = "low" | "mid" | "high";
|
|
452
|
+
/** Engine heap a package declares for each device tier, in bytes: the recorded boot peak plus headroom. */
|
|
453
|
+
type EngineHeapDeclaration = Readonly<Partial<Record<EngineHeapTier, number>>>;
|
|
454
|
+
/** The most engine heap a web host reserves on a device of each tier. */
|
|
455
|
+
declare const ENGINE_HEAP_CEILING_BYTES: Readonly<Record<EngineHeapTier, number>>;
|
|
456
|
+
/** Headroom added to the recorded peak when a build declares a package's engine heap. */
|
|
457
|
+
declare const ENGINE_HEAP_HEADROOM = 1.25;
|
|
458
|
+
type EngineHeapChoice = {
|
|
459
|
+
readonly bytes: number;
|
|
460
|
+
} | {
|
|
461
|
+
readonly refused: string;
|
|
462
|
+
};
|
|
463
|
+
/**
|
|
464
|
+
* The engine heap a host reserves: the package's declaration for this tier, never above the tier's
|
|
465
|
+
* ceiling. A package declaring more than the device allows is refused before boot rather than
|
|
466
|
+
* failing allocation mid-game; a package declaring nothing gets the tier ceiling.
|
|
467
|
+
*/
|
|
468
|
+
declare function engineHeapFor(declaration: EngineHeapDeclaration | undefined, tier: EngineHeapTier): EngineHeapChoice;
|
|
469
|
+
/** The declaration a build writes from the recorded peak of each tier. */
|
|
470
|
+
declare function declareEngineHeap(peaks: Readonly<Partial<Record<EngineHeapTier, number>>>): EngineHeapDeclaration;
|
|
471
|
+
|
|
472
|
+
declare const GPU_REQUIREMENT_NAMES: readonly ["sampled_textures_per_stage", "samplers_per_stage", "storage_buffers_per_stage", "compute_workgroup_invocations", "compute_workgroup_storage_bytes"];
|
|
473
|
+
type GpuRequirementName = (typeof GPU_REQUIREMENT_NAMES)[number];
|
|
474
|
+
type GpuRequirements = Partial<Readonly<Record<GpuRequirementName, number>>>;
|
|
475
|
+
type GpuLimits = Readonly<Record<GpuRequirementName, number>>;
|
|
476
|
+
interface GpuAdapterLike {
|
|
477
|
+
readonly limits: Readonly<Record<string, number>>;
|
|
478
|
+
}
|
|
479
|
+
interface GpuScope {
|
|
480
|
+
readonly navigator?: {
|
|
481
|
+
readonly gpu?: {
|
|
482
|
+
requestAdapter(): Promise<GpuAdapterLike | null>;
|
|
483
|
+
};
|
|
484
|
+
};
|
|
485
|
+
readonly document?: {
|
|
486
|
+
createElement(tag: "canvas"): {
|
|
487
|
+
getContext(kind: string): {
|
|
488
|
+
getParameter(name: number): unknown;
|
|
489
|
+
} | null;
|
|
490
|
+
};
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
declare function unmetGpuRequirement(requirements: GpuRequirements, limits: GpuLimits): GpuRequirementName | null;
|
|
494
|
+
declare function manifestGpuRequirements(manifest: Uint8Array): GpuRequirements;
|
|
495
|
+
declare function deviceGpuLimits(scope?: GpuScope): Promise<GpuLimits>;
|
|
496
|
+
|
|
497
|
+
interface ClipArm {
|
|
498
|
+
readonly window_ms: number;
|
|
499
|
+
readonly fps: number;
|
|
500
|
+
readonly video_bits_per_second: number;
|
|
501
|
+
readonly audio: boolean;
|
|
502
|
+
readonly max_long_edge: number;
|
|
503
|
+
}
|
|
504
|
+
declare const DEFAULT_CLIP_ARM: ClipArm;
|
|
505
|
+
|
|
506
|
+
interface SavedClip {
|
|
507
|
+
readonly blob: Blob;
|
|
508
|
+
readonly type: string;
|
|
509
|
+
readonly duration_ms: number;
|
|
510
|
+
readonly width: number;
|
|
511
|
+
readonly height: number;
|
|
512
|
+
}
|
|
513
|
+
interface GuestClips {
|
|
514
|
+
arm(config: ClipArm | null): void;
|
|
515
|
+
pause(paused: boolean): void;
|
|
516
|
+
save(keep_ms: number): Promise<SavedClip | null>;
|
|
517
|
+
readonly camera_live: boolean;
|
|
518
|
+
on_camera_live(listener: (live: boolean) => void): void;
|
|
519
|
+
}
|
|
520
|
+
interface Sender {
|
|
521
|
+
send(bytes: Uint8Array, length: number): void;
|
|
522
|
+
}
|
|
523
|
+
declare class ClipRelay implements GuestClips {
|
|
524
|
+
private readonly port;
|
|
525
|
+
private readonly writer;
|
|
526
|
+
private readonly pauseMessage;
|
|
527
|
+
private readonly saveMessage;
|
|
528
|
+
private readonly pending;
|
|
529
|
+
private nextId;
|
|
530
|
+
private live;
|
|
531
|
+
private listener;
|
|
532
|
+
private closed;
|
|
533
|
+
constructor(port: Sender);
|
|
534
|
+
get camera_live(): boolean;
|
|
535
|
+
on_camera_live(listener: (live: boolean) => void): void;
|
|
536
|
+
cameraLive(live: boolean): void;
|
|
537
|
+
arm(config: ClipArm | null): void;
|
|
538
|
+
pause(paused: boolean): void;
|
|
539
|
+
save(keep_ms: number): Promise<SavedClip | null>;
|
|
540
|
+
handle(bytes: Uint8Array): boolean;
|
|
541
|
+
shutdown(): void;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
declare const CLIP_CAMERA = "clip_camera";
|
|
545
|
+
declare const REPLAY_MEDIA_TYPE = "application/vnd.cimplify.replay";
|
|
546
|
+
type ClipMediaKind = "video" | "replay";
|
|
547
|
+
/** One file for the platform media upload: scope `me`, kind `video` for clips, moderated before anyone else sees it. */
|
|
548
|
+
interface ClipUpload {
|
|
549
|
+
readonly kind: ClipMediaKind;
|
|
550
|
+
readonly interactive_id: string;
|
|
551
|
+
readonly blob: Blob;
|
|
552
|
+
readonly type: string;
|
|
553
|
+
readonly duration_ms: number;
|
|
554
|
+
readonly width: number;
|
|
555
|
+
readonly height: number;
|
|
556
|
+
}
|
|
557
|
+
interface WebHostClipOptions {
|
|
558
|
+
/** Sends the file through the platform media upload and answers its media reference. */
|
|
559
|
+
readonly upload: (clip: ClipUpload) => Promise<MediaRef>;
|
|
560
|
+
readonly window_ms?: number;
|
|
561
|
+
readonly fps?: number;
|
|
562
|
+
readonly video_bits_per_second?: number;
|
|
563
|
+
readonly audio?: boolean;
|
|
564
|
+
readonly max_long_edge?: number;
|
|
565
|
+
}
|
|
566
|
+
interface ClipConsent {
|
|
567
|
+
readonly consents: ConsentStore;
|
|
568
|
+
readonly controller: HostChromeController;
|
|
569
|
+
}
|
|
570
|
+
type ClipCommand = Extract<UiCommand, {
|
|
571
|
+
kind: "clip_start" | "clip_stop" | "clip_cancel" | "clip_keep" | "replay_save";
|
|
572
|
+
}>;
|
|
573
|
+
type ClipReply = {
|
|
574
|
+
readonly clip: number;
|
|
575
|
+
} | {
|
|
576
|
+
readonly media_id: string;
|
|
577
|
+
} | {
|
|
578
|
+
readonly error: {
|
|
579
|
+
readonly code: ClipFailureCode;
|
|
580
|
+
};
|
|
581
|
+
} | null;
|
|
582
|
+
type ClipOutcome = {
|
|
583
|
+
readonly media: MediaRef;
|
|
584
|
+
} | {
|
|
585
|
+
readonly error: ClipFailureCode;
|
|
586
|
+
};
|
|
587
|
+
declare class HostClips {
|
|
588
|
+
private readonly options;
|
|
589
|
+
private readonly interactive_id;
|
|
590
|
+
private readonly consent;
|
|
591
|
+
private readonly now;
|
|
592
|
+
readonly arm: ClipArm;
|
|
593
|
+
private guest;
|
|
594
|
+
private readonly recordings;
|
|
595
|
+
private nextRecording;
|
|
596
|
+
private paused;
|
|
597
|
+
private stopConsents;
|
|
598
|
+
private asking;
|
|
599
|
+
constructor(options: WebHostClipOptions, interactive_id: string, consent: ClipConsent | null, now: () => number);
|
|
600
|
+
get available(): boolean;
|
|
601
|
+
attach(guest: GuestClips | null): void;
|
|
602
|
+
detach(): void;
|
|
603
|
+
private cameraAllowed;
|
|
604
|
+
private update;
|
|
605
|
+
/** Asks for camera in clips from host chrome; the answer lifts the pause for later saves. */
|
|
606
|
+
askCamera(): Promise<boolean>;
|
|
607
|
+
keep(keep_ms: number): Promise<ClipOutcome>;
|
|
608
|
+
saveReplay(bytes: Uint8Array): Promise<ClipOutcome>;
|
|
609
|
+
private upload;
|
|
610
|
+
command(command: ClipCommand): Promise<ClipReply>;
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
interface GuestEngine {
|
|
614
|
+
send(bytes: Uint8Array, length: number): void;
|
|
615
|
+
on_message(listener: MessageListener): void;
|
|
616
|
+
on_crash(listener: (message: string) => void): void;
|
|
617
|
+
terminate(): void;
|
|
618
|
+
readonly may_fetch_wasm?: boolean;
|
|
619
|
+
readonly fetches_wasm?: boolean;
|
|
620
|
+
/** The engine's clip capture: a rolling window of what the player sees and hears, saved on request. */
|
|
621
|
+
readonly clips?: GuestClips;
|
|
622
|
+
}
|
|
623
|
+
interface OpenedReplay {
|
|
624
|
+
readonly bytes: Uint8Array;
|
|
625
|
+
readonly mode: ReplayMode;
|
|
626
|
+
}
|
|
627
|
+
interface GuestEngineFactory {
|
|
628
|
+
spawn(interactive?: string): GuestEngine;
|
|
629
|
+
readonly isolates_interactives?: boolean;
|
|
630
|
+
}
|
|
631
|
+
interface CtxTransport {
|
|
632
|
+
send(bytes: Uint8Array, length: number): void;
|
|
633
|
+
on_message(listener: MessageListener): void;
|
|
634
|
+
on_close(listener: (close: SessionClose) => void): void;
|
|
635
|
+
close(): void;
|
|
636
|
+
}
|
|
637
|
+
interface SessionHello {
|
|
638
|
+
readonly protocol: number;
|
|
639
|
+
readonly program: ProgramInfo;
|
|
640
|
+
readonly server_time_ms: number;
|
|
641
|
+
}
|
|
642
|
+
interface AiLocalCapability {
|
|
643
|
+
readonly model: "apple_foundation" | "gemini_nano";
|
|
644
|
+
readonly languages: readonly string[];
|
|
645
|
+
readonly max_context_tokens: number;
|
|
646
|
+
}
|
|
647
|
+
interface SessionConsent {
|
|
648
|
+
readonly granted: readonly ConsentKind[];
|
|
649
|
+
readonly ai_local?: AiLocalCapability | null;
|
|
650
|
+
}
|
|
651
|
+
interface SessionClose {
|
|
652
|
+
readonly reason: string;
|
|
653
|
+
readonly detail: string | null;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
interface RuntimeTag {
|
|
657
|
+
readonly name: string;
|
|
658
|
+
readonly version: string;
|
|
659
|
+
}
|
|
660
|
+
interface PackageChunkRef {
|
|
661
|
+
readonly digest: string;
|
|
662
|
+
readonly before_play: boolean;
|
|
663
|
+
readonly asset_group?: string;
|
|
664
|
+
readonly runtime?: RuntimeTag | null;
|
|
665
|
+
readonly payload_digest?: string | null;
|
|
666
|
+
readonly lazy?: boolean;
|
|
667
|
+
readonly size?: number;
|
|
668
|
+
/** The size of the chunk's brotli twin, when the build measured one worth fetching. */
|
|
669
|
+
readonly brotli_bytes?: number | null;
|
|
670
|
+
/** The chunk has a brotli twin (a woven package's leaf flag), whether or not its size is known. */
|
|
671
|
+
readonly twinned?: boolean;
|
|
672
|
+
}
|
|
673
|
+
declare const ENGINE_GROUP_PREFIX = "engine:";
|
|
674
|
+
type HostDeviceTier = "low" | "mid" | "high";
|
|
675
|
+
declare const ALTERNATIVE_RUNTIMES: Readonly<Record<string, string>>;
|
|
676
|
+
declare function chunksForHost(chunks: readonly PackageChunkRef[], engine: string | null, isolated?: boolean, tier?: HostDeviceTier, threads?: boolean, scripts?: () => boolean, webgpu?: boolean): PackageChunkRef[];
|
|
677
|
+
declare function swappable(chunk: PackageChunkRef): boolean;
|
|
678
|
+
interface SwapBuild {
|
|
679
|
+
readonly ok: boolean;
|
|
680
|
+
readonly host?: boolean;
|
|
681
|
+
readonly chunks?: readonly PackageChunkRef[] | null;
|
|
682
|
+
}
|
|
683
|
+
declare function swapInPlace(host: Pick<WebHost, "hotSwap"> | null, build: () => Promise<SwapBuild>): Promise<HotSwapResult>;
|
|
684
|
+
declare function hostThreads(): boolean;
|
|
685
|
+
interface PackageRef {
|
|
686
|
+
readonly chunks: readonly PackageChunkRef[];
|
|
687
|
+
readonly keep_on_device?: boolean;
|
|
688
|
+
readonly zone_files?: readonly ZoneFileRef[];
|
|
689
|
+
readonly engine_heap?: EngineHeapDeclaration;
|
|
690
|
+
}
|
|
691
|
+
interface HostLimits {
|
|
692
|
+
readonly ping_ms: number;
|
|
693
|
+
readonly cpu_slice_ms: number;
|
|
694
|
+
readonly memory_bytes: number;
|
|
695
|
+
readonly boot_ms: number;
|
|
696
|
+
readonly restarts_per_window: number;
|
|
697
|
+
readonly restart_window_ms: number;
|
|
698
|
+
}
|
|
699
|
+
declare const DEFAULT_HOST_LIMITS: HostLimits;
|
|
700
|
+
type HostFault = ({
|
|
701
|
+
readonly source: "guest";
|
|
702
|
+
} & GuestFault) | {
|
|
703
|
+
readonly source: "watchdog";
|
|
704
|
+
readonly message: string;
|
|
705
|
+
} | {
|
|
706
|
+
readonly source: "memory";
|
|
707
|
+
readonly message: string;
|
|
708
|
+
} | {
|
|
709
|
+
readonly source: "crash";
|
|
710
|
+
readonly message: string;
|
|
711
|
+
} | {
|
|
712
|
+
readonly source: "package";
|
|
713
|
+
readonly message: string;
|
|
714
|
+
} | {
|
|
715
|
+
readonly source: "session";
|
|
716
|
+
readonly message: string;
|
|
717
|
+
} | {
|
|
718
|
+
readonly source: "device";
|
|
719
|
+
readonly message: string;
|
|
720
|
+
readonly requirement: GpuRequirementName | string;
|
|
721
|
+
};
|
|
722
|
+
interface WebHostOptions {
|
|
723
|
+
readonly engines: GuestEngineFactory | GuestPool;
|
|
724
|
+
readonly runtimes?: RuntimePool;
|
|
725
|
+
readonly transport: CtxTransport;
|
|
726
|
+
readonly hello: SessionHello;
|
|
727
|
+
readonly package: PackageRef;
|
|
728
|
+
readonly chunks: ChunkSource;
|
|
729
|
+
readonly locale: LocaleInfo;
|
|
730
|
+
readonly limits?: Partial<HostLimits>;
|
|
731
|
+
readonly now?: () => number;
|
|
732
|
+
readonly on_command?: (command: UiCommand) => unknown;
|
|
733
|
+
readonly on_fault?: (fault: HostFault) => void;
|
|
734
|
+
readonly on_milestone?: (milestone: MilestoneName, at_ms: number) => void;
|
|
735
|
+
readonly on_complete?: (completion: SessionCompleteMessage, at_ms: number) => void;
|
|
736
|
+
/** A recording guest stamps each simulation frame; once every chunk the frame asked for has been delivered the host reports the frame settled and steps the guest. */
|
|
737
|
+
readonly on_frame_mark?: (mark: FrameMark) => void;
|
|
738
|
+
/** While meters are on (setMeters), the guest's game reports its frame, memory and heat meters about twice a second. */
|
|
739
|
+
readonly on_meters?: (live: LiveMeters) => void;
|
|
740
|
+
readonly on_studio?: (message: StudioMessage) => void;
|
|
741
|
+
readonly chrome?: HostChromeOptions;
|
|
742
|
+
readonly gpu?: {
|
|
743
|
+
readonly requirements: GpuRequirements;
|
|
744
|
+
readonly limits: GpuLimits;
|
|
745
|
+
};
|
|
746
|
+
readonly engine_features?: {
|
|
747
|
+
readonly required: readonly string[];
|
|
748
|
+
readonly available: readonly string[];
|
|
749
|
+
};
|
|
750
|
+
readonly device_tier?: HostDeviceTier;
|
|
751
|
+
readonly threads?: boolean;
|
|
752
|
+
readonly webgpu?: boolean;
|
|
753
|
+
readonly lazy_budget_bytes?: number;
|
|
754
|
+
readonly lazy_concurrency?: number;
|
|
755
|
+
readonly network?: NetworkHint | null;
|
|
756
|
+
readonly part_store?: SharedPartStore;
|
|
757
|
+
/** Host-owned clips: every Interactive keeps the last few seconds ready to save from chrome or from the game. */
|
|
758
|
+
readonly clips?: WebHostClipOptions;
|
|
759
|
+
/** A replay the player opened; `play` is honoured only when the replay allows playing on from it. */
|
|
760
|
+
readonly replay?: OpenedReplay | null;
|
|
761
|
+
}
|
|
762
|
+
type HostPhase = "idle" | "booting" | "running" | "crashed" | "disposed";
|
|
763
|
+
declare class HostFaultError extends Error {
|
|
764
|
+
readonly fault: HostFault;
|
|
765
|
+
constructor(fault: HostFault);
|
|
766
|
+
}
|
|
767
|
+
declare function workerEngines(script: string | URL): GuestEngineFactory;
|
|
768
|
+
declare class GuestPool {
|
|
769
|
+
private readonly factory;
|
|
770
|
+
private readonly size;
|
|
771
|
+
private readonly ready;
|
|
772
|
+
private readonly waiting;
|
|
773
|
+
constructor(factory: GuestEngineFactory, size: number);
|
|
774
|
+
private warm;
|
|
775
|
+
acquire(): Promise<GuestEngine>;
|
|
776
|
+
drain(): void;
|
|
777
|
+
get warmed(): number;
|
|
778
|
+
}
|
|
779
|
+
declare class TreeStore {
|
|
780
|
+
private readonly mirror;
|
|
781
|
+
private readonly listeners;
|
|
782
|
+
readonly subscribe: (listener: () => void) => (() => void);
|
|
783
|
+
readonly snapshot: () => UiNode | null;
|
|
784
|
+
apply(patches: readonly TreePatch[]): void;
|
|
785
|
+
reset(): void;
|
|
786
|
+
}
|
|
787
|
+
declare class WebHost {
|
|
788
|
+
private readonly options;
|
|
789
|
+
readonly tree: TreeStore;
|
|
790
|
+
private readonly limits;
|
|
791
|
+
private readonly writer;
|
|
792
|
+
private readonly stepMessage;
|
|
793
|
+
private supplying;
|
|
794
|
+
private readonly ping;
|
|
795
|
+
private readonly pingView;
|
|
796
|
+
private readonly lifecycleMessage;
|
|
797
|
+
private readonly now;
|
|
798
|
+
private partsSequence;
|
|
799
|
+
private engine;
|
|
800
|
+
private watchdog;
|
|
801
|
+
private pingSequence;
|
|
802
|
+
private pingSentAt;
|
|
803
|
+
private restarts;
|
|
804
|
+
private started;
|
|
805
|
+
private failed;
|
|
806
|
+
phase: HostPhase;
|
|
807
|
+
private readonly chunks;
|
|
808
|
+
private readonly parts;
|
|
809
|
+
private readonly source;
|
|
810
|
+
private readonly lazyChunks;
|
|
811
|
+
private readonly afterFirstFrame;
|
|
812
|
+
private readonly mediator;
|
|
813
|
+
private readonly outlet;
|
|
814
|
+
private readonly networkMessage;
|
|
815
|
+
private networkHint;
|
|
816
|
+
private unwatchNetwork;
|
|
817
|
+
private readonly inspectorMessage;
|
|
818
|
+
private inspectorShown;
|
|
819
|
+
private meterRequest;
|
|
820
|
+
private readonly studioIn;
|
|
821
|
+
private readonly studioOut;
|
|
822
|
+
private hotDone;
|
|
823
|
+
private readonly hosted;
|
|
824
|
+
private readonly known;
|
|
825
|
+
private readonly clips;
|
|
826
|
+
constructor(options: WebHostOptions);
|
|
827
|
+
private engineHeap;
|
|
828
|
+
private deviceRefusal;
|
|
829
|
+
start(): Promise<void>;
|
|
830
|
+
private holdsPart;
|
|
831
|
+
/**
|
|
832
|
+
* Copies the runtime wasm the guest fetched itself into the shared part store once the start-time
|
|
833
|
+
* chunks are in, so the next game on this device reads it from the store instead of the network.
|
|
834
|
+
* Skipped on a metered or data-saver link, where the copy would cost the player a second download.
|
|
835
|
+
*/
|
|
836
|
+
private keepRuntimes;
|
|
837
|
+
private deliver;
|
|
838
|
+
private supply;
|
|
839
|
+
private stepWhenSettled;
|
|
840
|
+
private streamChunks;
|
|
841
|
+
private awaitReady;
|
|
842
|
+
private boot;
|
|
843
|
+
get studio(): boolean;
|
|
844
|
+
sendStudio(message: StudioOutgoing): boolean;
|
|
845
|
+
private studioReport;
|
|
846
|
+
get inspector(): boolean;
|
|
847
|
+
get meters(): MeterRequest;
|
|
848
|
+
setMeters(request: MeterRequest): void;
|
|
849
|
+
setInspector(shown: boolean): void;
|
|
850
|
+
private sendInspector;
|
|
851
|
+
get network(): NetworkHint | null;
|
|
852
|
+
setNetwork(hint: NetworkHint): void;
|
|
853
|
+
private fetchChunks;
|
|
854
|
+
private sendChunk;
|
|
855
|
+
private armWatchdog;
|
|
856
|
+
private disarmWatchdog;
|
|
857
|
+
private tick;
|
|
858
|
+
private pong;
|
|
859
|
+
private fromGuest;
|
|
860
|
+
private fromSession;
|
|
861
|
+
private openReplay;
|
|
862
|
+
get clipsEnabled(): boolean;
|
|
863
|
+
/** Saves the host's rolling window (the last 15 s by default) and uploads it, or says why it could not. */
|
|
864
|
+
saveClip(keep_ms?: number): Promise<ClipOutcome>;
|
|
865
|
+
/** Asks the player, in host chrome, whether clips may include the camera while it is on. */
|
|
866
|
+
askClipCamera(): Promise<boolean>;
|
|
867
|
+
/** Posts a saved clip as a Flick through the session, as the game's own `social.post` would. */
|
|
868
|
+
postClip(media: MediaRef, score?: number | null): Promise<SocialPostResult | null>;
|
|
869
|
+
shareClip(media: MediaRef): Promise<ShareResult | null>;
|
|
870
|
+
private command;
|
|
871
|
+
grantConsents(granted: readonly ConsentKind[]): void;
|
|
872
|
+
private evicted;
|
|
873
|
+
dispatch(event: UiEvent): void;
|
|
874
|
+
lifecycle(name: LifecycleName): void;
|
|
875
|
+
dispose(): void;
|
|
876
|
+
hotSwap(chunks: readonly PackageChunkRef[]): Promise<HotSwapResult>;
|
|
877
|
+
private finishHot;
|
|
878
|
+
restart(): Promise<void>;
|
|
879
|
+
private fail;
|
|
880
|
+
private teardown;
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
export { type AdOutcome as $, memoryMeter as A, type BatchPackage as B, type Calibration as C, type DeviceRun as D, metersRequested as E, type FrameMeter as F, GPU_SAMPLE_FRAMES as G, type HostDeviceTier as H, passCauses as I, rankCauses as J, requestMeters as K, type LiveMeters as L, type MeterCause as M, smoothVerdict as N, type GuestEngineFactory as O, type PackageForm as P, QUALITY_FOR_TIER as Q, type RegistryClient as R, SOME_SHARE as S, type CtxTransport as T, UNCALIBRATED_SCALE as U, type SessionHello as V, ALTERNATIVE_RUNTIMES as W, type AdCreative as X, type AdDecisionBody as Y, ZoneSpans as Z, type AdFormat as _, type PackageChannel as a, type SpendPrompt as a$, type BlockPlan as a0, CLIP_CAMERA as a1, CONSENT_KINDS as a2, type ChromeSheet as a3, type ClipArm as a4, type ClipChoice as a5, type ClipConsent as a6, type ClipMediaKind as a7, type ClipOutcome as a8, ClipRelay as a9, type HostLimits as aA, HostMediator as aB, type HostPhase as aC, type KeyValueStore as aD, type MediatorOutlet as aE, type OpenedReplay as aF, type PackageIndexRef as aG, type PackageRef as aH, type PlacementCompletion as aI, type PlacementState as aJ, REPLAY_MEDIA_TYPE as aK, RegistryError as aL, type RepairDecoder as aM, type RepairFileRef as aN, type RepairMember as aO, type RepairOutcome as aP, type RepairSource as aQ, type ReportFiling as aR, type RuntimeImage as aS, RuntimePool as aT, type RuntimeTag as aU, type SavedClip as aV, type ServedAd as aW, type SessionClose as aX, type SessionConsent as aY, type SpendConfirmation as aZ, type SpendDecision as a_, type ClipReply as aa, type ClipUpload as ab, type Completion as ac, type ConsentState as ad, ConsentStore as ae, DEFAULT_CLIP_ARM as af, DEFAULT_HOST_LIMITS as ag, DEFAULT_WARM_BOOT_MS as ah, ENGINE_GROUP_PREFIX as ai, ENGINE_HEAP_CEILING_BYTES as aj, ENGINE_HEAP_HEADROOM as ak, type EngineHeapDeclaration as al, type EngineHeapTier as am, GPU_REQUIREMENT_NAMES as an, type GpuLimits as ao, type GpuRequirementName as ap, type GpuRequirements as aq, type GuestClips as ar, type GuestEngine as as, GuestPool as at, type HostCallOperation as au, HostChromeController as av, type HostChromeOptions as aw, HostClips as ax, type HostFault as ay, HostFaultError as az, type PackageChunkRef as b, type SwapBuild as b0, type TrackingConsent as b1, TreeStore as b2, type WarmGuest as b3, WebHost as b4, type WebHostClipOptions as b5, type WebHostOptions as b6, type ZoneChunkRef as b7, type ZoneFileRef as b8, type ZoneSpan as b9, browserStore as ba, cdnRepairs as bb, chunksForHost as bc, completeZone as bd, declareEngineHeap as be, deviceGpuLimits as bf, engineHeapFor as bg, hostThreads as bh, httpRegistry as bi, manifestGpuRequirements as bj, memoryStore as bk, planZone as bl, rangedChunks as bm, repairDecoder as bn, runtimeImage as bo, swapInPlace as bp, swappable as bq, unmetGpuRequirement as br, workerEngines as bs, type MemoryMeter as c, type HeatMeter as d, type CauseAmount as e, type CostEntry as f, FRAME_WINDOW as g, FrameRecorder as h, GameMeters as i, type HeatVerdict as j, MAX_CAUSES as k, MAX_MOMENTS as l, METERS_OFF as m, METER_REPORT_FRAMES as n, MOST_SHARE as o, MemoryPeak as p, type MemorySample as q, type MemoryVerdict as r, type MeterRequest as s, PASS_LABELS as t, type SmoothVerdict as u, amountOf as v, calibrationFor as w, fitCalibration as x, heatVerdict as y, isCalibrated as z };
|