@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,337 @@
|
|
|
1
|
+
import { SHA256_BYTES, sha256Matches, sha256Into } from './chunk-5YWN6H5Q.mjs';
|
|
2
|
+
import { unhexAt, DIGEST_BYTES, hexAt } from './chunk-V7ZRH3PY.mjs';
|
|
3
|
+
import { decodeBase64 } from './chunk-2IC4H6OV.mjs';
|
|
4
|
+
|
|
5
|
+
// src/interactives/audio-worklet.ts
|
|
6
|
+
var ENGINE_AUDIO_UNIT = "@cimplify/engine-audio", AUDIO_WORKLET_GROUP = "audio:worklet", AUDIO_WORKLET_PATH = "runtime/engine-audio.wasm", AUDIO_WORKLET_FILE = "engine_audio_web.wasm", AUDIO_RELAY_EXPORT = "engine_audio_relay_create";
|
|
7
|
+
|
|
8
|
+
// src/interactives/parts/weave.ts
|
|
9
|
+
var WEAVE_VERSION = 1, WEAVE_NODE_MAGIC = 1314281283, WEAVE_NODE_HEADER_BYTES = 16, WEAVE_LEAF_ENTRY_BYTES = 40, WEAVE_CHILD_ENTRY_BYTES = 48, WEAVE_MIN_NODE_ENTRIES = 16, WEAVE_MAX_NODE_ENTRIES = 256, WEAVE_BOUNDARY_MASK = 63, WEAVE_MAX_HEIGHT = 8, WEAVE_MAX_NODE_BYTES = (16) + (256) * (48), WEAVE_LEAF_DECORATED = 1, WEAVE_LEAF_TWINNED = 2, WEAVE_HEAD_DOMAIN = `cimplify-weave-head-v1
|
|
10
|
+
`, WEAVE_NODE_ZONE = "weave:nodes", LEAF_LEVEL = 0, BOUNDARY_BYTE = DIGEST_BYTES - 1, VERSION_AT = 4, LEVEL_AT = 5, COUNT_AT = 6, RESERVED_AT = 8, LEAF_FLAGS_AT = 2, LEAF_PAD_AT = 3, LEAF_LENGTH_AT = 4, LEAF_DIGEST_AT = 8, CHILD_LAST_ZONE_AT = 2, CHILD_PARTS_AT = 4, CHILD_BYTES_AT = 8, CHILD_DIGEST_AT = 16, TWO_32 = 4294967296, FETCH_WINDOW = 8, WeaveRefusal = {
|
|
11
|
+
digest: "digest",
|
|
12
|
+
malformed: "malformed",
|
|
13
|
+
summary: "summary",
|
|
14
|
+
height: "height",
|
|
15
|
+
missing: "missing",
|
|
16
|
+
head: "head"
|
|
17
|
+
}, WeaveVerifyError = class extends Error {
|
|
18
|
+
constructor(refusal, digest) {
|
|
19
|
+
super(`weave node ${digest} is refused: ${refusal}`);
|
|
20
|
+
this.refusal = refusal;
|
|
21
|
+
this.digest = digest;
|
|
22
|
+
this.name = "WeaveVerifyError";
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
function view(bytes) {
|
|
26
|
+
return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
27
|
+
}
|
|
28
|
+
function boundary(digest, at, count) {
|
|
29
|
+
return count >= (16) && (digest[at + BOUNDARY_BYTE] & (63)) === 0;
|
|
30
|
+
}
|
|
31
|
+
function seal(level, entryBytes, count, body, nodes, summary) {
|
|
32
|
+
let node = new Uint8Array((16) + count * entryBytes), v = view(node);
|
|
33
|
+
v.setUint32(0, (1314281283), true), node[(4)] = (1), node[(5)] = level, v.setUint16((6), count, true), node.set(body.subarray(0, count * entryBytes), (16));
|
|
34
|
+
let digest = new Uint8Array(SHA256_BYTES);
|
|
35
|
+
return sha256Into(node, digest), nodes.set(hexAt(digest, 0, SHA256_BYTES), node), { ...summary, digest };
|
|
36
|
+
}
|
|
37
|
+
function buildWeave(leaves) {
|
|
38
|
+
if (leaves.length === 0) throw new WeaveVerifyError(WeaveRefusal.malformed, "");
|
|
39
|
+
let nodes = /* @__PURE__ */ new Map(), body = new Uint8Array((256) * (48)), bv = view(body), level = [], count = 0, summary = { firstZone: 0, lastZone: 0, parts: 0, bytes: 0 };
|
|
40
|
+
for (let i = 0; i < leaves.length; i++) {
|
|
41
|
+
let leaf = leaves[i];
|
|
42
|
+
count === 0 && (summary = { firstZone: leaf.zone, lastZone: leaf.zone, parts: 0, bytes: 0 });
|
|
43
|
+
let at = count * (40);
|
|
44
|
+
if (bv.setUint16(at, leaf.zone, true), body[at + (2)] = leaf.flags, body[at + (3)] = 0, bv.setUint32(at + (4), leaf.length, true), !unhexAt(leaf.digest, body, at + (8), DIGEST_BYTES)) throw new WeaveVerifyError(WeaveRefusal.malformed, leaf.digest);
|
|
45
|
+
count++, summary.parts++, summary.bytes += leaf.length;
|
|
46
|
+
let next = leaves[i + 1];
|
|
47
|
+
(count === (256) || next === void 0 || next.zone !== leaf.zone || boundary(body, at + (8), count)) && (level.push(seal((0), (40), count, body, nodes, summary)), count = 0);
|
|
48
|
+
}
|
|
49
|
+
let height = 1;
|
|
50
|
+
for (; level.length > 1; ) {
|
|
51
|
+
if (height === (8)) throw new WeaveVerifyError(WeaveRefusal.height, "");
|
|
52
|
+
let parents = [];
|
|
53
|
+
count = 0;
|
|
54
|
+
for (let i = 0; i < level.length; i++) {
|
|
55
|
+
let child = level[i];
|
|
56
|
+
count === 0 && (summary = { firstZone: child.firstZone, lastZone: child.lastZone, parts: 0, bytes: 0 });
|
|
57
|
+
let at = count * (48);
|
|
58
|
+
bv.setUint16(at, child.firstZone, true), bv.setUint16(at + (2), child.lastZone, true), bv.setUint32(at + (4), child.parts, true), bv.setUint32(at + (8), child.bytes % (4294967296), true), bv.setUint32(at + (8) + 4, Math.floor(child.bytes / (4294967296)), true), body.set(child.digest, at + (16)), count++, summary.lastZone = child.lastZone, summary.parts += child.parts, summary.bytes += child.bytes, (count === (256) || i + 1 === level.length || boundary(child.digest, 0, count)) && (parents.push(seal(height, (48), count, body, nodes, summary)), count = 0);
|
|
59
|
+
}
|
|
60
|
+
level = parents, height++;
|
|
61
|
+
}
|
|
62
|
+
let top = level[0];
|
|
63
|
+
return { root: { version: (1), root: hexAt(top.digest, 0, SHA256_BYTES), parts: top.parts, bytes: top.bytes, height }, nodes };
|
|
64
|
+
}
|
|
65
|
+
function nodeMatches(node, expected, at) {
|
|
66
|
+
return node.length <= WEAVE_MAX_NODE_BYTES && sha256Matches(node, expected, at);
|
|
67
|
+
}
|
|
68
|
+
function weaveNodeLevel(node) {
|
|
69
|
+
return node[(5)];
|
|
70
|
+
}
|
|
71
|
+
function weaveNodeCount(node) {
|
|
72
|
+
return node[(6)] | node[(6) + 1] << 8;
|
|
73
|
+
}
|
|
74
|
+
function u16(node, at) {
|
|
75
|
+
return node[at] | node[at + 1] << 8;
|
|
76
|
+
}
|
|
77
|
+
function u32(node, at) {
|
|
78
|
+
return (node[at] | node[at + 1] << 8 | node[at + 2] << 16 | node[at + 3] << 24) >>> 0;
|
|
79
|
+
}
|
|
80
|
+
function weaveNodeValid(node) {
|
|
81
|
+
if (node.length < (16) || u32(node, 0) !== (1314281283) || node[(4)] !== (1)) return false;
|
|
82
|
+
for (let i = (8); i < (16); i++) if (node[i] !== 0) return false;
|
|
83
|
+
let level = node[(5)], count = weaveNodeCount(node), entry = level === (0) ? (40) : (48);
|
|
84
|
+
if (level >= (8) || count === 0 || count > (256) || node.length !== (16) + count * entry) return false;
|
|
85
|
+
if (level !== (0)) return true;
|
|
86
|
+
let zone = u16(node, (16));
|
|
87
|
+
for (let i = 0; i < count; i++) {
|
|
88
|
+
let at = (16) + i * (40);
|
|
89
|
+
if ((node[at + (2)] & -4) !== 0 || node[at + (3)] !== 0 || u16(node, at) !== zone) return false;
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
function leafAt(index) {
|
|
94
|
+
return (16) + index * (40);
|
|
95
|
+
}
|
|
96
|
+
function leafZone(node, index) {
|
|
97
|
+
return u16(node, leafAt(index));
|
|
98
|
+
}
|
|
99
|
+
function leafFlags(node, index) {
|
|
100
|
+
return node[leafAt(index) + (2)];
|
|
101
|
+
}
|
|
102
|
+
function leafLength(node, index) {
|
|
103
|
+
return u32(node, leafAt(index) + (4));
|
|
104
|
+
}
|
|
105
|
+
function leafDigestAt(index) {
|
|
106
|
+
return leafAt(index) + (8);
|
|
107
|
+
}
|
|
108
|
+
function leafDigest(node, index) {
|
|
109
|
+
return hexAt(node, leafDigestAt(index), DIGEST_BYTES);
|
|
110
|
+
}
|
|
111
|
+
function childAt(index) {
|
|
112
|
+
return (16) + index * (48);
|
|
113
|
+
}
|
|
114
|
+
function childDigestAt(index) {
|
|
115
|
+
return childAt(index) + (16);
|
|
116
|
+
}
|
|
117
|
+
function childBytes(node, at) {
|
|
118
|
+
return u32(node, at + (8)) + u32(node, at + (8) + 4) * (4294967296);
|
|
119
|
+
}
|
|
120
|
+
function summaryMatches(node, firstZone, lastZone, parts, bytes) {
|
|
121
|
+
let count = weaveNodeCount(node);
|
|
122
|
+
if (weaveNodeLevel(node) === (0)) {
|
|
123
|
+
let total = 0;
|
|
124
|
+
for (let i = 0; i < count; i++) total += leafLength(node, i);
|
|
125
|
+
let zone2 = leafZone(node, 0);
|
|
126
|
+
return zone2 === firstZone && zone2 === lastZone && count === parts && total === bytes;
|
|
127
|
+
}
|
|
128
|
+
let zone = u16(node, childAt(0));
|
|
129
|
+
if (zone !== firstZone) return false;
|
|
130
|
+
let sumParts = 0, sumBytes = 0;
|
|
131
|
+
for (let i = 0; i < count; i++) {
|
|
132
|
+
let at = childAt(i), first = u16(node, at), last = u16(node, at + (2));
|
|
133
|
+
if (first < zone || last < first) return false;
|
|
134
|
+
zone = last, sumParts += u32(node, at + (4)), sumBytes += childBytes(node, at);
|
|
135
|
+
}
|
|
136
|
+
return zone === lastZone && sumParts === parts && sumBytes === bytes;
|
|
137
|
+
}
|
|
138
|
+
function verifyChild(node, parent, index) {
|
|
139
|
+
let at = childAt(index);
|
|
140
|
+
return nodeMatches(node, parent, at + (16)) ? weaveNodeValid(node) ? weaveNodeLevel(node) !== weaveNodeLevel(parent) - 1 || !summaryMatches(node, u16(parent, at), u16(parent, at + (2)), u32(parent, at + (4)), childBytes(parent, at)) ? WeaveRefusal.summary : null : WeaveRefusal.malformed : WeaveRefusal.digest;
|
|
141
|
+
}
|
|
142
|
+
var rootDigest = new Uint8Array(SHA256_BYTES);
|
|
143
|
+
function verifyRoot(node, root) {
|
|
144
|
+
if (root.version !== (1) || !unhexAt(root.root, rootDigest, 0, SHA256_BYTES)) return WeaveRefusal.malformed;
|
|
145
|
+
if (root.height < 1 || root.height > (8)) return WeaveRefusal.height;
|
|
146
|
+
if (!nodeMatches(node, rootDigest, 0)) return WeaveRefusal.digest;
|
|
147
|
+
if (!weaveNodeValid(node)) return WeaveRefusal.malformed;
|
|
148
|
+
if (weaveNodeLevel(node) !== root.height - 1) return WeaveRefusal.summary;
|
|
149
|
+
let leaf = weaveNodeLevel(node) === (0), first = leaf ? leafZone(node, 0) : u16(node, childAt(0)), last = leaf ? first : u16(node, childAt(weaveNodeCount(node) - 1) + (2));
|
|
150
|
+
return summaryMatches(node, first, last, root.parts, root.bytes) ? null : WeaveRefusal.summary;
|
|
151
|
+
}
|
|
152
|
+
function ignore() {
|
|
153
|
+
}
|
|
154
|
+
async function load(source, digest, tally) {
|
|
155
|
+
let local = await source.local(digest);
|
|
156
|
+
if (local !== null) return { node: local, fetched: false };
|
|
157
|
+
let node = await source.fetch(digest);
|
|
158
|
+
return tally.fetchedNodes++, tally.fetchedBytes += node.length, { node, fetched: true };
|
|
159
|
+
}
|
|
160
|
+
async function descend(node, digest, source, known, visit, tally) {
|
|
161
|
+
tally.nodes++, tally.digests.push(digest);
|
|
162
|
+
let changed = known === null || !known.has(digest);
|
|
163
|
+
changed && tally.changedNodes++;
|
|
164
|
+
let count = weaveNodeCount(node);
|
|
165
|
+
if (weaveNodeLevel(node) === (0)) {
|
|
166
|
+
for (let i = 0; i < count; i++) visit(node, i, changed);
|
|
167
|
+
tally.parts += count;
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
let digests = [];
|
|
171
|
+
for (let i = 0; i < count; i++) digests.push(hexAt(node, childDigestAt(i), DIGEST_BYTES));
|
|
172
|
+
let pending = new Array(count).fill(null), started = 0;
|
|
173
|
+
for (let i = 0; i < count; i++) {
|
|
174
|
+
for (; started < count && started < i + (8); ) {
|
|
175
|
+
let loading = load(source, digests[started], tally);
|
|
176
|
+
loading.catch(ignore), pending[started++] = loading;
|
|
177
|
+
}
|
|
178
|
+
let { node: child, fetched } = await pending[i];
|
|
179
|
+
pending[i] = null;
|
|
180
|
+
let refusal = verifyChild(child, node, i);
|
|
181
|
+
if (refusal !== null) throw new WeaveVerifyError(refusal, digests[i]);
|
|
182
|
+
fetched && await source.admit?.(digests[i], child), await descend(child, digests[i], source, known, visit, tally);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
async function knownNodes(old, source) {
|
|
186
|
+
let known = /* @__PURE__ */ new Set(), top = await source.local(old.root);
|
|
187
|
+
if (top === null || verifyRoot(top, old) !== null) return known;
|
|
188
|
+
let stack = [[top, old.root]];
|
|
189
|
+
for (; stack.length > 0; ) {
|
|
190
|
+
let [node, digest] = stack.pop();
|
|
191
|
+
if (known.add(digest), weaveNodeLevel(node) !== (0))
|
|
192
|
+
for (let i = weaveNodeCount(node) - 1; i >= 0; i--) {
|
|
193
|
+
let child = hexAt(node, childDigestAt(i), DIGEST_BYTES);
|
|
194
|
+
if (known.has(child)) continue;
|
|
195
|
+
let bytes = await source.local(child);
|
|
196
|
+
bytes !== null && verifyChild(bytes, node, i) === null && stack.push([bytes, child]);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return known;
|
|
200
|
+
}
|
|
201
|
+
async function walkWeave(root, source, visit, old = null) {
|
|
202
|
+
let tally = { nodes: 0, fetchedNodes: 0, fetchedBytes: 0, changedNodes: 0, parts: 0, digests: [] }, known = old === null ? null : await knownNodes(old, source), { node, fetched } = await load(source, root.root, tally), refusal = verifyRoot(node, root);
|
|
203
|
+
if (refusal !== null) throw new WeaveVerifyError(refusal, root.root);
|
|
204
|
+
if (fetched && await source.admit?.(root.root, node), await descend(node, root.root, source, known, visit, tally), tally.parts !== root.parts) throw new WeaveVerifyError(WeaveRefusal.summary, root.root);
|
|
205
|
+
return {
|
|
206
|
+
nodes: tally.nodes,
|
|
207
|
+
fetched_nodes: tally.fetchedNodes,
|
|
208
|
+
fetched_bytes: tally.fetchedBytes,
|
|
209
|
+
changed_nodes: tally.changedNodes,
|
|
210
|
+
parts: tally.parts,
|
|
211
|
+
node_digests: tally.digests
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
function weaveHeadMessage(head) {
|
|
215
|
+
let domain = new TextEncoder().encode(WEAVE_HEAD_DOMAIN), out = new Uint8Array(domain.length + head.length);
|
|
216
|
+
return out.set(domain, 0), out.set(head, domain.length), out;
|
|
217
|
+
}
|
|
218
|
+
function validWeaveRoot(value) {
|
|
219
|
+
let r = value;
|
|
220
|
+
return typeof r == "object" && r !== null && r.version === (1) && typeof r.root == "string" && /^[0-9a-f]{64}$/.test(r.root) && Number.isSafeInteger(r.parts) && r.parts > 0 && Number.isSafeInteger(r.bytes) && r.bytes >= 0 && Number.isInteger(r.height) && r.height >= 1 && r.height <= (8);
|
|
221
|
+
}
|
|
222
|
+
var KEY_ID_HEX = 16, ED25519_KEY_BYTES = 32, ED25519_SIGNATURE_BYTES = 64;
|
|
223
|
+
var HEX = "0123456789abcdef", NIBBLE = 4, LOW_NIBBLE = 15;
|
|
224
|
+
function hex(bytes) {
|
|
225
|
+
let out = "";
|
|
226
|
+
for (let byte of bytes) out += HEX[byte >> (4) & (15)] + HEX[byte & (15)];
|
|
227
|
+
return out;
|
|
228
|
+
}
|
|
229
|
+
function sha256Hex(bytes) {
|
|
230
|
+
let out = new Uint8Array(SHA256_BYTES);
|
|
231
|
+
return sha256Into(bytes, out), hex(out);
|
|
232
|
+
}
|
|
233
|
+
function keyIdOf(rawPublicKey) {
|
|
234
|
+
return sha256Hex(rawPublicKey).slice(0, (16));
|
|
235
|
+
}
|
|
236
|
+
function decodeKey(base64) {
|
|
237
|
+
try {
|
|
238
|
+
let bytes = decodeBase64(base64);
|
|
239
|
+
return bytes.length === (32) ? bytes : null;
|
|
240
|
+
} catch {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
function decodeSignature(base64) {
|
|
245
|
+
try {
|
|
246
|
+
let bytes = decodeBase64(base64);
|
|
247
|
+
return bytes.length === (64) ? bytes : null;
|
|
248
|
+
} catch {
|
|
249
|
+
return null;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// src/interactives/parts/weave-delivery.ts
|
|
254
|
+
var LAZY_GROUP_PREFIX = "lazy:";
|
|
255
|
+
function validHead(value) {
|
|
256
|
+
let h = value;
|
|
257
|
+
return typeof h == "object" && h !== null && typeof h.interactive_id == "string" && typeof h.revision_id == "string" && Array.isArray(h.asset_groups) && h.asset_groups.every((g) => typeof g?.name == "string" && typeof g.before_play == "boolean") && Array.isArray(h.chunks) && h.chunks.every((c) => typeof c?.digest == "string" && Number.isSafeInteger(c.size) && Number.isInteger(c.group)) && validWeaveRoot(h.weave);
|
|
258
|
+
}
|
|
259
|
+
function sameRoot(a, b) {
|
|
260
|
+
return a.version === b.version && a.root === b.root && a.parts === b.parts && a.bytes === b.bytes && a.height === b.height;
|
|
261
|
+
}
|
|
262
|
+
function openWeaveHead(weave, trust = null) {
|
|
263
|
+
let bytes, parsed;
|
|
264
|
+
try {
|
|
265
|
+
bytes = decodeBase64(weave.head), parsed = JSON.parse(new TextDecoder().decode(bytes));
|
|
266
|
+
} catch {
|
|
267
|
+
throw new WeaveVerifyError(WeaveRefusal.head, weave.root.root);
|
|
268
|
+
}
|
|
269
|
+
if (!validHead(parsed) || !validWeaveRoot(weave.root) || !sameRoot(parsed.weave, weave.root)) throw new WeaveVerifyError(WeaveRefusal.head, weave.root.root);
|
|
270
|
+
if (trust !== null) {
|
|
271
|
+
let encoded = trust.keys[weave.key_id], key = encoded === void 0 ? null : decodeKey(encoded), signature = decodeSignature(weave.signature);
|
|
272
|
+
if (key === null || keyIdOf(key) !== weave.key_id || signature === null || !trust.verify(key, weaveHeadMessage(bytes), signature))
|
|
273
|
+
throw new WeaveVerifyError(WeaveRefusal.head, weave.root.root);
|
|
274
|
+
}
|
|
275
|
+
return parsed;
|
|
276
|
+
}
|
|
277
|
+
function storeWeaveSource(store, upstream) {
|
|
278
|
+
return {
|
|
279
|
+
local: (digest) => store.peek(digest),
|
|
280
|
+
fetch: (digest) => upstream.fetch(digest),
|
|
281
|
+
admit: (digest, node) => store.admit(digest, node)
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
function chunkWeaveSource(upstream) {
|
|
285
|
+
return {
|
|
286
|
+
local: () => Promise.resolve(null),
|
|
287
|
+
fetch: (digest) => upstream.fetch(digest)
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
function planWeave(head, store, upstream, old = null) {
|
|
291
|
+
return collectWeave(head, storeWeaveSource(store, upstream), old, (digest) => !store.has(digest));
|
|
292
|
+
}
|
|
293
|
+
function woven(index) {
|
|
294
|
+
return index.weave !== void 0 && index.chunks.length === 0;
|
|
295
|
+
}
|
|
296
|
+
async function unweaveIndex(index, nodes, trust = null, old = null) {
|
|
297
|
+
let weave = index.weave;
|
|
298
|
+
if (weave === void 0) throw new WeaveVerifyError(WeaveRefusal.head, "");
|
|
299
|
+
let plan = await collectWeave(openWeaveHead(weave, trust), nodes, old, null);
|
|
300
|
+
return { index: { ...index, chunks: plan.chunks }, plan };
|
|
301
|
+
}
|
|
302
|
+
async function collectWeave(head, source, old, missing) {
|
|
303
|
+
let chunks = [], schedule = [], scheduled = /* @__PURE__ */ new Set(), scheduleBytes = 0, decorated = 0, visit = (node, index, changed) => {
|
|
304
|
+
let digest = leafDigest(node, index), zone = leafZone(node, index), size = leafLength(node, index), group = head.asset_groups[zone];
|
|
305
|
+
if (group === void 0) throw new WeaveVerifyError(WeaveRefusal.summary, digest);
|
|
306
|
+
let runtime = null, payload = null, flags = leafFlags(node, index), twinned = (flags & (2)) !== 0;
|
|
307
|
+
if ((flags & (1)) !== 0) {
|
|
308
|
+
let extra = head.chunks[decorated++];
|
|
309
|
+
if (extra === void 0 || extra.digest !== digest || extra.group !== zone || extra.size !== size) throw new WeaveVerifyError(WeaveRefusal.head, digest);
|
|
310
|
+
if (typeof extra.brotli_bytes == "number" !== twinned) throw new WeaveVerifyError(WeaveRefusal.head, digest);
|
|
311
|
+
if (typeof extra.guest == "string") return;
|
|
312
|
+
runtime = extra.runtime ?? null, payload = extra.payload_digest ?? null;
|
|
313
|
+
}
|
|
314
|
+
chunks.push({ digest, size, asset_group: group.name, before_play: group.before_play, lazy: group.name.startsWith(LAZY_GROUP_PREFIX), runtime, payload_digest: payload, ...twinned ? { twinned: true } : {} }), !(missing === null || old !== null && !changed || scheduled.has(digest) || !missing(digest)) && (scheduled.add(digest), schedule.push({ digest, size, zone: group.name }), scheduleBytes += size);
|
|
315
|
+
}, walk = await walkWeave(head.weave, source, visit, old);
|
|
316
|
+
if (decorated !== head.chunks.length) throw new WeaveVerifyError(WeaveRefusal.head, head.weave.root);
|
|
317
|
+
return { head, chunks, schedule, schedule_bytes: scheduleBytes, walk };
|
|
318
|
+
}
|
|
319
|
+
function weaveParts(plan) {
|
|
320
|
+
let parts = plan.chunks.map((chunk) => ({ digest: chunk.digest, zone: chunk.asset_group }));
|
|
321
|
+
for (let digest of plan.walk.node_digests) parts.push({ digest, zone: WEAVE_NODE_ZONE });
|
|
322
|
+
return parts;
|
|
323
|
+
}
|
|
324
|
+
async function openWeaveSession(store, game, head, upstream, old = null, options = {}) {
|
|
325
|
+
let plan = await planWeave(head, store, upstream, old), session = store.session(game, weaveParts(plan), { keep_on_device: options.keep_on_device ?? head.keep_on_device === true });
|
|
326
|
+
return await session.installed, { plan, session };
|
|
327
|
+
}
|
|
328
|
+
async function deliverSchedule(session, upstream, schedule, signal) {
|
|
329
|
+
let source = session.source(upstream), bytes = 0;
|
|
330
|
+
for (let part of schedule) {
|
|
331
|
+
let body = await source.fetch(part.digest, signal);
|
|
332
|
+
bytes += body.length;
|
|
333
|
+
}
|
|
334
|
+
return bytes;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
export { AUDIO_RELAY_EXPORT, AUDIO_WORKLET_FILE, AUDIO_WORKLET_GROUP, AUDIO_WORKLET_PATH, ENGINE_AUDIO_UNIT, WEAVE_BOUNDARY_MASK, WEAVE_CHILD_ENTRY_BYTES, WEAVE_HEAD_DOMAIN, WEAVE_LEAF_DECORATED, WEAVE_LEAF_ENTRY_BYTES, WEAVE_LEAF_TWINNED, WEAVE_MAX_HEIGHT, WEAVE_MAX_NODE_BYTES, WEAVE_MAX_NODE_ENTRIES, WEAVE_MIN_NODE_ENTRIES, WEAVE_NODE_HEADER_BYTES, WEAVE_NODE_MAGIC, WEAVE_NODE_ZONE, WEAVE_VERSION, WeaveRefusal, WeaveVerifyError, buildWeave, childDigestAt, chunkWeaveSource, deliverSchedule, leafAt, leafDigest, leafDigestAt, leafFlags, leafLength, leafZone, nodeMatches, openWeaveHead, openWeaveSession, planWeave, storeWeaveSource, unweaveIndex, validWeaveRoot, verifyChild, verifyRoot, walkWeave, weaveHeadMessage, weaveNodeCount, weaveNodeLevel, weaveNodeValid, weaveParts, woven };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkWWKMOA76_js = require('./chunk-WWKMOA76.js');
|
|
4
|
+
|
|
5
|
+
// src/interactives/runtime/camera-wire.ts
|
|
6
|
+
var CAMERA_TAG_BYTES = 1, CAMERA_WORD_BYTES = 4, CAMERA_ID_AT = (1), CAMERA_SECOND_AT = CAMERA_ID_AT + (4), CAMERA_HANDLE_BYTES = (1) + (4), CAMERA_PAIR_BYTES = CAMERA_HANDLE_BYTES + (4), CAMERA_COLOURED_BYTES = CAMERA_HANDLE_BYTES + (4) * 3, CAMERA_IDENTITY_CODE_AT = CAMERA_HANDLE_BYTES, CAMERA_IDENTIFIED_BYTES = CAMERA_IDENTITY_CODE_AT + 1, IDENTITY_CAPTURED = 0, IDENTITY_CODES = chunkWWKMOA76_js.CAMERA_LAYOUT.identity_codes;
|
|
7
|
+
function identityCodeByte(code) {
|
|
8
|
+
return IDENTITY_CODES.indexOf(code) + 1;
|
|
9
|
+
}
|
|
10
|
+
var NO_CAMERA = 0, NO_FACE_COLOUR = -1, CameraOpenPurpose = { track: 0, view: 1 }, CAMERA_PURPOSE_AT = CAMERA_HANDLE_BYTES, CAMERA_OPEN_BYTES = CAMERA_HANDLE_BYTES + 1, CameraViewFlag = { shown: 1, mirror: 2, over: 4 }, CAMERA_PLACE_X_AT = CAMERA_HANDLE_BYTES, CAMERA_PLACE_FLAGS_AT = CAMERA_PLACE_X_AT + (4) * 4, CAMERA_PLACE_BYTES = CAMERA_PLACE_FLAGS_AT + 1, FACE_FRAME = {
|
|
11
|
+
sequence: 0,
|
|
12
|
+
faces: 1,
|
|
13
|
+
measured: 2,
|
|
14
|
+
header_words: 3,
|
|
15
|
+
expression_floats: chunkWWKMOA76_js.FACE_LAYOUT.expressions.length,
|
|
16
|
+
arkit_floats: chunkWWKMOA76_js.FACE_LAYOUT.arkit.length,
|
|
17
|
+
pose_floats: chunkWWKMOA76_js.FACE_LAYOUT.head_pose.length
|
|
18
|
+
}, FACE_FLOATS = FACE_FRAME.expression_floats + FACE_FRAME.arkit_floats + FACE_FRAME.pose_floats, FACE_ARKIT_AT = FACE_FRAME.expression_floats, FACE_POSE_AT = FACE_ARKIT_AT + FACE_FRAME.arkit_floats, FACE_FRAME_BYTES = (FACE_FRAME.header_words + FACE_FLOATS) * (4), FACE_PAYLOAD_OFFSET = FACE_FRAME.faces * (4), FACE_PAYLOAD_BYTES = FACE_FRAME_BYTES - FACE_PAYLOAD_OFFSET, FACE_FLOATS_AT = (FACE_FRAME.header_words - FACE_FRAME.faces) * (4), CAMERA_FACE_BYTES = CAMERA_HANDLE_BYTES + FACE_PAYLOAD_BYTES, CameraRefusal = {
|
|
19
|
+
noGrant: "no_face_tracking_grant",
|
|
20
|
+
noPreview: "no_preview_grant",
|
|
21
|
+
denied: "camera_denied",
|
|
22
|
+
unavailable: "camera_unavailable",
|
|
23
|
+
busy: "camera_busy",
|
|
24
|
+
notOpen: "stream_not_open",
|
|
25
|
+
badPlacement: "camera_bad_placement"
|
|
26
|
+
}; ({
|
|
27
|
+
mirror: chunkWWKMOA76_js.CAMERA_LAYOUT.view_default_mirror,
|
|
28
|
+
layer: chunkWWKMOA76_js.CAMERA_LAYOUT.view_default_layer
|
|
29
|
+
});
|
|
30
|
+
function readSigned(bytes, at) {
|
|
31
|
+
return bytes[at] | bytes[at + 1] << 8 | bytes[at + 2] << 16 | bytes[at + 3] << 24;
|
|
32
|
+
}
|
|
33
|
+
function readWord(bytes, at) {
|
|
34
|
+
return readSigned(bytes, at) >>> 0;
|
|
35
|
+
}
|
|
36
|
+
function writeWord(bytes, at, value) {
|
|
37
|
+
bytes[at] = value & 255, bytes[at + 1] = value >>> 8 & 255, bytes[at + 2] = value >>> 16 & 255, bytes[at + 3] = value >>> 24 & 255;
|
|
38
|
+
}
|
|
39
|
+
var floatScratch = new Float32Array(1), floatBytes = new Uint8Array(floatScratch.buffer);
|
|
40
|
+
function readFloat(bytes, at) {
|
|
41
|
+
return floatBytes[0] = bytes[at], floatBytes[1] = bytes[at + 1], floatBytes[2] = bytes[at + 2], floatBytes[3] = bytes[at + 3], floatScratch[0];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/interactives/runtime/jsc-camera.ts
|
|
45
|
+
({
|
|
46
|
+
expression_floats: chunkWWKMOA76_js.FACE_LAYOUT.expressions.length,
|
|
47
|
+
pose_floats: chunkWWKMOA76_js.FACE_LAYOUT.head_pose.length
|
|
48
|
+
});
|
|
49
|
+
var IdentityCaptureError = class extends Error {
|
|
50
|
+
constructor(code) {
|
|
51
|
+
super(`the identity capture ended: ${code}`);
|
|
52
|
+
this.code = code;
|
|
53
|
+
this.name = "IdentityCaptureError";
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
exports.CAMERA_COLOURED_BYTES = CAMERA_COLOURED_BYTES;
|
|
58
|
+
exports.CAMERA_FACE_BYTES = CAMERA_FACE_BYTES;
|
|
59
|
+
exports.CAMERA_HANDLE_BYTES = CAMERA_HANDLE_BYTES;
|
|
60
|
+
exports.CAMERA_IDENTIFIED_BYTES = CAMERA_IDENTIFIED_BYTES;
|
|
61
|
+
exports.CAMERA_IDENTITY_CODE_AT = CAMERA_IDENTITY_CODE_AT;
|
|
62
|
+
exports.CAMERA_ID_AT = CAMERA_ID_AT;
|
|
63
|
+
exports.CAMERA_OPEN_BYTES = CAMERA_OPEN_BYTES;
|
|
64
|
+
exports.CAMERA_PAIR_BYTES = CAMERA_PAIR_BYTES;
|
|
65
|
+
exports.CAMERA_PLACE_BYTES = CAMERA_PLACE_BYTES;
|
|
66
|
+
exports.CAMERA_PLACE_FLAGS_AT = CAMERA_PLACE_FLAGS_AT;
|
|
67
|
+
exports.CAMERA_PLACE_X_AT = CAMERA_PLACE_X_AT;
|
|
68
|
+
exports.CAMERA_PURPOSE_AT = CAMERA_PURPOSE_AT;
|
|
69
|
+
exports.CAMERA_SECOND_AT = CAMERA_SECOND_AT;
|
|
70
|
+
exports.CAMERA_WORD_BYTES = (4);
|
|
71
|
+
exports.CameraOpenPurpose = CameraOpenPurpose;
|
|
72
|
+
exports.CameraRefusal = CameraRefusal;
|
|
73
|
+
exports.CameraViewFlag = CameraViewFlag;
|
|
74
|
+
exports.FACE_ARKIT_AT = FACE_ARKIT_AT;
|
|
75
|
+
exports.FACE_FLOATS = FACE_FLOATS;
|
|
76
|
+
exports.FACE_FLOATS_AT = FACE_FLOATS_AT;
|
|
77
|
+
exports.FACE_FRAME = FACE_FRAME;
|
|
78
|
+
exports.FACE_PAYLOAD_BYTES = FACE_PAYLOAD_BYTES;
|
|
79
|
+
exports.FACE_POSE_AT = FACE_POSE_AT;
|
|
80
|
+
exports.IDENTITY_CAPTURED = (0);
|
|
81
|
+
exports.IdentityCaptureError = IdentityCaptureError;
|
|
82
|
+
exports.NO_CAMERA = (0);
|
|
83
|
+
exports.NO_FACE_COLOUR = (-1);
|
|
84
|
+
exports.identityCodeByte = identityCodeByte;
|
|
85
|
+
exports.readFloat = readFloat;
|
|
86
|
+
exports.readWord = readWord;
|
|
87
|
+
exports.writeWord = writeWord;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as CimplifyClient } from './catalogue-
|
|
2
|
-
import { A as AppHandle, C as CreateAppOptions } from './server-
|
|
1
|
+
import { C as CimplifyClient } from './catalogue-CPTMyBUz.mjs';
|
|
2
|
+
import { A as AppHandle, C as CreateAppOptions } from './server-DQMWPnc8.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Test client + fixtures.
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { T as TransportKind, R as RoomDialer } from './link-BUTqGmyi.js';
|
|
2
|
+
|
|
3
|
+
interface Motion {
|
|
4
|
+
readonly toleranceUnits: number;
|
|
5
|
+
readonly x: number;
|
|
6
|
+
readonly y: number;
|
|
7
|
+
readonly z: number;
|
|
8
|
+
spawn(slot: number): void;
|
|
9
|
+
steer(axisX: number, axisZ: number, buttons: number): void;
|
|
10
|
+
step(): void;
|
|
11
|
+
place(x: number, y: number, z: number): void;
|
|
12
|
+
}
|
|
13
|
+
type MotionFactory = (simulationHz: number, physicsHz: number) => Motion;
|
|
14
|
+
declare class LocomotionMotion implements Motion {
|
|
15
|
+
readonly toleranceUnits = 0;
|
|
16
|
+
private readonly body;
|
|
17
|
+
private readonly locomotion;
|
|
18
|
+
constructor(simulationHz: number, physicsHz: number);
|
|
19
|
+
get x(): number;
|
|
20
|
+
get y(): number;
|
|
21
|
+
get z(): number;
|
|
22
|
+
spawn(slot: number): void;
|
|
23
|
+
steer(axisX: number, axisZ: number, buttons: number): void;
|
|
24
|
+
step(): void;
|
|
25
|
+
place(x: number, _y: number, z: number): void;
|
|
26
|
+
}
|
|
27
|
+
declare const locomotionMotion: MotionFactory;
|
|
28
|
+
|
|
29
|
+
interface NetworkMemory {
|
|
30
|
+
recall(network: string, nowMs: number): TransportKind | null;
|
|
31
|
+
remember(network: string, transport: TransportKind, nowMs: number): void;
|
|
32
|
+
}
|
|
33
|
+
declare class InMemoryNetworkMemory implements NetworkMemory {
|
|
34
|
+
private readonly entries;
|
|
35
|
+
recall(network: string, nowMs: number): TransportKind | null;
|
|
36
|
+
remember(network: string, transport: TransportKind, nowMs: number): void;
|
|
37
|
+
}
|
|
38
|
+
declare class StorageNetworkMemory implements NetworkMemory {
|
|
39
|
+
private readonly fallback;
|
|
40
|
+
recall(network: string, nowMs: number): TransportKind | null;
|
|
41
|
+
remember(network: string, transport: TransportKind, nowMs: number): void;
|
|
42
|
+
}
|
|
43
|
+
declare function currentNetwork(): string;
|
|
44
|
+
|
|
45
|
+
declare const RoomPhase: {
|
|
46
|
+
readonly Idle: 0;
|
|
47
|
+
readonly Ticketing: 1;
|
|
48
|
+
readonly Connecting: 2;
|
|
49
|
+
readonly Joined: 3;
|
|
50
|
+
readonly Waiting: 4;
|
|
51
|
+
readonly Refused: 5;
|
|
52
|
+
readonly Closed: 6;
|
|
53
|
+
};
|
|
54
|
+
type RoomPhase = (typeof RoomPhase)[keyof typeof RoomPhase];
|
|
55
|
+
interface ChannelSink {
|
|
56
|
+
deliver(slot: number, sender: number, view: DataView, offset: number, length: number): void;
|
|
57
|
+
}
|
|
58
|
+
interface RoomClientOptions {
|
|
59
|
+
readonly tickets: () => Promise<Uint8Array>;
|
|
60
|
+
readonly primary?: RoomDialer | null;
|
|
61
|
+
readonly fallback?: RoomDialer | null;
|
|
62
|
+
readonly physicsHz?: number;
|
|
63
|
+
readonly memory?: NetworkMemory;
|
|
64
|
+
readonly network?: () => string;
|
|
65
|
+
readonly channels?: ChannelSink | null;
|
|
66
|
+
readonly motion?: MotionFactory;
|
|
67
|
+
readonly spectatorAckEvery?: number;
|
|
68
|
+
}
|
|
69
|
+
declare const GAME_CHANNEL_SLOTS: 64;
|
|
70
|
+
declare const GAME_CHANNEL_RELIABLE_BASE: 32;
|
|
71
|
+
interface RoomPose {
|
|
72
|
+
x: number;
|
|
73
|
+
y: number;
|
|
74
|
+
z: number;
|
|
75
|
+
yaw: number;
|
|
76
|
+
animation: number;
|
|
77
|
+
}
|
|
78
|
+
interface RoomPresence {
|
|
79
|
+
tick: number;
|
|
80
|
+
x: number;
|
|
81
|
+
y: number;
|
|
82
|
+
z: number;
|
|
83
|
+
yaw: number;
|
|
84
|
+
animation: number;
|
|
85
|
+
flags: number;
|
|
86
|
+
}
|
|
87
|
+
interface RoomStats {
|
|
88
|
+
slot: number;
|
|
89
|
+
transport: TransportKind | null;
|
|
90
|
+
corrections: number;
|
|
91
|
+
maxCorrectionM: number;
|
|
92
|
+
meanCorrectionM: number;
|
|
93
|
+
inputsSent: number;
|
|
94
|
+
snapshots: number;
|
|
95
|
+
deltas: number;
|
|
96
|
+
keyframes: number;
|
|
97
|
+
missingBaselines: number;
|
|
98
|
+
rttMs: number;
|
|
99
|
+
interpolationDelayMs: number;
|
|
100
|
+
extrapolatingFrames: number;
|
|
101
|
+
paceChanges: number;
|
|
102
|
+
reconnects: number;
|
|
103
|
+
dropped: number;
|
|
104
|
+
sendFailures: number;
|
|
105
|
+
sendStride: number;
|
|
106
|
+
statesShed: number;
|
|
107
|
+
}
|
|
108
|
+
declare class RoomClient {
|
|
109
|
+
private readonly tickets;
|
|
110
|
+
private readonly physicsHz;
|
|
111
|
+
private readonly connector;
|
|
112
|
+
private readonly queue;
|
|
113
|
+
private readonly outbound;
|
|
114
|
+
private readonly reply;
|
|
115
|
+
private readonly ack;
|
|
116
|
+
private readonly streamAcks;
|
|
117
|
+
private readonly clock;
|
|
118
|
+
private readonly ticker;
|
|
119
|
+
private readonly governor;
|
|
120
|
+
private seenSendFailures;
|
|
121
|
+
private leadBoost;
|
|
122
|
+
private readonly log;
|
|
123
|
+
private readonly store;
|
|
124
|
+
private readonly tracks;
|
|
125
|
+
private readonly units;
|
|
126
|
+
private readonly appliedShort;
|
|
127
|
+
private readonly appliedSequence;
|
|
128
|
+
private readonly remoteSlots;
|
|
129
|
+
private readonly roomInput;
|
|
130
|
+
private readonly channelSink;
|
|
131
|
+
private readonly channelHeader;
|
|
132
|
+
private readonly channelMessage;
|
|
133
|
+
private channelSequence;
|
|
134
|
+
private readonly statistics;
|
|
135
|
+
private readonly motionFactory;
|
|
136
|
+
private predictor;
|
|
137
|
+
private predictorRates;
|
|
138
|
+
private link;
|
|
139
|
+
private stateValue;
|
|
140
|
+
private pendingTicket;
|
|
141
|
+
private ticketFailed;
|
|
142
|
+
private resumeToken;
|
|
143
|
+
private joinVersion;
|
|
144
|
+
private request;
|
|
145
|
+
private admittedAt;
|
|
146
|
+
private dialStartedAt;
|
|
147
|
+
private retryAt;
|
|
148
|
+
private lastUpdate;
|
|
149
|
+
private outboundNext;
|
|
150
|
+
private appliedNext;
|
|
151
|
+
private remoteCountValue;
|
|
152
|
+
private joins;
|
|
153
|
+
private slotValue;
|
|
154
|
+
private watcher;
|
|
155
|
+
private started;
|
|
156
|
+
private freshSnapshot;
|
|
157
|
+
private lastReconciled;
|
|
158
|
+
private extrapolating;
|
|
159
|
+
private ownTick;
|
|
160
|
+
private ownX;
|
|
161
|
+
private ownY;
|
|
162
|
+
private ownZ;
|
|
163
|
+
private ownVelocityX;
|
|
164
|
+
private ownVelocityZ;
|
|
165
|
+
private inputAxisX;
|
|
166
|
+
private inputAxisZ;
|
|
167
|
+
private inputYaw;
|
|
168
|
+
private inputButtons;
|
|
169
|
+
private inputSubtick;
|
|
170
|
+
private commandSequence;
|
|
171
|
+
private cameraSequence;
|
|
172
|
+
private cameraX;
|
|
173
|
+
private cameraZ;
|
|
174
|
+
private cameraRadius;
|
|
175
|
+
private cameraDirty;
|
|
176
|
+
private cameraSentAt;
|
|
177
|
+
private readonly spectatorAckEvery;
|
|
178
|
+
private unackedSnapshots;
|
|
179
|
+
constructor(options: RoomClientOptions);
|
|
180
|
+
get state(): RoomPhase;
|
|
181
|
+
get slot(): number;
|
|
182
|
+
ackStream(slot: number, sequence: () => number): void;
|
|
183
|
+
get watching(): boolean;
|
|
184
|
+
get extrapolatingLocal(): boolean;
|
|
185
|
+
get serverTick(): number;
|
|
186
|
+
get remoteCount(): number;
|
|
187
|
+
remoteSlot(index: number): number;
|
|
188
|
+
get stats(): RoomStats;
|
|
189
|
+
start(nowMs: number): void;
|
|
190
|
+
close(): void;
|
|
191
|
+
setInput(axisX: number, axisZ: number, yawRadians: number, buttons: number, nowMs: number): void;
|
|
192
|
+
setCamera(xMetres: number, zMetres: number, radiusMetres: number): void;
|
|
193
|
+
sendCommand(action: number, payload: Uint8Array, length: number): number;
|
|
194
|
+
sendChannel(slot: number, payload: Uint8Array, length: number): number;
|
|
195
|
+
update(nowMs: number): void;
|
|
196
|
+
localPose(out: RoomPose, nowMs: number): boolean;
|
|
197
|
+
presence(slot: number, out: RoomPresence): boolean;
|
|
198
|
+
remotePose(slot: number, out: RoomPose, nowMs: number): boolean;
|
|
199
|
+
private capTicks;
|
|
200
|
+
private fetchTicket;
|
|
201
|
+
private readonly ticketArrived;
|
|
202
|
+
private readonly ticketRefused;
|
|
203
|
+
private dial;
|
|
204
|
+
private begin;
|
|
205
|
+
private connecting;
|
|
206
|
+
private waitAndRetry;
|
|
207
|
+
private reconnect;
|
|
208
|
+
private joined;
|
|
209
|
+
private govern;
|
|
210
|
+
private drain;
|
|
211
|
+
private channel;
|
|
212
|
+
private snapshot;
|
|
213
|
+
private observeOwn;
|
|
214
|
+
private acknowledged;
|
|
215
|
+
private applied;
|
|
216
|
+
private beginSession;
|
|
217
|
+
private reconcile;
|
|
218
|
+
private play;
|
|
219
|
+
private leadDebt;
|
|
220
|
+
private cameraDue;
|
|
221
|
+
private packet;
|
|
222
|
+
private send;
|
|
223
|
+
private writeCamera;
|
|
224
|
+
private receivedMask;
|
|
225
|
+
private watchLatency;
|
|
226
|
+
}
|
|
227
|
+
declare function sendsOn(tick: number, simulationHz: number, sendHz: number): boolean;
|
|
228
|
+
declare function previousSend(tick: number, simulationHz: number, sendHz: number): number;
|
|
229
|
+
|
|
230
|
+
export { type ChannelSink as C, GAME_CHANNEL_RELIABLE_BASE as G, InMemoryNetworkMemory as I, LocomotionMotion as L, type Motion as M, type NetworkMemory as N, RoomClient as R, StorageNetworkMemory as S, type RoomClientOptions as a, GAME_CHANNEL_SLOTS as b, type MotionFactory as c, RoomPhase as d, type RoomPose as e, type RoomPresence as f, type RoomStats as g, currentNetwork as h, locomotionMotion as l, previousSend as p, sendsOn as s };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as CimplifyClient } from './catalogue-
|
|
2
|
-
import { A as AppHandle, C as CreateAppOptions } from './server-
|
|
1
|
+
import { C as CimplifyClient } from './catalogue-OTuS5zp-.js';
|
|
2
|
+
import { A as AppHandle, C as CreateAppOptions } from './server-D29IIuDV.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Test client + fixtures.
|