@popcraft/kit 0.53.15 → 0.53.17
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/dist/chunks/agent-76MOJF7H.js +44 -0
- package/dist/chunks/apply-DU5Y27A4.js +46 -0
- package/dist/chunks/board-export-WOVQZXAV.js +180 -0
- package/dist/chunks/browser-ESQ4ZJ5M.js +179 -0
- package/dist/chunks/build-CD7PZYZQ.js +59 -0
- package/dist/chunks/builtin-O5D2Q6RV.js +117 -0
- package/dist/chunks/buy-credits-2RI5ALP3.js +78 -0
- package/dist/chunks/check-4CFHZG5L.js +56 -0
- package/dist/chunks/check-template-5FJPJLKN.js +2429 -0
- package/dist/chunks/chunk-225CGDGB.js +331 -0
- package/dist/chunks/chunk-22ABGC5R.js +278 -0
- package/dist/chunks/chunk-26FJUWBE.js +146 -0
- package/dist/chunks/chunk-26MQL3LC.js +23 -0
- package/dist/chunks/chunk-2BRKL634.js +115 -0
- package/dist/chunks/chunk-2CHELNR2.js +82 -0
- package/dist/chunks/chunk-2EIS3YL7.js +65 -0
- package/dist/chunks/chunk-2ET2BEM7.js +77 -0
- package/dist/chunks/chunk-2F5MJRGA.js +100 -0
- package/dist/chunks/chunk-2HHHFTZJ.js +145 -0
- package/dist/chunks/chunk-2HIQYYI3.js +80 -0
- package/dist/chunks/chunk-2IOMSXEL.js +150 -0
- package/dist/chunks/chunk-2JOBDTZI.js +114 -0
- package/dist/chunks/chunk-2L75XOCY.js +111 -0
- package/dist/chunks/chunk-2MTDWGFN.js +23 -0
- package/dist/chunks/chunk-2OE7GTMB.js +104 -0
- package/dist/chunks/chunk-2PLD2IZU.js +290 -0
- package/dist/chunks/chunk-2Q64YDDA.js +685 -0
- package/dist/chunks/chunk-2SCIE5TE.js +293 -0
- package/dist/chunks/chunk-2SMJSZK4.js +52 -0
- package/dist/chunks/chunk-2SN54T4Q.js +45 -0
- package/dist/chunks/chunk-2U5VELRB.js +95 -0
- package/dist/chunks/chunk-2V27LOU3.js +728 -0
- package/dist/chunks/chunk-2VLIINJV.js +155 -0
- package/dist/chunks/chunk-2XSPM6VF.js +123 -0
- package/dist/chunks/chunk-2YKUOPBV.js +119 -0
- package/dist/chunks/chunk-2ZA7A2YO.js +368 -0
- package/dist/chunks/chunk-32SDP3T6.js +74 -0
- package/dist/chunks/chunk-34YKGTP4.js +117 -0
- package/dist/chunks/chunk-352KENPF.js +134 -0
- package/dist/chunks/chunk-35VQ3JNS.js +163 -0
- package/dist/chunks/chunk-377C2D3Q.js +283 -0
- package/dist/chunks/chunk-37FNL67H.js +163 -0
- package/dist/chunks/chunk-3BWMLO2A.js +83 -0
- package/dist/chunks/chunk-3CXRCBET.js +175 -0
- package/dist/chunks/chunk-3DDJMZZZ.js +160 -0
- package/dist/chunks/chunk-3DJEPRKG.js +361 -0
- package/dist/chunks/chunk-3E7ZOCVH.js +33 -0
- package/dist/chunks/chunk-3G5BAOST.js +23 -0
- package/dist/chunks/chunk-3GJF7P4O.js +106 -0
- package/dist/chunks/chunk-3H2U6WUL.js +105 -0
- package/dist/chunks/chunk-3HIRQR2B.js +95 -0
- package/dist/chunks/chunk-3IDL5N4G.js +23 -0
- package/dist/chunks/chunk-3JILFBSZ.js +45 -0
- package/dist/chunks/chunk-3L624JFB.js +139 -0
- package/dist/chunks/chunk-3LXX5WGX.js +99 -0
- package/dist/chunks/chunk-3N66OTUZ.js +103 -0
- package/dist/chunks/chunk-3NOPDQE2.js +156 -0
- package/dist/chunks/chunk-3OZW7DTU.js +172 -0
- package/dist/chunks/chunk-3P37R6CX.js +139 -0
- package/dist/chunks/chunk-3PRHM26R.js +345 -0
- package/dist/chunks/chunk-3QD7K3JM.js +23 -0
- package/dist/chunks/chunk-3RJDFQQP.js +163 -0
- package/dist/chunks/chunk-3ROIZRC6.js +270 -0
- package/dist/chunks/chunk-3TKFLTM6.js +263 -0
- package/dist/chunks/chunk-3TXBSHDV.js +222 -0
- package/dist/chunks/chunk-3W2G3BVF.js +180 -0
- package/dist/chunks/chunk-3XIZFWGD.js +100 -0
- package/dist/chunks/chunk-3XKAW6XK.js +106 -0
- package/dist/chunks/chunk-42NVE62P.js +123 -0
- package/dist/chunks/chunk-42YG44HE.js +88 -0
- package/dist/chunks/chunk-44TKMXNY.js +102 -0
- package/dist/chunks/chunk-45DL3TEK.js +85 -0
- package/dist/chunks/chunk-46BBZGXD.js +109 -0
- package/dist/chunks/chunk-46CFAHEL.js +82 -0
- package/dist/chunks/chunk-4B3Z2F3X.js +169 -0
- package/dist/chunks/chunk-4BEUTJ2S.js +170 -0
- package/dist/chunks/chunk-4D2U7SPF.js +151 -0
- package/dist/chunks/chunk-4E2RUPKJ.js +340 -0
- package/dist/chunks/chunk-4EKLOEOH.js +197 -0
- package/dist/chunks/chunk-4G4Z6LG5.js +115 -0
- package/dist/chunks/chunk-4J2XNNKN.js +54 -0
- package/dist/chunks/chunk-4JWNITYL.js +109 -0
- package/dist/chunks/chunk-4JX6DEVQ.js +331 -0
- package/dist/chunks/chunk-4LBJUUPM.js +270 -0
- package/dist/chunks/chunk-4LFGUHMH.js +73 -0
- package/dist/chunks/chunk-4LYE57CO.js +157 -0
- package/dist/chunks/chunk-4MSOWQZD.js +102 -0
- package/dist/chunks/chunk-4MZCDPAX.js +109 -0
- package/dist/chunks/chunk-4NGKPNA7.js +105 -0
- package/dist/chunks/chunk-4OE67IQF.js +57 -0
- package/dist/chunks/chunk-4OZC4GVX.js +92 -0
- package/dist/chunks/chunk-4Q5WQMPL.js +89 -0
- package/dist/chunks/chunk-4QDJJDHC.js +249 -0
- package/dist/chunks/chunk-4RMMSGWC.js +36 -0
- package/dist/chunks/chunk-4UOE2QLJ.js +564 -0
- package/dist/chunks/chunk-4V4VU5EH.js +361 -0
- package/dist/chunks/chunk-4VXTSU36.js +90 -0
- package/dist/chunks/chunk-4YSXG5HB.js +289 -0
- package/dist/chunks/chunk-52ZZQTAG.js +120 -0
- package/dist/chunks/chunk-53334MBZ.js +342 -0
- package/dist/chunks/chunk-53RJWF2A.js +96 -0
- package/dist/chunks/chunk-55JA4IGI.js +156 -0
- package/dist/chunks/chunk-5A5KSH4J.js +150 -0
- package/dist/chunks/chunk-5CQ4RTNX.js +41 -0
- package/dist/chunks/chunk-5EL3KNOU.js +215 -0
- package/dist/chunks/chunk-5G3LYF4H.js +232 -0
- package/dist/chunks/chunk-5GDBBD75.js +358 -0
- package/dist/chunks/chunk-5IP733A3.js +182 -0
- package/dist/chunks/chunk-5OBUZZGH.js +160 -0
- package/dist/chunks/chunk-5RMJ4OGA.js +177 -0
- package/dist/chunks/chunk-5SH3QKHJ.js +23 -0
- package/dist/chunks/chunk-5SKNZFX5.js +105 -0
- package/dist/chunks/chunk-5TR5KFSC.js +33 -0
- package/dist/chunks/chunk-5U6WC57A.js +346 -0
- package/dist/chunks/chunk-5UBMV2O5.js +33 -0
- package/dist/chunks/chunk-5UE4AYBS.js +121 -0
- package/dist/chunks/chunk-5UU2DEWB.js +83 -0
- package/dist/chunks/chunk-5VXZGH4G.js +82 -0
- package/dist/chunks/chunk-5W3EUXLO.js +95 -0
- package/dist/chunks/chunk-5W5CFU5O.js +161 -0
- package/dist/chunks/chunk-5YBX2XPX.js +156 -0
- package/dist/chunks/chunk-635M2PSO.js +258 -0
- package/dist/chunks/chunk-64TN3WOM.js +157 -0
- package/dist/chunks/chunk-64TRA3OH.js +199 -0
- package/dist/chunks/chunk-6624ETKP.js +221 -0
- package/dist/chunks/chunk-66IG2OKK.js +142 -0
- package/dist/chunks/chunk-67RPTCIO.js +81 -0
- package/dist/chunks/chunk-6BHAAHOS.js +23 -0
- package/dist/chunks/chunk-6DJPTVIQ.js +136 -0
- package/dist/chunks/chunk-6E4KKV4A.js +224 -0
- package/dist/chunks/chunk-6F6HZYQ5.js +209 -0
- package/dist/chunks/chunk-6FMORHEV.js +83 -0
- package/dist/chunks/chunk-6G73R67R.js +192 -0
- package/dist/chunks/chunk-6GP6BKVV.js +68 -0
- package/dist/chunks/chunk-6HUACBFK.js +180 -0
- package/dist/chunks/chunk-6JLNCR5P.js +186 -0
- package/dist/chunks/chunk-6KDVETQY.js +157 -0
- package/dist/chunks/chunk-6MGE33SO.js +349 -0
- package/dist/chunks/chunk-6MP32TYS.js +559 -0
- package/dist/chunks/chunk-6MYYLRHP.js +176 -0
- package/dist/chunks/chunk-6RKTYQ5F.js +147 -0
- package/dist/chunks/chunk-6RQEFKHZ.js +88 -0
- package/dist/chunks/chunk-6RTYTKJR.js +503 -0
- package/dist/chunks/chunk-6TLXF664.js +45 -0
- package/dist/chunks/chunk-6US7VWQW.js +446 -0
- package/dist/chunks/chunk-6WFEZ7ZF.js +111 -0
- package/dist/chunks/chunk-6YKV3Y36.js +62 -0
- package/dist/chunks/chunk-6YOYZ465.js +178 -0
- package/dist/chunks/chunk-6ZGE6YHR.js +107 -0
- package/dist/chunks/chunk-733VV7KO.js +165 -0
- package/dist/chunks/chunk-74VY3R6S.js +84 -0
- package/dist/chunks/chunk-75OBYXSZ.js +76 -0
- package/dist/chunks/chunk-7AZVV6TO.js +33 -0
- package/dist/chunks/chunk-7CCW67YO.js +276 -0
- package/dist/chunks/chunk-7CJYZCV2.js +138 -0
- package/dist/chunks/chunk-7CPLNPE4.js +179 -0
- package/dist/chunks/chunk-7CSZFFVV.js +106 -0
- package/dist/chunks/chunk-7D2VEDKQ.js +187 -0
- package/dist/chunks/chunk-7DZSKBXG.js +277 -0
- package/dist/chunks/chunk-7EPPSYAD.js +95 -0
- package/dist/chunks/chunk-7G5PXA7L.js +152 -0
- package/dist/chunks/chunk-7H4NIMSQ.js +598 -0
- package/dist/chunks/chunk-7HPH7NP2.js +49 -0
- package/dist/chunks/chunk-7IYE2GIY.js +94 -0
- package/dist/chunks/chunk-7IYVCV4U.js +36 -0
- package/dist/chunks/chunk-7K575VJF.js +115 -0
- package/dist/chunks/chunk-7LDRQPHH.js +169 -0
- package/dist/chunks/chunk-7LR5N6BW.js +250 -0
- package/dist/chunks/chunk-7MKZHBZS.js +172 -0
- package/dist/chunks/chunk-7MV7RAU5.js +97 -0
- package/dist/chunks/chunk-7N6XWDN7.js +140 -0
- package/dist/chunks/chunk-7NCPYQSS.js +94 -0
- package/dist/chunks/chunk-7OJY3L53.js +345 -0
- package/dist/chunks/chunk-7OYXBOUF.js +47 -0
- package/dist/chunks/chunk-7PNZY5RT.js +1574 -0
- package/dist/chunks/chunk-7PZWSTRZ.js +422 -0
- package/dist/chunks/chunk-7QVW7A46.js +632 -0
- package/dist/chunks/chunk-7RC65Q5B.js +215 -0
- package/dist/chunks/chunk-7SBWQDKN.js +126 -0
- package/dist/chunks/chunk-7SLV66UE.js +178 -0
- package/dist/chunks/chunk-7TNHNBLE.js +220 -0
- package/dist/chunks/chunk-7UCQTTBF.js +262 -0
- package/dist/chunks/chunk-7WJBINCJ.js +122 -0
- package/dist/chunks/chunk-7WPIGW2H.js +77 -0
- package/dist/chunks/chunk-7X5ZTIA5.js +47 -0
- package/dist/chunks/chunk-7YHFW76X.js +134 -0
- package/dist/chunks/chunk-7ZPLEBHW.js +179 -0
- package/dist/chunks/chunk-A3RPVRZL.js +162 -0
- package/dist/chunks/chunk-AABUKO63.js +45 -0
- package/dist/chunks/chunk-AAEKKXZI.js +287 -0
- package/dist/chunks/chunk-AAISBTJW.js +45 -0
- package/dist/chunks/chunk-AB466WWL.js +183 -0
- package/dist/chunks/chunk-ABG6JF26.js +287 -0
- package/dist/chunks/chunk-ACMKFUXU.js +166 -0
- package/dist/chunks/chunk-ACOZAPRW.js +724 -0
- package/dist/chunks/chunk-ADX2BQXD.js +479 -0
- package/dist/chunks/chunk-AE4WJJOA.js +231 -0
- package/dist/chunks/chunk-AEMTNQUB.js +176 -0
- package/dist/chunks/chunk-AFRAXU4Y.js +454 -0
- package/dist/chunks/chunk-AFRVORL5.js +311 -0
- package/dist/chunks/chunk-AFVP23FW.js +122 -0
- package/dist/chunks/chunk-AGDSFGXP.js +69 -0
- package/dist/chunks/chunk-AHLIUBCD.js +197 -0
- package/dist/chunks/chunk-AJDCM2RY.js +47 -0
- package/dist/chunks/chunk-AKB7VPFF.js +23 -0
- package/dist/chunks/chunk-AKONBUJA.js +279 -0
- package/dist/chunks/chunk-AKZ4BLD3.js +102 -0
- package/dist/chunks/chunk-AMGCJ72N.js +75 -0
- package/dist/chunks/chunk-AMQ2XV6E.js +805 -0
- package/dist/chunks/chunk-ASWODCUE.js +214 -0
- package/dist/chunks/chunk-ATZYWSXC.js +358 -0
- package/dist/chunks/chunk-AU3EV6JQ.js +23 -0
- package/dist/chunks/chunk-AUTS5SD4.js +138 -0
- package/dist/chunks/chunk-AW3CT5IU.js +400 -0
- package/dist/chunks/chunk-AXSMLHZ4.js +462 -0
- package/dist/chunks/chunk-AYNAXAVB.js +140 -0
- package/dist/chunks/chunk-AZKDFF6R.js +73 -0
- package/dist/chunks/chunk-B27KFRSZ.js +206 -0
- package/dist/chunks/chunk-B2B7IKFI.js +33 -0
- package/dist/chunks/chunk-B4FB4B2M.js +55 -0
- package/dist/chunks/chunk-B4FO3XGH.js +122 -0
- package/dist/chunks/chunk-B5CZY3UQ.js +141 -0
- package/dist/chunks/chunk-B5GPGCCH.js +334 -0
- package/dist/chunks/chunk-B5YPLQGL.js +77 -0
- package/dist/chunks/chunk-B65TLYA3.js +262 -0
- package/dist/chunks/chunk-B7E2NMBW.js +97 -0
- package/dist/chunks/chunk-BA7HWIM3.js +106 -0
- package/dist/chunks/chunk-BC462KZW.js +135 -0
- package/dist/chunks/chunk-BCSZAKZ5.js +177 -0
- package/dist/chunks/chunk-BDVUOBVZ.js +121 -0
- package/dist/chunks/chunk-BG24VLQT.js +209 -0
- package/dist/chunks/chunk-BGHXYSM5.js +23 -0
- package/dist/chunks/chunk-BKE2FISY.js +33 -0
- package/dist/chunks/chunk-BMN5WDPE.js +129 -0
- package/dist/chunks/chunk-BNWI52VW.js +177 -0
- package/dist/chunks/chunk-BO3VPYFX.js +255 -0
- package/dist/chunks/chunk-BPWP3P6U.js +60 -0
- package/dist/chunks/chunk-BPY3T6MU.js +70 -0
- package/dist/chunks/chunk-BQLNR25F.js +98 -0
- package/dist/chunks/chunk-BRDIN2TK.js +169 -0
- package/dist/chunks/chunk-BRJHEACA.js +38 -0
- package/dist/chunks/chunk-BRVN2KTL.js +100 -0
- package/dist/chunks/chunk-BSQ7B5KJ.js +91 -0
- package/dist/chunks/chunk-BSRKDX73.js +112 -0
- package/dist/chunks/chunk-BXWQUWND.js +53 -0
- package/dist/chunks/chunk-BXXUC6TQ.js +82 -0
- package/dist/chunks/chunk-BYEJOZBH.js +23 -0
- package/dist/chunks/chunk-BZMJ3KJG.js +118 -0
- package/dist/chunks/chunk-C3AYPFIL.js +256 -0
- package/dist/chunks/chunk-C3QJHVOH.js +269 -0
- package/dist/chunks/chunk-C4SDZCPN.js +94 -0
- package/dist/chunks/chunk-C5IZFBAL.js +103 -0
- package/dist/chunks/chunk-C6532WIE.js +33 -0
- package/dist/chunks/chunk-CA5QUGVR.js +181 -0
- package/dist/chunks/chunk-CBKZ3PPW.js +132 -0
- package/dist/chunks/chunk-CHBIRPUP.js +117 -0
- package/dist/chunks/chunk-CJ4HL3BT.js +1307 -0
- package/dist/chunks/chunk-CJBZCMBT.js +152 -0
- package/dist/chunks/chunk-CKDDAHFH.js +282 -0
- package/dist/chunks/chunk-CKQ5FU7Y.js +55 -0
- package/dist/chunks/chunk-COOFG5LY.js +120 -0
- package/dist/chunks/chunk-COSOWDCL.js +23 -0
- package/dist/chunks/chunk-CPWP2FJH.js +436 -0
- package/dist/chunks/chunk-CQIZWJ3U.js +130 -0
- package/dist/chunks/chunk-CRAWQHOV.js +303 -0
- package/dist/chunks/chunk-CRVDLV7T.js +182 -0
- package/dist/chunks/chunk-CVGO6W7E.js +149 -0
- package/dist/chunks/chunk-CWC5D6VO.js +137 -0
- package/dist/chunks/chunk-CWFYZVKE.js +213 -0
- package/dist/chunks/chunk-CWTEFDOR.js +131 -0
- package/dist/chunks/chunk-CXHET46X.js +1309 -0
- package/dist/chunks/chunk-CZKJCMWC.js +110 -0
- package/dist/chunks/chunk-CZT7KVVE.js +33 -0
- package/dist/chunks/chunk-D2PB54XN.js +87 -0
- package/dist/chunks/chunk-D3ISUT3H.js +98 -0
- package/dist/chunks/chunk-D4I7Y7UL.js +226 -0
- package/dist/chunks/chunk-D4SIJHXL.js +36 -0
- package/dist/chunks/chunk-D63LUWJY.js +80 -0
- package/dist/chunks/chunk-DAQUWKXB.js +92 -0
- package/dist/chunks/chunk-DB3TNEJG.js +209 -0
- package/dist/chunks/chunk-DCRT7MJP.js +181 -0
- package/dist/chunks/chunk-DDLUPUIR.js +43 -0
- package/dist/chunks/chunk-DE6TIID4.js +278 -0
- package/dist/chunks/chunk-DEXF6F2Y.js +282 -0
- package/dist/chunks/chunk-DGN7TI3E.js +84 -0
- package/dist/chunks/chunk-DGPCSWSY.js +46 -0
- package/dist/chunks/chunk-DHHCRCXV.js +114 -0
- package/dist/chunks/chunk-DJ3DN3PU.js +30 -0
- package/dist/chunks/chunk-DJ3SLCIB.js +122 -0
- package/dist/chunks/chunk-DM4XBIYR.js +33 -0
- package/dist/chunks/chunk-DNP3LFT2.js +86 -0
- package/dist/chunks/chunk-DPR5IYRW.js +66 -0
- package/dist/chunks/chunk-DQPYGUHD.js +301 -0
- package/dist/chunks/chunk-DRQUD3IB.js +206 -0
- package/dist/chunks/chunk-DS4L6X2G.js +33 -0
- package/dist/chunks/chunk-DVPC2V6R.js +168 -0
- package/dist/chunks/chunk-DWF6SVHC.js +375 -0
- package/dist/chunks/chunk-DWGKFRUU.js +93 -0
- package/dist/chunks/chunk-DXLBHHYO.js +104 -0
- package/dist/chunks/chunk-DY7QHWUY.js +161 -0
- package/dist/chunks/chunk-E4P2HVUD.js +196 -0
- package/dist/chunks/chunk-E57FBB3V.js +127 -0
- package/dist/chunks/chunk-E6V3URIZ.js +130 -0
- package/dist/chunks/chunk-E7TA46ZA.js +335 -0
- package/dist/chunks/chunk-EAQBGXKA.js +183 -0
- package/dist/chunks/chunk-ECMP3FB3.js +320 -0
- package/dist/chunks/chunk-EFGCY2BG.js +119 -0
- package/dist/chunks/chunk-EFTZ7BQN.js +33 -0
- package/dist/chunks/chunk-EH6V6CLN.js +326 -0
- package/dist/chunks/chunk-EK6OQAZ3.js +193 -0
- package/dist/chunks/chunk-EMOTKG4I.js +153 -0
- package/dist/chunks/chunk-EN6RLM7A.js +136 -0
- package/dist/chunks/chunk-ENSWNRVH.js +190 -0
- package/dist/chunks/chunk-EP4W23CI.js +168 -0
- package/dist/chunks/chunk-EPOETXWL.js +185 -0
- package/dist/chunks/chunk-EPUKU5O2.js +122 -0
- package/dist/chunks/chunk-ESAGUZTC.js +55 -0
- package/dist/chunks/chunk-EUMYWGNY.js +79 -0
- package/dist/chunks/chunk-EV44MZ7I.js +198 -0
- package/dist/chunks/chunk-EYHVC3WN.js +207 -0
- package/dist/chunks/chunk-EZ6KPAEN.js +66 -0
- package/dist/chunks/chunk-EZZQVQ7O.js +260 -0
- package/dist/chunks/chunk-F2IHAA2K.js +358 -0
- package/dist/chunks/chunk-F2QT7O7L.js +101 -0
- package/dist/chunks/chunk-F34YNS2W.js +175 -0
- package/dist/chunks/chunk-F3PH77FA.js +303 -0
- package/dist/chunks/chunk-F7G7MWBC.js +412 -0
- package/dist/chunks/chunk-F7QEMSMB.js +100 -0
- package/dist/chunks/chunk-F7VLOIBT.js +112 -0
- package/dist/chunks/chunk-FAX7YEMJ.js +33 -0
- package/dist/chunks/chunk-FAZN7OSU.js +45 -0
- package/dist/chunks/chunk-FBEOLHXI.js +41 -0
- package/dist/chunks/chunk-FBOIC5D7.js +626 -0
- package/dist/chunks/chunk-FCHCNK2W.js +189 -0
- package/dist/chunks/chunk-FE4Z6NJD.js +180 -0
- package/dist/chunks/chunk-FGARU5SL.js +382 -0
- package/dist/chunks/chunk-FHTTVNBU.js +135 -0
- package/dist/chunks/chunk-FIEOXEEA.js +399 -0
- package/dist/chunks/chunk-FJCWXHFT.js +340 -0
- package/dist/chunks/chunk-FJTRN6BF.js +152 -0
- package/dist/chunks/chunk-FNDDYR3K.js +166 -0
- package/dist/chunks/chunk-FNENGVOO.js +263 -0
- package/dist/chunks/chunk-FNWLKUWL.js +212 -0
- package/dist/chunks/chunk-FOXCI6BR.js +174 -0
- package/dist/chunks/chunk-FQM47SFG.js +97 -0
- package/dist/chunks/chunk-FQNJDW7Z.js +33 -0
- package/dist/chunks/chunk-FQOBSWLR.js +195 -0
- package/dist/chunks/chunk-FREDBCRB.js +163 -0
- package/dist/chunks/chunk-FTMAD2W2.js +415 -0
- package/dist/chunks/chunk-FTNOJO35.js +127 -0
- package/dist/chunks/chunk-FW33EQIZ.js +382 -0
- package/dist/chunks/chunk-FWPFRLFX.js +155 -0
- package/dist/chunks/chunk-FWZ3JZY7.js +167 -0
- package/dist/chunks/chunk-FXMXOQNG.js +187 -0
- package/dist/chunks/chunk-FY7OA2O2.js +150 -0
- package/dist/chunks/chunk-FYB4XZPS.js +228 -0
- package/dist/chunks/chunk-FZ54MRFI.js +68 -0
- package/dist/chunks/chunk-G2DIFW6J.js +105 -0
- package/dist/chunks/chunk-G2KO5QNZ.js +162 -0
- package/dist/chunks/chunk-G35SEFIP.js +143 -0
- package/dist/chunks/chunk-G3FJJPZ6.js +247 -0
- package/dist/chunks/chunk-G3MKQ62M.js +141 -0
- package/dist/chunks/chunk-G3VGSDVQ.js +266 -0
- package/dist/chunks/chunk-G3XSFUZZ.js +172 -0
- package/dist/chunks/chunk-G5H3XFI5.js +125 -0
- package/dist/chunks/chunk-G5PRHD4F.js +49 -0
- package/dist/chunks/chunk-G76MGL2H.js +344 -0
- package/dist/chunks/chunk-GBN7YNRK.js +135 -0
- package/dist/chunks/chunk-GCQNJDKS.js +261 -0
- package/dist/chunks/chunk-GCSJ72HI.js +124 -0
- package/dist/chunks/chunk-GCW2HDD5.js +92 -0
- package/dist/chunks/chunk-GD6M754N.js +77 -0
- package/dist/chunks/chunk-GEDVX7C4.js +217 -0
- package/dist/chunks/chunk-GEFJZIV6.js +147 -0
- package/dist/chunks/chunk-GET4FKQL.js +464 -0
- package/dist/chunks/chunk-GFFXEND5.js +197 -0
- package/dist/chunks/chunk-GFVX3BUJ.js +102 -0
- package/dist/chunks/chunk-GGHYID3T.js +39 -0
- package/dist/chunks/chunk-GHCYU4YI.js +181 -0
- package/dist/chunks/chunk-GHXV2UEC.js +320 -0
- package/dist/chunks/chunk-GIT5LD7B.js +120 -0
- package/dist/chunks/chunk-GJFEFZE3.js +159 -0
- package/dist/chunks/chunk-GJICJT5K.js +128 -0
- package/dist/chunks/chunk-GMD4SLIA.js +123 -0
- package/dist/chunks/chunk-GO3PULXR.js +163 -0
- package/dist/chunks/chunk-GQDEIL4H.js +92 -0
- package/dist/chunks/chunk-GQFCFUOO.js +147 -0
- package/dist/chunks/chunk-GRYBU56V.js +159 -0
- package/dist/chunks/chunk-GU6D4V6N.js +166 -0
- package/dist/chunks/chunk-GVGNT3NZ.js +33 -0
- package/dist/chunks/chunk-GW3RMKJ2.js +91 -0
- package/dist/chunks/chunk-GXOW2A3Y.js +76 -0
- package/dist/chunks/chunk-GYZS5CYK.js +107 -0
- package/dist/chunks/chunk-GZSKJUAR.js +61 -0
- package/dist/chunks/chunk-GZZNTUHF.js +1417 -0
- package/dist/chunks/chunk-H3U344JO.js +109 -0
- package/dist/chunks/chunk-H4M3BOOX.js +48 -0
- package/dist/chunks/chunk-H5XR42KN.js +396 -0
- package/dist/chunks/chunk-H6JYMGPO.js +41 -0
- package/dist/chunks/chunk-H7AVV2AW.js +173 -0
- package/dist/chunks/chunk-H7MBJIYF.js +777 -0
- package/dist/chunks/chunk-HAK6SMBF.js +277 -0
- package/dist/chunks/chunk-HBILM5ZI.js +274 -0
- package/dist/chunks/chunk-HBUUYDPB.js +146 -0
- package/dist/chunks/chunk-HDLWKOYI.js +136 -0
- package/dist/chunks/chunk-HGUFVDQV.js +242 -0
- package/dist/chunks/chunk-HGUQPSNH.js +150 -0
- package/dist/chunks/chunk-HH7JMOXE.js +51 -0
- package/dist/chunks/chunk-HHRHOENP.js +81 -0
- package/dist/chunks/chunk-HHXYG4Y5.js +69 -0
- package/dist/chunks/chunk-HITU6VJT.js +366 -0
- package/dist/chunks/chunk-HIVDGUBG.js +33 -0
- package/dist/chunks/chunk-HIZYP5C3.js +23 -0
- package/dist/chunks/chunk-HJGMBVUT.js +97 -0
- package/dist/chunks/chunk-HL3BYQG4.js +87 -0
- package/dist/chunks/chunk-HL3TBZWM.js +194 -0
- package/dist/chunks/chunk-HLPU6QYG.js +53 -0
- package/dist/chunks/chunk-HN2D6F5O.js +201 -0
- package/dist/chunks/chunk-HNTJ7APL.js +221 -0
- package/dist/chunks/chunk-HORELJRP.js +81 -0
- package/dist/chunks/chunk-HP2DN43N.js +283 -0
- package/dist/chunks/chunk-HRWTCF3C.js +60 -0
- package/dist/chunks/chunk-HT55YJST.js +112 -0
- package/dist/chunks/chunk-HT7BFP5R.js +95 -0
- package/dist/chunks/chunk-HVPAHPOC.js +198 -0
- package/dist/chunks/chunk-HVZ3GL7C.js +101 -0
- package/dist/chunks/chunk-I2BCGKS3.js +103 -0
- package/dist/chunks/chunk-I4O4XNYB.js +95 -0
- package/dist/chunks/chunk-I5UMIFGK.js +261 -0
- package/dist/chunks/chunk-IA62JPDC.js +187 -0
- package/dist/chunks/chunk-IA6EDKIQ.js +260 -0
- package/dist/chunks/chunk-IAL55FGC.js +118 -0
- package/dist/chunks/chunk-IALDHRI5.js +1403 -0
- package/dist/chunks/chunk-IDJTQJFV.js +94 -0
- package/dist/chunks/chunk-IDNXJIDV.js +152 -0
- package/dist/chunks/chunk-IEDOBZRV.js +248 -0
- package/dist/chunks/chunk-IEUP32CA.js +487 -0
- package/dist/chunks/chunk-IF53HQFH.js +85 -0
- package/dist/chunks/chunk-IFWYM35M.js +1469 -0
- package/dist/chunks/chunk-IHCQDA74.js +209 -0
- package/dist/chunks/chunk-IHDBNEWT.js +149 -0
- package/dist/chunks/chunk-IIE5QN3S.js +63 -0
- package/dist/chunks/chunk-IIHQOVDG.js +171 -0
- package/dist/chunks/chunk-IIPH3CZZ.js +1852 -0
- package/dist/chunks/chunk-IIUOXIHD.js +94 -0
- package/dist/chunks/chunk-IJGZWUU3.js +112 -0
- package/dist/chunks/chunk-IJWH66OI.js +290 -0
- package/dist/chunks/chunk-ILAOELKG.js +1136 -0
- package/dist/chunks/chunk-IMTVLUTU.js +48 -0
- package/dist/chunks/chunk-IN5FXS6M.js +79 -0
- package/dist/chunks/chunk-INC4XKVM.js +129 -0
- package/dist/chunks/chunk-IO6B4Q4I.js +165 -0
- package/dist/chunks/chunk-IPCPXM7X.js +117 -0
- package/dist/chunks/chunk-IPFKYI7D.js +135 -0
- package/dist/chunks/chunk-IPUL4QGL.js +304 -0
- package/dist/chunks/chunk-IPWGKFZ6.js +116 -0
- package/dist/chunks/chunk-IQJCIB7J.js +150 -0
- package/dist/chunks/chunk-IROX2NUN.js +95 -0
- package/dist/chunks/chunk-ISZHDBND.js +131 -0
- package/dist/chunks/chunk-ITTVAHNJ.js +336 -0
- package/dist/chunks/chunk-IU7VLKH2.js +167 -0
- package/dist/chunks/chunk-IVPREGOO.js +23 -0
- package/dist/chunks/chunk-J2KQ3C7W.js +184 -0
- package/dist/chunks/chunk-J327FFV2.js +71 -0
- package/dist/chunks/chunk-J44VGUYB.js +72 -0
- package/dist/chunks/chunk-J4JEE7JZ.js +95 -0
- package/dist/chunks/chunk-J5ENQUJW.js +33 -0
- package/dist/chunks/chunk-J63YLO23.js +305 -0
- package/dist/chunks/chunk-J6G6GSXC.js +305 -0
- package/dist/chunks/chunk-J6LJXBS3.js +225 -0
- package/dist/chunks/chunk-JA3OCIVB.js +23 -0
- package/dist/chunks/chunk-JAPP7BRV.js +257 -0
- package/dist/chunks/chunk-JB4Z2KPW.js +62 -0
- package/dist/chunks/chunk-JBXUBEVL.js +98 -0
- package/dist/chunks/chunk-JCB55QLJ.js +77 -0
- package/dist/chunks/chunk-JCJQKLL6.js +23 -0
- package/dist/chunks/chunk-JDDW6UXX.js +106 -0
- package/dist/chunks/chunk-JDYUS7QK.js +164 -0
- package/dist/chunks/chunk-JE7ETHMN.js +178 -0
- package/dist/chunks/chunk-JEG6VGTZ.js +163 -0
- package/dist/chunks/chunk-JITPW3BO.js +412 -0
- package/dist/chunks/chunk-JJYT6ZQZ.js +117 -0
- package/dist/chunks/chunk-JKTBEJJ4.js +181 -0
- package/dist/chunks/chunk-JKUP6XSG.js +145 -0
- package/dist/chunks/chunk-JP5FWV34.js +42 -0
- package/dist/chunks/chunk-JPJOYJ2B.js +87 -0
- package/dist/chunks/chunk-JQDWZXM7.js +30 -0
- package/dist/chunks/chunk-JQELUVGO.js +145 -0
- package/dist/chunks/chunk-JSIEJQ2D.js +166 -0
- package/dist/chunks/chunk-JSRYDPJV.js +113 -0
- package/dist/chunks/chunk-JTXMFKHK.js +152 -0
- package/dist/chunks/chunk-JULNV75S.js +23 -0
- package/dist/chunks/chunk-JX362DPK.js +304 -0
- package/dist/chunks/chunk-JXWTHA4V.js +33 -0
- package/dist/chunks/chunk-JYWOBEOT.js +330 -0
- package/dist/chunks/chunk-JZATXODF.js +146 -0
- package/dist/chunks/chunk-JZUKZABH.js +199 -0
- package/dist/chunks/chunk-K2AN5U3M.js +33 -0
- package/dist/chunks/chunk-K34ZN6QA.js +102 -0
- package/dist/chunks/chunk-K3J5E342.js +158 -0
- package/dist/chunks/chunk-K3OFLPXU.js +157 -0
- package/dist/chunks/chunk-K5B43WYP.js +48 -0
- package/dist/chunks/chunk-K63NQAOB.js +340 -0
- package/dist/chunks/chunk-K7GHDHDE.js +78 -0
- package/dist/chunks/chunk-KBKU6RT7.js +468 -0
- package/dist/chunks/chunk-KBNECSEK.js +651 -0
- package/dist/chunks/chunk-KCGJ4Y6H.js +139 -0
- package/dist/chunks/chunk-KD6AV6RF.js +284 -0
- package/dist/chunks/chunk-KDAUASWA.js +171 -0
- package/dist/chunks/chunk-KDCR47BM.js +152 -0
- package/dist/chunks/chunk-KFOZH4FL.js +204 -0
- package/dist/chunks/chunk-KGQUVXV4.js +23 -0
- package/dist/chunks/chunk-KH66TPR7.js +512 -0
- package/dist/chunks/chunk-KH7F27PK.js +224 -0
- package/dist/chunks/chunk-KIG4CRYD.js +226 -0
- package/dist/chunks/chunk-KIRWCAY6.js +78 -0
- package/dist/chunks/chunk-KJ5RCGE6.js +92 -0
- package/dist/chunks/chunk-KKJ6XZW3.js +30 -0
- package/dist/chunks/chunk-KLRWE4MD.js +107 -0
- package/dist/chunks/chunk-KO4IHST2.js +159 -0
- package/dist/chunks/chunk-KOIQU5YO.js +60 -0
- package/dist/chunks/chunk-KOQQF4GE.js +86 -0
- package/dist/chunks/chunk-KP77CNY6.js +338 -0
- package/dist/chunks/chunk-KPQ7J2TO.js +324 -0
- package/dist/chunks/chunk-KRUKQSXN.js +230 -0
- package/dist/chunks/chunk-KTUSAGMU.js +106 -0
- package/dist/chunks/chunk-KX6UCNJU.js +154 -0
- package/dist/chunks/chunk-KXGIHVEW.js +104 -0
- package/dist/chunks/chunk-KYE4EFVS.js +298 -0
- package/dist/chunks/chunk-KYPNEZZB.js +36 -0
- package/dist/chunks/chunk-KZ76VO6Q.js +170 -0
- package/dist/chunks/chunk-L2S3EPUZ.js +170 -0
- package/dist/chunks/chunk-L3SX2ED3.js +146 -0
- package/dist/chunks/chunk-L4ITHRIL.js +226 -0
- package/dist/chunks/chunk-L5YZEJXF.js +484 -0
- package/dist/chunks/chunk-LC3IO6K6.js +84 -0
- package/dist/chunks/chunk-LCLQWQO2.js +73 -0
- package/dist/chunks/chunk-LEA7BPHF.js +87 -0
- package/dist/chunks/chunk-LELF6EOW.js +232 -0
- package/dist/chunks/chunk-LFL6I2WD.js +78 -0
- package/dist/chunks/chunk-LFTWJXP3.js +23 -0
- package/dist/chunks/chunk-LGYVFQRT.js +115 -0
- package/dist/chunks/chunk-LJIMHQ3O.js +33 -0
- package/dist/chunks/chunk-LK5XJSU5.js +312 -0
- package/dist/chunks/chunk-LKE4CK4M.js +71 -0
- package/dist/chunks/chunk-LM3XRBBI.js +192 -0
- package/dist/chunks/chunk-LMPSSWWX.js +91 -0
- package/dist/chunks/chunk-LMWQY2PR.js +282 -0
- package/dist/chunks/chunk-LS2OKX53.js +290 -0
- package/dist/chunks/chunk-LSEA6Q3S.js +23 -0
- package/dist/chunks/chunk-LU3X6PZY.js +244 -0
- package/dist/chunks/chunk-LVENLTN6.js +1845 -0
- package/dist/chunks/chunk-LWBYYOSK.js +147 -0
- package/dist/chunks/chunk-LWISVBYY.js +42 -0
- package/dist/chunks/chunk-LX6HHFRT.js +162 -0
- package/dist/chunks/chunk-LXBUSU3M.js +165 -0
- package/dist/chunks/chunk-LXS5XXVA.js +23 -0
- package/dist/chunks/chunk-LY3FIJTG.js +23 -0
- package/dist/chunks/chunk-M32SAPIS.js +238 -0
- package/dist/chunks/chunk-M5LUO522.js +77 -0
- package/dist/chunks/chunk-M6QBSKBS.js +120 -0
- package/dist/chunks/chunk-M7DATATD.js +23 -0
- package/dist/chunks/chunk-M7NKRMEO.js +75 -0
- package/dist/chunks/chunk-MBQ55SZJ.js +130 -0
- package/dist/chunks/chunk-MCCNC6GQ.js +164 -0
- package/dist/chunks/chunk-MEEB2X3B.js +11584 -0
- package/dist/chunks/chunk-MEGDL4VI.js +88 -0
- package/dist/chunks/chunk-MFNNNPWO.js +108 -0
- package/dist/chunks/chunk-MHPOXIOV.js +77 -0
- package/dist/chunks/chunk-MHURWUMC.js +224 -0
- package/dist/chunks/chunk-MIJEKD2O.js +217 -0
- package/dist/chunks/chunk-MIVLENTU.js +361 -0
- package/dist/chunks/chunk-MKIWRHPP.js +133 -0
- package/dist/chunks/chunk-MKYYMBJB.js +144 -0
- package/dist/chunks/chunk-MMEQ433U.js +147 -0
- package/dist/chunks/chunk-MMSRILN2.js +188 -0
- package/dist/chunks/chunk-MN6ELIXO.js +63 -0
- package/dist/chunks/chunk-MO4ANTW2.js +33 -0
- package/dist/chunks/chunk-MPK2PQMV.js +112 -0
- package/dist/chunks/chunk-MPYWPMEU.js +189 -0
- package/dist/chunks/chunk-MQIOGZMJ.js +110 -0
- package/dist/chunks/chunk-MR3M7M2F.js +96 -0
- package/dist/chunks/chunk-MRWU6TZR.js +103 -0
- package/dist/chunks/chunk-MUOTQRR5.js +176 -0
- package/dist/chunks/chunk-MV4KOKTW.js +44 -0
- package/dist/chunks/chunk-MVCFJPXR.js +242 -0
- package/dist/chunks/chunk-MVUSJNIN.js +45 -0
- package/dist/chunks/chunk-MWXTPETX.js +110 -0
- package/dist/chunks/chunk-MZ5LYV6R.js +119 -0
- package/dist/chunks/chunk-MZEF34EN.js +250 -0
- package/dist/chunks/chunk-MZQ4CVJX.js +200 -0
- package/dist/chunks/chunk-N26BHOJG.js +368 -0
- package/dist/chunks/chunk-N27IDMUQ.js +116 -0
- package/dist/chunks/chunk-N3WQSMMF.js +130 -0
- package/dist/chunks/chunk-N52JFKQ6.js +96 -0
- package/dist/chunks/chunk-N6T6XKGC.js +200 -0
- package/dist/chunks/chunk-NAVPSUK5.js +97 -0
- package/dist/chunks/chunk-NAXSGXBD.js +422 -0
- package/dist/chunks/chunk-NBGOXIL5.js +351 -0
- package/dist/chunks/chunk-NBRETRWH.js +128 -0
- package/dist/chunks/chunk-NEAOVORI.js +80 -0
- package/dist/chunks/chunk-NECLWJU6.js +118 -0
- package/dist/chunks/chunk-NEOA4U5H.js +110 -0
- package/dist/chunks/chunk-NF52JVKA.js +103 -0
- package/dist/chunks/chunk-NGWKFHC3.js +158 -0
- package/dist/chunks/chunk-NH42V7UK.js +210 -0
- package/dist/chunks/chunk-NHOELBMC.js +77 -0
- package/dist/chunks/chunk-NJJITI7I.js +138 -0
- package/dist/chunks/chunk-NK662OBJ.js +191 -0
- package/dist/chunks/chunk-NLBWZ6J2.js +425 -0
- package/dist/chunks/chunk-NM3JGEZV.js +304 -0
- package/dist/chunks/chunk-NM3T67C2.js +42 -0
- package/dist/chunks/chunk-NME2EZWN.js +123 -0
- package/dist/chunks/chunk-NNXD3Z5I.js +102 -0
- package/dist/chunks/chunk-NOUGFUDW.js +261 -0
- package/dist/chunks/chunk-NP6MZL3B.js +260 -0
- package/dist/chunks/chunk-NPG5ABAN.js +153 -0
- package/dist/chunks/chunk-NRGBLA6W.js +44 -0
- package/dist/chunks/chunk-NTGVCKUE.js +133 -0
- package/dist/chunks/chunk-NUPHOPPJ.js +198 -0
- package/dist/chunks/chunk-NXBNB6R6.js +156 -0
- package/dist/chunks/chunk-NY2CK75G.js +179 -0
- package/dist/chunks/chunk-NYBI6XZU.js +86 -0
- package/dist/chunks/chunk-O7JJTUU4.js +307 -0
- package/dist/chunks/chunk-O7ZOZIJC.js +689 -0
- package/dist/chunks/chunk-OAZ7DNEZ.js +23 -0
- package/dist/chunks/chunk-OB4OGU6R.js +70 -0
- package/dist/chunks/chunk-OBBNV6XI.js +51 -0
- package/dist/chunks/chunk-OCPUPY2J.js +214 -0
- package/dist/chunks/chunk-ODVP3Y7Q.js +97 -0
- package/dist/chunks/chunk-OEPEZG72.js +150 -0
- package/dist/chunks/chunk-OETQCBYQ.js +23 -0
- package/dist/chunks/chunk-OFCRTUFZ.js +121 -0
- package/dist/chunks/chunk-OFJFQT4U.js +237 -0
- package/dist/chunks/chunk-OFVROCFD.js +52 -0
- package/dist/chunks/chunk-OH3D7BII.js +95 -0
- package/dist/chunks/chunk-OKJZV2U6.js +122 -0
- package/dist/chunks/chunk-OKLRZKV7.js +298 -0
- package/dist/chunks/chunk-OMMPXE4Y.js +64 -0
- package/dist/chunks/chunk-ON3VK5HH.js +112 -0
- package/dist/chunks/chunk-ONVUBE6W.js +87 -0
- package/dist/chunks/chunk-OOV5YIEH.js +197 -0
- package/dist/chunks/chunk-OS3ZECTM.js +89 -0
- package/dist/chunks/chunk-OV4AWFQ3.js +146 -0
- package/dist/chunks/chunk-OZIWTCKD.js +195 -0
- package/dist/chunks/chunk-OZKRNF26.js +220 -0
- package/dist/chunks/chunk-P5AQ7SLX.js +255 -0
- package/dist/chunks/chunk-P5O3YSEJ.js +149 -0
- package/dist/chunks/chunk-P6S4WO5U.js +119 -0
- package/dist/chunks/chunk-P7276NZD.js +99 -0
- package/dist/chunks/chunk-PBIRTWPK.js +106 -0
- package/dist/chunks/chunk-PDKQKQQL.js +164 -0
- package/dist/chunks/chunk-PDPNB5YB.js +327 -0
- package/dist/chunks/chunk-PDQSGUKM.js +70 -0
- package/dist/chunks/chunk-PE3NY6ZS.js +738 -0
- package/dist/chunks/chunk-PF626ARB.js +36 -0
- package/dist/chunks/chunk-PFIIW4QC.js +304 -0
- package/dist/chunks/chunk-PGYRFQ33.js +152 -0
- package/dist/chunks/chunk-PIK67672.js +33 -0
- package/dist/chunks/chunk-PKKTZSIS.js +165 -0
- package/dist/chunks/chunk-PLTTTYDN.js +33 -0
- package/dist/chunks/chunk-POH2REP7.js +251 -0
- package/dist/chunks/chunk-POZILXX2.js +174 -0
- package/dist/chunks/chunk-PPH5VJO6.js +327 -0
- package/dist/chunks/chunk-PQHJVTES.js +273 -0
- package/dist/chunks/chunk-PRBNYGIM.js +93 -0
- package/dist/chunks/chunk-PS56CALT.js +934 -0
- package/dist/chunks/chunk-PSRXSY3J.js +185 -0
- package/dist/chunks/chunk-PTB2RA5X.js +194 -0
- package/dist/chunks/chunk-PTMHKRXO.js +93 -0
- package/dist/chunks/chunk-PUOZWUUH.js +93 -0
- package/dist/chunks/chunk-PVWJ4U2Y.js +78 -0
- package/dist/chunks/chunk-PWSNBMCR.js +200 -0
- package/dist/chunks/chunk-PWVCCDGV.js +336 -0
- package/dist/chunks/chunk-PYFJMHGD.js +198 -0
- package/dist/chunks/chunk-PYI642RX.js +97 -0
- package/dist/chunks/chunk-PYW5AKNW.js +101 -0
- package/dist/chunks/chunk-PZ47Z3YO.js +108 -0
- package/dist/chunks/chunk-Q3NZDZOA.js +140 -0
- package/dist/chunks/chunk-Q5GHOGMI.js +366 -0
- package/dist/chunks/chunk-QA7L66EV.js +378 -0
- package/dist/chunks/chunk-QAOEZWFN.js +235 -0
- package/dist/chunks/chunk-QB6CZ2XR.js +1133 -0
- package/dist/chunks/chunk-QBGOVCSD.js +169 -0
- package/dist/chunks/chunk-QBJ3Q52C.js +155 -0
- package/dist/chunks/chunk-QDAHJ7U6.js +190 -0
- package/dist/chunks/chunk-QDPVGJHN.js +237 -0
- package/dist/chunks/chunk-QDTPEED6.js +130 -0
- package/dist/chunks/chunk-QENC26QB.js +414 -0
- package/dist/chunks/chunk-QEWOBZZA.js +112 -0
- package/dist/chunks/chunk-QF37ZS5N.js +272 -0
- package/dist/chunks/chunk-QHRZ6MR2.js +33 -0
- package/dist/chunks/chunk-QI3MZQP2.js +105 -0
- package/dist/chunks/chunk-QJJ2CQIP.js +231 -0
- package/dist/chunks/chunk-QJSXJXIK.js +447 -0
- package/dist/chunks/chunk-QJU5LRJX.js +300 -0
- package/dist/chunks/chunk-QLKYGYSU.js +166 -0
- package/dist/chunks/chunk-QLWZUZKT.js +411 -0
- package/dist/chunks/chunk-QLXSAVWQ.js +339 -0
- package/dist/chunks/chunk-QME2GTQU.js +90 -0
- package/dist/chunks/chunk-QMFEHX6Z.js +293 -0
- package/dist/chunks/chunk-QMKXWRZY.js +111 -0
- package/dist/chunks/chunk-QOBT7OK7.js +33 -0
- package/dist/chunks/chunk-QPA7A3CO.js +79 -0
- package/dist/chunks/chunk-QPF2SKHI.js +98 -0
- package/dist/chunks/chunk-QQAV3ZR7.js +71 -0
- package/dist/chunks/chunk-QSJ3DHNR.js +209 -0
- package/dist/chunks/chunk-QSKNSL5L.js +80 -0
- package/dist/chunks/chunk-QSQYJZKO.js +84 -0
- package/dist/chunks/chunk-QVJVZNZA.js +154 -0
- package/dist/chunks/chunk-QVYFLXAC.js +100 -0
- package/dist/chunks/chunk-QYAP2JO3.js +33 -0
- package/dist/chunks/chunk-QZ346OEZ.js +266 -0
- package/dist/chunks/chunk-QZONZXSK.js +83 -0
- package/dist/chunks/chunk-QZR7FEIA.js +177 -0
- package/dist/chunks/chunk-R24OP6EC.js +297 -0
- package/dist/chunks/chunk-R2O7FLZY.js +428 -0
- package/dist/chunks/chunk-R3G6KDT3.js +80 -0
- package/dist/chunks/chunk-R5I62TBJ.js +202 -0
- package/dist/chunks/chunk-R5W5LPBQ.js +146 -0
- package/dist/chunks/chunk-R7WNWKNY.js +94 -0
- package/dist/chunks/chunk-REYL4OWE.js +407 -0
- package/dist/chunks/chunk-RJVFR5MB.js +291 -0
- package/dist/chunks/chunk-RKKZWF54.js +23 -0
- package/dist/chunks/chunk-RLSZVK2V.js +94 -0
- package/dist/chunks/chunk-RNHJPEGD.js +23 -0
- package/dist/chunks/chunk-ROIDWBDQ.js +941 -0
- package/dist/chunks/chunk-RPQDR2MO.js +183 -0
- package/dist/chunks/chunk-RRFIBPCZ.js +104 -0
- package/dist/chunks/chunk-RRIZZDDA.js +215 -0
- package/dist/chunks/chunk-RSC6I76U.js +90 -0
- package/dist/chunks/chunk-RSKNBH67.js +248 -0
- package/dist/chunks/chunk-RT2KX6H6.js +45 -0
- package/dist/chunks/chunk-RXNVRMOV.js +115 -0
- package/dist/chunks/chunk-RYAEEBVK.js +97 -0
- package/dist/chunks/chunk-RYFMCY22.js +151 -0
- package/dist/chunks/chunk-RZEN6APR.js +79 -0
- package/dist/chunks/chunk-S4XWFY7C.js +172 -0
- package/dist/chunks/chunk-S52N3BDG.js +390 -0
- package/dist/chunks/chunk-S5CRD25O.js +49 -0
- package/dist/chunks/chunk-S5I3JPWW.js +225 -0
- package/dist/chunks/chunk-SAUZ2HYM.js +1975 -0
- package/dist/chunks/chunk-SBJPGN7G.js +115 -0
- package/dist/chunks/chunk-SELEMFEP.js +130 -0
- package/dist/chunks/chunk-SFHL73L3.js +224 -0
- package/dist/chunks/chunk-SFY3CEQV.js +93 -0
- package/dist/chunks/chunk-SIDPJ47L.js +45 -0
- package/dist/chunks/chunk-SIQP5SZW.js +118 -0
- package/dist/chunks/chunk-SKXSFC3J.js +234 -0
- package/dist/chunks/chunk-SL3ANFH3.js +84 -0
- package/dist/chunks/chunk-SOAYY56N.js +196 -0
- package/dist/chunks/chunk-SQXR5XXR.js +118 -0
- package/dist/chunks/chunk-SQYUYXF3.js +53 -0
- package/dist/chunks/chunk-SU3SCCIP.js +78 -0
- package/dist/chunks/chunk-SUK5KGLR.js +50 -0
- package/dist/chunks/chunk-SWWRBMFL.js +50 -0
- package/dist/chunks/chunk-SX6HH7J3.js +626 -0
- package/dist/chunks/chunk-SYFFDLTA.js +45 -0
- package/dist/chunks/chunk-SZUFB2EW.js +261 -0
- package/dist/chunks/chunk-T3LI7ZLN.js +75 -0
- package/dist/chunks/chunk-T5SWN3DM.js +45 -0
- package/dist/chunks/chunk-T6T422YQ.js +204 -0
- package/dist/chunks/chunk-T7ZEDS2D.js +30 -0
- package/dist/chunks/chunk-TAAWVAY3.js +93 -0
- package/dist/chunks/chunk-TAJ6SDYH.js +163 -0
- package/dist/chunks/chunk-TCB64QEC.js +149 -0
- package/dist/chunks/chunk-TCUQJD3X.js +23 -0
- package/dist/chunks/chunk-TDTVQLQM.js +59 -0
- package/dist/chunks/chunk-TFIYLIN2.js +23 -0
- package/dist/chunks/chunk-TG6HCAI3.js +202 -0
- package/dist/chunks/chunk-THLP5SHH.js +363 -0
- package/dist/chunks/chunk-THXALPWF.js +100 -0
- package/dist/chunks/chunk-TJ2AXRF5.js +23 -0
- package/dist/chunks/chunk-TJYZR6XR.js +133 -0
- package/dist/chunks/chunk-TK65IWBN.js +106 -0
- package/dist/chunks/chunk-TKF25C2N.js +139 -0
- package/dist/chunks/chunk-TKGN3UZI.js +251 -0
- package/dist/chunks/chunk-TKJJIR4E.js +101 -0
- package/dist/chunks/chunk-TLDOUWPM.js +93 -0
- package/dist/chunks/chunk-TLUWXMSR.js +70 -0
- package/dist/chunks/chunk-TLV7IEUJ.js +81 -0
- package/dist/chunks/chunk-TMS7LSRR.js +122 -0
- package/dist/chunks/chunk-TNIEEUZY.js +307 -0
- package/dist/chunks/chunk-TNYQOHOA.js +204 -0
- package/dist/chunks/chunk-TRBBCKBY.js +23 -0
- package/dist/chunks/chunk-TRJWKRQH.js +162 -0
- package/dist/chunks/chunk-TRM6Q5Y4.js +191 -0
- package/dist/chunks/chunk-TRO3VNSA.js +267 -0
- package/dist/chunks/chunk-TS4HYT33.js +141 -0
- package/dist/chunks/chunk-TT5YBVZW.js +139 -0
- package/dist/chunks/chunk-TTIJ4YXX.js +544 -0
- package/dist/chunks/chunk-TUQWILJQ.js +265 -0
- package/dist/chunks/chunk-TWAQ4JYR.js +54 -0
- package/dist/chunks/chunk-TWGUKGXQ.js +140 -0
- package/dist/chunks/chunk-TXEWYX4G.js +41 -0
- package/dist/chunks/chunk-TXGTV37H.js +111 -0
- package/dist/chunks/chunk-TY2VTLVM.js +155 -0
- package/dist/chunks/chunk-TY5JO5XW.js +391 -0
- package/dist/chunks/chunk-TYU7CV3N.js +196 -0
- package/dist/chunks/chunk-TYY4OSMI.js +113 -0
- package/dist/chunks/chunk-TZ3H7GPK.js +122 -0
- package/dist/chunks/chunk-U42DT7HB.js +74 -0
- package/dist/chunks/chunk-U4GQXAAI.js +122 -0
- package/dist/chunks/chunk-U4KGS2TD.js +108 -0
- package/dist/chunks/chunk-U4N4XNEW.js +147 -0
- package/dist/chunks/chunk-U66ZYQGV.js +99 -0
- package/dist/chunks/chunk-U6JTO4PV.js +390 -0
- package/dist/chunks/chunk-U6OKU7J4.js +28 -0
- package/dist/chunks/chunk-U7DBNXVX.js +55 -0
- package/dist/chunks/chunk-U7XK37ZJ.js +36 -0
- package/dist/chunks/chunk-UBADA3AL.js +86 -0
- package/dist/chunks/chunk-UDE7BPVA.js +362 -0
- package/dist/chunks/chunk-UDR7AGZZ.js +142 -0
- package/dist/chunks/chunk-UFEI3HFR.js +218 -0
- package/dist/chunks/chunk-UHB52X5G.js +1393 -0
- package/dist/chunks/chunk-UISSE5CI.js +90 -0
- package/dist/chunks/chunk-UIT67KYK.js +133 -0
- package/dist/chunks/chunk-UJYNYGKT.js +161 -0
- package/dist/chunks/chunk-ULKBUG74.js +70 -0
- package/dist/chunks/chunk-ULLEJK2N.js +149 -0
- package/dist/chunks/chunk-ULVERK2N.js +33 -0
- package/dist/chunks/chunk-UMYZNQNL.js +368 -0
- package/dist/chunks/chunk-UNF7OQKW.js +203 -0
- package/dist/chunks/chunk-UNHEQZO3.js +386 -0
- package/dist/chunks/chunk-UPSZXMHL.js +105 -0
- package/dist/chunks/chunk-UQ3MBC5K.js +208 -0
- package/dist/chunks/chunk-UQWSO5XW.js +23 -0
- package/dist/chunks/chunk-UTA5CRET.js +239 -0
- package/dist/chunks/chunk-UTLYPHGD.js +127 -0
- package/dist/chunks/chunk-UUO7ICVR.js +172 -0
- package/dist/chunks/chunk-UW7QPO4L.js +160 -0
- package/dist/chunks/chunk-UXNXHMBD.js +10280 -0
- package/dist/chunks/chunk-V4726EXQ.js +23 -0
- package/dist/chunks/chunk-V4NB2WEF.js +33 -0
- package/dist/chunks/chunk-VAGGM7VU.js +514 -0
- package/dist/chunks/chunk-VBYZ65RU.js +329 -0
- package/dist/chunks/chunk-VF7FGAW3.js +196 -0
- package/dist/chunks/chunk-VGWZWHBW.js +86 -0
- package/dist/chunks/chunk-VHEORKFU.js +45 -0
- package/dist/chunks/chunk-VHFS4CUK.js +274 -0
- package/dist/chunks/chunk-VIP5LUYQ.js +71 -0
- package/dist/chunks/chunk-VITVJPA5.js +50 -0
- package/dist/chunks/chunk-VJGGMYYF.js +112 -0
- package/dist/chunks/chunk-VJYQBCNG.js +110 -0
- package/dist/chunks/chunk-VMWP2VJJ.js +23 -0
- package/dist/chunks/chunk-VPXAM23Y.js +443 -0
- package/dist/chunks/chunk-VQ6B3FLR.js +41 -0
- package/dist/chunks/chunk-VQQFOUWH.js +497 -0
- package/dist/chunks/chunk-VRGEEHBR.js +10467 -0
- package/dist/chunks/chunk-VXGEZNIT.js +33 -0
- package/dist/chunks/chunk-VXKLD3UX.js +342 -0
- package/dist/chunks/chunk-VYOUIMBA.js +567 -0
- package/dist/chunks/chunk-W2AKVE6C.js +78 -0
- package/dist/chunks/chunk-W2B36EQR.js +126 -0
- package/dist/chunks/chunk-W2P5XUAY.js +104 -0
- package/dist/chunks/chunk-W2X4FLT3.js +131 -0
- package/dist/chunks/chunk-W3THXHJH.js +173 -0
- package/dist/chunks/chunk-W4YXOH6R.js +97 -0
- package/dist/chunks/chunk-W626CYAE.js +85 -0
- package/dist/chunks/chunk-W6LGFNFO.js +50 -0
- package/dist/chunks/chunk-W7K6LTEF.js +240 -0
- package/dist/chunks/chunk-WA5VE3IS.js +33 -0
- package/dist/chunks/chunk-WCIRDN6E.js +115 -0
- package/dist/chunks/chunk-WCVIYQCA.js +49 -0
- package/dist/chunks/chunk-WCXENN5K.js +84 -0
- package/dist/chunks/chunk-WDIXRIYG.js +97 -0
- package/dist/chunks/chunk-WEKKYQXB.js +177 -0
- package/dist/chunks/chunk-WHMGD4F5.js +97 -0
- package/dist/chunks/chunk-WILFR772.js +23 -0
- package/dist/chunks/chunk-WIOL65VA.js +39 -0
- package/dist/chunks/chunk-WJ5CPANI.js +262 -0
- package/dist/chunks/chunk-WJ735FB7.js +23 -0
- package/dist/chunks/chunk-WJWCL4YF.js +210 -0
- package/dist/chunks/chunk-WOC6YNM7.js +23 -0
- package/dist/chunks/chunk-WQ2OVNVQ.js +75 -0
- package/dist/chunks/chunk-WQ3UF5VS.js +33 -0
- package/dist/chunks/chunk-WQ45H2GK.js +206 -0
- package/dist/chunks/chunk-WQ7V7FVE.js +128 -0
- package/dist/chunks/chunk-WQNCJXP7.js +108 -0
- package/dist/chunks/chunk-WRFEEK32.js +251 -0
- package/dist/chunks/chunk-WT42YWX3.js +218 -0
- package/dist/chunks/chunk-WT75E52P.js +80 -0
- package/dist/chunks/chunk-WV44P6ST.js +23 -0
- package/dist/chunks/chunk-WVFLNPTS.js +65 -0
- package/dist/chunks/chunk-WX2FL7NN.js +23 -0
- package/dist/chunks/chunk-X2OY77W2.js +36 -0
- package/dist/chunks/chunk-X2U3CKRP.js +153 -0
- package/dist/chunks/chunk-X3EEDCWT.js +105 -0
- package/dist/chunks/chunk-X5K4XNZ4.js +80 -0
- package/dist/chunks/chunk-X7L3KLMT.js +123 -0
- package/dist/chunks/chunk-XDYOTFXH.js +338 -0
- package/dist/chunks/chunk-XE4WI3VQ.js +79 -0
- package/dist/chunks/chunk-XE7EKBXM.js +48 -0
- package/dist/chunks/chunk-XE7WSGHZ.js +589 -0
- package/dist/chunks/chunk-XFE3A7I4.js +106 -0
- package/dist/chunks/chunk-XFHH3I6X.js +173 -0
- package/dist/chunks/chunk-XIE4I32D.js +23 -0
- package/dist/chunks/chunk-XIRMEUM3.js +87 -0
- package/dist/chunks/chunk-XK54ZTFX.js +2700 -0
- package/dist/chunks/chunk-XKQLKVJ2.js +55 -0
- package/dist/chunks/chunk-XNG24RPG.js +198 -0
- package/dist/chunks/chunk-XPD7HFSA.js +91 -0
- package/dist/chunks/chunk-XQIFZ7PQ.js +153 -0
- package/dist/chunks/chunk-XS7EEDPC.js +161 -0
- package/dist/chunks/chunk-XU7TS7IV.js +315 -0
- package/dist/chunks/chunk-XUBWAGKC.js +405 -0
- package/dist/chunks/chunk-XUM5E6RH.js +151 -0
- package/dist/chunks/chunk-XWNKG7KH.js +41 -0
- package/dist/chunks/chunk-XX2TWKED.js +84 -0
- package/dist/chunks/chunk-XXTLON7T.js +156 -0
- package/dist/chunks/chunk-Y2WRWHZW.js +74 -0
- package/dist/chunks/chunk-Y6EQIE6S.js +182 -0
- package/dist/chunks/chunk-Y6QUJA4R.js +192 -0
- package/dist/chunks/chunk-Y75VOVR5.js +23 -0
- package/dist/chunks/chunk-YAKOCTRU.js +151 -0
- package/dist/chunks/chunk-YBOZILLQ.js +84 -0
- package/dist/chunks/chunk-YBTR7QMZ.js +33 -0
- package/dist/chunks/chunk-YCNIPOHW.js +337 -0
- package/dist/chunks/chunk-YDBDPSMH.js +184 -0
- package/dist/chunks/chunk-YDWLZR6J.js +191 -0
- package/dist/chunks/chunk-YEIDFPFE.js +252 -0
- package/dist/chunks/chunk-YEMEPGYE.js +90 -0
- package/dist/chunks/chunk-YK3EMJB7.js +231 -0
- package/dist/chunks/chunk-YK7O3AQA.js +313 -0
- package/dist/chunks/chunk-YKXWW3NB.js +36 -0
- package/dist/chunks/chunk-YLNK64NW.js +488 -0
- package/dist/chunks/chunk-YN7EORVO.js +1314 -0
- package/dist/chunks/chunk-YOG7O73S.js +108 -0
- package/dist/chunks/chunk-YOY75SOE.js +170 -0
- package/dist/chunks/chunk-YPQ2HVYL.js +299 -0
- package/dist/chunks/chunk-YPSAIKG4.js +78 -0
- package/dist/chunks/chunk-YPZVBVWR.js +85 -0
- package/dist/chunks/chunk-YRHIKOL2.js +45 -0
- package/dist/chunks/chunk-YS5B556Z.js +161 -0
- package/dist/chunks/chunk-YTMSG6KQ.js +213 -0
- package/dist/chunks/chunk-YTVPPKCZ.js +81 -0
- package/dist/chunks/chunk-YUW7I33N.js +83 -0
- package/dist/chunks/chunk-YV6MPPXE.js +137 -0
- package/dist/chunks/chunk-YWBO5ISN.js +392 -0
- package/dist/chunks/chunk-YWDSW2MO.js +33 -0
- package/dist/chunks/chunk-YWTLU5CB.js +100 -0
- package/dist/chunks/chunk-YX6EACTT.js +170 -0
- package/dist/chunks/chunk-YYBAOBEE.js +23 -0
- package/dist/chunks/chunk-YYUIDZSA.js +100 -0
- package/dist/chunks/chunk-YZBQKFUW.js +89 -0
- package/dist/chunks/chunk-YZYQTXAK.js +889 -0
- package/dist/chunks/chunk-Z4QBBQ2J.js +125 -0
- package/dist/chunks/chunk-Z4TGMFEE.js +45 -0
- package/dist/chunks/chunk-Z55U7XJA.js +100 -0
- package/dist/chunks/chunk-ZAJTOI3V.js +317 -0
- package/dist/chunks/chunk-ZAML5ZL6.js +104 -0
- package/dist/chunks/chunk-ZAXJN543.js +480 -0
- package/dist/chunks/chunk-ZBCWLT6S.js +82 -0
- package/dist/chunks/chunk-ZCY2UG7Y.js +141 -0
- package/dist/chunks/chunk-ZEERADTI.js +961 -0
- package/dist/chunks/chunk-ZEOVW6FW.js +145 -0
- package/dist/chunks/chunk-ZFJRANCZ.js +261 -0
- package/dist/chunks/chunk-ZFM3FFM2.js +172 -0
- package/dist/chunks/chunk-ZGONCT63.js +478 -0
- package/dist/chunks/chunk-ZHBJGQ52.js +174 -0
- package/dist/chunks/chunk-ZHY5QPUE.js +108 -0
- package/dist/chunks/chunk-ZIOF5AO6.js +104 -0
- package/dist/chunks/chunk-ZIUUWIDV.js +135 -0
- package/dist/chunks/chunk-ZM74XQGT.js +194 -0
- package/dist/chunks/chunk-ZMZA3QOR.js +124 -0
- package/dist/chunks/chunk-ZONYE2OI.js +163 -0
- package/dist/chunks/chunk-ZOQOGWAT.js +360 -0
- package/dist/chunks/chunk-ZPQZPAMR.js +898 -0
- package/dist/chunks/chunk-ZTEDLAI3.js +45 -0
- package/dist/chunks/chunk-ZTIQWT3R.js +128 -0
- package/dist/chunks/chunk-ZVISQBYU.js +130 -0
- package/dist/chunks/chunk-ZWRNJWWT.js +155 -0
- package/dist/chunks/chunk-ZX64TIVJ.js +1703 -0
- package/dist/chunks/chunk-ZXHE6Q6N.js +282 -0
- package/dist/chunks/client-3EX4LVI6.js +46 -0
- package/dist/chunks/client-N525NCFB.js +167 -0
- package/dist/chunks/client-RIPJA5PK.js +31 -0
- package/dist/chunks/client-actions-232DIA3G.js +166 -0
- package/dist/chunks/components-WHVIHV3K.js +72 -0
- package/dist/chunks/dangerous-2CPJMLP6.js +120 -0
- package/dist/chunks/delete-current-file-IVQD2M3K.js +159 -0
- package/dist/chunks/document-library-OWC7PAQ2.js +64 -0
- package/dist/chunks/editor-seams-AFXFNM6K.js +166 -0
- package/dist/chunks/editor-store-ZFR2ZHNM.js +143 -0
- package/dist/chunks/export-FWVSW5AN.js +68 -0
- package/dist/chunks/export-watermark-KT25FYVD.js +152 -0
- package/dist/chunks/eyedropper-W6X2VHUB.js +354 -0
- package/dist/chunks/generate-media-Y3NYLLSS.js +255 -0
- package/dist/chunks/headless-7TWKKV35.js +186 -0
- package/dist/chunks/host-PKGEIJZF.js +178 -0
- package/dist/chunks/host-T6GUCQH4.js +240 -0
- package/dist/chunks/import-NKJ6ICG4.js +702 -0
- package/dist/chunks/import-merge-YW6UGHX2.js +39 -0
- package/dist/chunks/instances-DEVC6W2U.js +79 -0
- package/dist/chunks/integrations-4NFCLH3S.js +124 -0
- package/dist/chunks/invariants-CHE4TKXX.js +62 -0
- package/dist/chunks/kit-modules-D4AGSZGD.js +18 -0
- package/dist/chunks/libraries-565L4UXX.js +307 -0
- package/dist/chunks/library-previews-I6U7ROYU.js +199 -0
- package/dist/chunks/live-X3AP4MHF.js +317 -0
- package/dist/chunks/lottie-AGAHYTZE.js +86 -0
- package/dist/chunks/media-tool-HVMNAVAE.js +342 -0
- package/dist/chunks/new-file-Z7EJFO2J.js +136 -0
- package/dist/chunks/next-commerce-6DJGAC6K.js +67 -0
- package/dist/chunks/page-thumbnails-4ZUWGOQN.js +137 -0
- package/dist/chunks/pdf-X3ZB6QKO.js +1217 -0
- package/dist/chunks/pdf-import-CWM3YJBY.js +370 -0
- package/dist/chunks/plan-4CD2KFNS.js +82 -0
- package/dist/chunks/player-check-ZGWLAHXY.js +114 -0
- package/dist/chunks/plugin-OLV3V7ZN.js +127 -0
- package/dist/chunks/plugin-import-SM3NLQ5A.js +675 -0
- package/dist/chunks/pptx-OI7DTHPN.js +309 -0
- package/dist/chunks/presence-TL24PA2T.js +132 -0
- package/dist/chunks/preview-media-JQSPO7ZT.js +122 -0
- package/dist/chunks/project-TS27R5XO.js +1653 -0
- package/dist/chunks/publish-site-34NCZ274.js +163 -0
- package/dist/chunks/publish-store-V27NWG4I.js +94 -0
- package/dist/chunks/raster-actions-PGNW6BX6.js +232 -0
- package/dist/chunks/reference-images-36D6WIRI.js +63 -0
- package/dist/chunks/resolvers-V6SR7XRN.js +145 -0
- package/dist/chunks/review-kits-5JXLSUP6.js +41 -0
- package/dist/chunks/runner-Q6HI2WVB.js +2900 -0
- package/dist/chunks/shader-preview-XIOQO2SB.js +518 -0
- package/dist/chunks/store-SIAVD2I6.js +231 -0
- package/dist/chunks/storefront-N34CMI4B.js +329 -0
- package/dist/chunks/storefront-prepare-6WYLPH6E.js +33 -0
- package/dist/chunks/stress-document-T4XOA3WN.js +126 -0
- package/dist/chunks/svg-export-QTVHP7B2.js +82 -0
- package/dist/chunks/svg-place-COMQHRRZ.js +44 -0
- package/dist/chunks/sync-PQCW3ZLW.js +158 -0
- package/dist/chunks/tabs-HTDE6XGQ.js +316 -0
- package/dist/chunks/team-H4DYU4NF.js +46 -0
- package/dist/chunks/team-client-DW5CMJ4L.js +157 -0
- package/dist/chunks/templates-BE4H3S26.js +182 -0
- package/dist/chunks/tools-HBJ2I7YP.js +37 -0
- package/dist/chunks/tree-SQJHUZW2.js +75 -0
- package/dist/chunks/ui-commands-NRTJFHI6.js +274 -0
- package/dist/chunks/use-ZT6VTVFH.js +49 -0
- package/dist/chunks/versions-22FL7N6P.js +316 -0
- package/dist/chunks/video-AP7MEMEL.js +75 -0
- package/dist/chunks/web-7JL5HL5Y.js +172 -0
- package/dist/index.js +30 -30
- package/dist/lib/document/libraries.js +2 -2
- package/dist/lib/document/photo-frames.js +2 -2
- package/dist/lib/document/print-pages.js +1 -1
- package/dist/lib/document/scene-graph.js +1 -1
- package/dist/lib/editor/prototype-connect.js +2 -2
- package/dist/lib/marketplace/motion.js +3 -3
- package/dist/lib/motion/author.js +3 -3
- package/dist/lib/motion/pose.js +4 -4
- package/dist/lib/motion/present.js +6 -6
- package/dist/lib/motion/presets.js +4 -4
- package/dist/lib/slides/slides.js +2 -2
- package/dist/lib/templates/apply.js +3 -3
- package/dist/lib/templates/capture.js +4 -4
- package/dist/lib/templates/finish.js +8 -8
- package/dist/lib/templates/layout.js +2 -2
- package/dist/lib/templates/resize.js +3 -3
- package/dist/migrations/board-meta.js +5 -5
- package/dist/migrations/brand-media.js +11 -11
- package/dist/migrations/brand-slots.js +2 -2
- package/dist/migrations/hug-content.js +3 -3
- package/dist/migrations/index.js +27 -27
- package/dist/migrations/min-type.js +5 -5
- package/dist/migrations/print-fixes.js +3 -3
- package/dist/migrations/text-on-dark.js +4 -4
- package/dist/migrations/timeline-facets.js +11 -11
- package/dist/migrations/violet-ink.js +4 -4
- package/dist/templates/anime/character.js +19 -19
- package/dist/templates/anime/duel.js +22 -22
- package/dist/templates/anime/morning.js +22 -22
- package/dist/templates/anime/rain.js +22 -22
- package/dist/templates/anime/shared.js +20 -20
- package/dist/templates/anime/starlight.js +22 -22
- package/dist/templates/anime/titan.js +22 -22
- package/dist/templates/app/festival-presale-electronic-ticket.js +24 -24
- package/dist/templates/app/festival-presale-family-ticket.js +24 -24
- package/dist/templates/app/festival-presale-folk-ticket.js +24 -24
- package/dist/templates/app/festival-presale-food-ticket.js +24 -24
- package/dist/templates/app/festival-presale-jazz-ticket.js +24 -24
- package/dist/templates/app/festival-presale-street-ticket.js +25 -25
- package/dist/templates/app/music/build.js +12 -12
- package/dist/templates/app/music/world.js +4 -4
- package/dist/templates/app/music-grove.js +20 -20
- package/dist/templates/app/music-nightline.js +20 -20
- package/dist/templates/app/music-orbit.js +20 -20
- package/dist/templates/app/music-undertow.js +20 -20
- package/dist/templates/app/onboarding-carousel.js +18 -18
- package/dist/templates/app/saas-store-paywall.js +18 -18
- package/dist/templates/app/splash.js +18 -18
- package/dist/templates/app/success-confetti.js +18 -18
- package/dist/templates/app/tour-tickets-june-ticket.js +18 -18
- package/dist/templates/app/tour-tickets-tide-ticket.js +18 -18
- package/dist/templates/app/tour-tickets-wreck-ticket.js +18 -18
- package/dist/templates/build.js +10 -10
- package/dist/templates/cards/index.js +20 -20
- package/dist/templates/cards/shared.js +18 -18
- package/dist/templates/cards/themes.js +19 -19
- package/dist/templates/count.js +3 -3
- package/dist/templates/data/bars.js +18 -18
- package/dist/templates/data/countdown-story.js +18 -18
- package/dist/templates/data/counters.js +18 -18
- package/dist/templates/data/donut.js +18 -18
- package/dist/templates/data/line.js +18 -18
- package/dist/templates/data/year-in-review.js +18 -18
- package/dist/templates/effects/glass-intro.js +18 -18
- package/dist/templates/effects/glass-promo.js +18 -18
- package/dist/templates/effects/grain-story.js +18 -18
- package/dist/templates/effects/grid-intro.js +18 -18
- package/dist/templates/effects/halftone-story.js +18 -18
- package/dist/templates/effects/mesh-story.js +18 -18
- package/dist/templates/effects/shader-title.js +18 -18
- package/dist/templates/email/april-fools-header.js +20 -20
- package/dist/templates/email/art-deco-invitation.js +20 -20
- package/dist/templates/email/autumn-harvest-header.js +20 -20
- package/dist/templates/email/back-to-school-header.js +20 -20
- package/dist/templates/email/black-friday-coupons-header.js +20 -20
- package/dist/templates/email/black-friday-header.js +19 -19
- package/dist/templates/email/black-friday-neon-header.js +22 -22
- package/dist/templates/email/black-friday-scratch-header.js +20 -20
- package/dist/templates/email/black-friday-ticker-header.js +20 -20
- package/dist/templates/email/broadsheet-weekly-edition-header.js +19 -19
- package/dist/templates/email/claymation-header.js +21 -21
- package/dist/templates/email/countdown-gif.js +19 -19
- package/dist/templates/email/cyberpunk-header.js +22 -22
- package/dist/templates/email/diwali-header.js +21 -21
- package/dist/templates/email/earth-day-header.js +21 -21
- package/dist/templates/email/festival-presale-electronic-header.js +24 -24
- package/dist/templates/email/festival-presale-family-header.js +24 -24
- package/dist/templates/email/festival-presale-folk-header.js +24 -24
- package/dist/templates/email/festival-presale-food-header.js +24 -24
- package/dist/templates/email/festival-presale-jazz-header.js +24 -24
- package/dist/templates/email/festival-presale-street-header.js +25 -25
- package/dist/templates/email/gothic-header.js +19 -19
- package/dist/templates/email/halloween-header.js +21 -21
- package/dist/templates/email/header-launch.js +19 -19
- package/dist/templates/email/header-newsletter.js +19 -19
- package/dist/templates/email/header-sale.js +19 -19
- package/dist/templates/email/lunar-new-year-header.js +21 -21
- package/dist/templates/email/manuscript-chronicle-header.js +20 -20
- package/dist/templates/email/new-year-header.js +21 -21
- package/dist/templates/email/noir-header.js +22 -22
- package/dist/templates/email/psychedelic-header.js +21 -21
- package/dist/templates/email/riso-zine-changelog-header.js +22 -22
- package/dist/templates/email/saas-mail-changelog.js +21 -21
- package/dist/templates/email/saas-mail-day-one.js +21 -21
- package/dist/templates/email/saas-mail-day-three.js +20 -20
- package/dist/templates/email/saas-mail-launch.js +20 -20
- package/dist/templates/email/saas-mail-payment-failed.js +20 -20
- package/dist/templates/email/saas-mail-sign-in-code.js +20 -20
- package/dist/templates/email/saas-mail-trial-ending.js +20 -20
- package/dist/templates/email/saas-mail-waitlist.js +20 -20
- package/dist/templates/email/shared.js +11 -11
- package/dist/templates/email/singles-day-header.js +21 -21
- package/dist/templates/email/solarpunk-header.js +21 -21
- package/dist/templates/email/space-opera-header.js +21 -21
- package/dist/templates/email/spring-bloom-header.js +21 -21
- package/dist/templates/email/style-bento-header.js +20 -20
- package/dist/templates/email/style-brutalist-header.js +20 -20
- package/dist/templates/email/style-dark-header.js +20 -20
- package/dist/templates/email/style-data-header.js +20 -20
- package/dist/templates/email/style-editorial-header.js +20 -20
- package/dist/templates/email/style-glass-header.js +21 -21
- package/dist/templates/email/style-gradient-header.js +20 -20
- package/dist/templates/email/style-maximal-header.js +20 -20
- package/dist/templates/email/style-pastel-header.js +21 -21
- package/dist/templates/email/style-sketch-header.js +21 -21
- package/dist/templates/email/style-swiss-header.js +20 -20
- package/dist/templates/email/style-terminal-header.js +22 -22
- package/dist/templates/email/summer-heatwave-header.js +21 -21
- package/dist/templates/email/tour-tickets-june-header.js +19 -19
- package/dist/templates/email/tour-tickets-tide-header.js +19 -19
- package/dist/templates/email/tour-tickets-wreck-header.js +19 -19
- package/dist/templates/email/transit-map-service-update.js +21 -21
- package/dist/templates/email/ukiyo-e-greeting-header.js +21 -21
- package/dist/templates/email/valentines-header.js +21 -21
- package/dist/templates/email/winter-cosy-header.js +22 -22
- package/dist/templates/email/winter-holidays-header.js +22 -22
- package/dist/templates/game/blossom-bash-puzzle.js +19 -19
- package/dist/templates/game/deckbound-roguelike.js +19 -19
- package/dist/templates/game/emberfall-rpg.js +19 -19
- package/dist/templates/game/hearthmoor-farm.js +19 -19
- package/dist/templates/game/index.js +32 -32
- package/dist/templates/game/iron-lotus-fighter.js +19 -19
- package/dist/templates/game/ironroot-rts.js +19 -19
- package/dist/templates/game/mossy-hollow-platformer.js +21 -21
- package/dist/templates/game/neon-apex-racing.js +19 -19
- package/dist/templates/game/platformer.js +20 -20
- package/dist/templates/game/pulse-riot-rhythm.js +19 -19
- package/dist/templates/game/shared.js +11 -11
- package/dist/templates/game/sprout-quest-pixel-platformer.js +21 -21
- package/dist/templates/game/vanta-fps.js +19 -19
- package/dist/templates/index.js +906 -906
- package/dist/templates/kinetic/letters.js +18 -18
- package/dist/templates/kinetic/lines.js +18 -18
- package/dist/templates/kinetic/typewriter.js +18 -18
- package/dist/templates/kinetic/word-swap.js +18 -18
- package/dist/templates/kinetic/words.js +18 -18
- package/dist/templates/kit.js +10 -10
- package/dist/templates/libraries/audio-reactive.js +18 -18
- package/dist/templates/libraries/loaders.js +18 -18
- package/dist/templates/libraries/micro-interactions.js +18 -18
- package/dist/templates/libraries/motion-essentials.js +18 -18
- package/dist/templates/libraries/toasts.js +18 -18
- package/dist/templates/lottie/ai.js +19 -19
- package/dist/templates/lottie/climate.js +19 -19
- package/dist/templates/lottie/commerce.js +19 -19
- package/dist/templates/lottie/education.js +19 -19
- package/dist/templates/lottie/fintech.js +19 -19
- package/dist/templates/lottie/food.js +19 -19
- package/dist/templates/lottie/health.js +19 -19
- package/dist/templates/lottie/index.js +43 -43
- package/dist/templates/lottie/lottie-kit.js +18 -18
- package/dist/templates/lottie/realestate.js +19 -19
- package/dist/templates/lottie/saas-ui-checklist.js +20 -20
- package/dist/templates/lottie/saas-ui-dashboard-hero.js +20 -20
- package/dist/templates/lottie/saas-ui-empty-data.js +20 -20
- package/dist/templates/lottie/saas-ui-empty-search.js +20 -20
- package/dist/templates/lottie/saas-ui-error-retry.js +20 -20
- package/dist/templates/lottie/saas-ui-file-upload.js +20 -20
- package/dist/templates/lottie/saas-ui-streaming-answer.js +20 -20
- package/dist/templates/lottie/saas-ui-sync-connected.js +20 -20
- package/dist/templates/lottie/saas-ui-trial-timeline.js +20 -20
- package/dist/templates/lottie/saas-ui-upgrade-unlocked.js +20 -20
- package/dist/templates/lottie/saas-ui.js +30 -30
- package/dist/templates/lottie/saas.js +19 -19
- package/dist/templates/lottie/security.js +19 -19
- package/dist/templates/lottie/techniques.js +19 -19
- package/dist/templates/lottie/travel.js +19 -19
- package/dist/templates/motion/ambient-loop.js +18 -18
- package/dist/templates/motion/app-icon-sting.js +18 -18
- package/dist/templates/motion/april-fools-infomercial-reel.js +20 -20
- package/dist/templates/motion/arcade-high-score.js +21 -21
- package/dist/templates/motion/art-deco-grand-opening.js +19 -19
- package/dist/templates/motion/autumn-harvest-year-reel.js +19 -19
- package/dist/templates/motion/back-to-school-timetable-reel.js +19 -19
- package/dist/templates/motion/bauhaus-launch-reel.js +19 -19
- package/dist/templates/motion/black-friday-coupons-deal-reel.js +20 -20
- package/dist/templates/motion/black-friday-coupons-last-day.js +20 -20
- package/dist/templates/motion/black-friday-deal-drop.js +18 -18
- package/dist/templates/motion/black-friday-neon-deal-reel.js +21 -21
- package/dist/templates/motion/black-friday-neon-last-day.js +21 -21
- package/dist/templates/motion/black-friday-scratch-countdown.js +19 -19
- package/dist/templates/motion/black-friday-scratch-deal-reel.js +19 -19
- package/dist/templates/motion/black-friday-scratch-last-day.js +19 -19
- package/dist/templates/motion/black-friday-ticker-deal-drop.js +19 -19
- package/dist/templates/motion/black-friday-ticker-last-call.js +20 -20
- package/dist/templates/motion/blueprint-rev-b-reel.js +20 -20
- package/dist/templates/motion/broadsheet-launch-reel.js +18 -18
- package/dist/templates/motion/broadsheet-milestone-post.js +19 -19
- package/dist/templates/motion/claymation-launch-reel.js +20 -20
- package/dist/templates/motion/comic-book-issue-reel.js +21 -21
- package/dist/templates/motion/countdown.js +18 -18
- package/dist/templates/motion/cyberpunk-lock-on-reel.js +21 -21
- package/dist/templates/motion/departure-board-reel.js +19 -19
- package/dist/templates/motion/diwali-lamps-reel.js +20 -20
- package/dist/templates/motion/earth-day-footprint-reel.js +20 -20
- package/dist/templates/motion/earth-day-pledge-post.js +20 -20
- package/dist/templates/motion/festival-presale-electronic-countdown.js +24 -24
- package/dist/templates/motion/festival-presale-electronic-lineup.js +24 -24
- package/dist/templates/motion/festival-presale-electronic-reel.js +24 -24
- package/dist/templates/motion/festival-presale-electronic-tier.js +24 -24
- package/dist/templates/motion/festival-presale-family-countdown.js +24 -24
- package/dist/templates/motion/festival-presale-family-lineup.js +24 -24
- package/dist/templates/motion/festival-presale-family-reel.js +24 -24
- package/dist/templates/motion/festival-presale-family-tier.js +24 -24
- package/dist/templates/motion/festival-presale-folk-countdown.js +24 -24
- package/dist/templates/motion/festival-presale-folk-lineup.js +24 -24
- package/dist/templates/motion/festival-presale-folk-reel.js +24 -24
- package/dist/templates/motion/festival-presale-folk-tier.js +24 -24
- package/dist/templates/motion/festival-presale-food-countdown.js +24 -24
- package/dist/templates/motion/festival-presale-food-lineup.js +24 -24
- package/dist/templates/motion/festival-presale-food-reel.js +24 -24
- package/dist/templates/motion/festival-presale-food-tier.js +24 -24
- package/dist/templates/motion/festival-presale-jazz-countdown.js +24 -24
- package/dist/templates/motion/festival-presale-jazz-lineup.js +24 -24
- package/dist/templates/motion/festival-presale-jazz-reel.js +24 -24
- package/dist/templates/motion/festival-presale-jazz-tier.js +24 -24
- package/dist/templates/motion/festival-presale-street-countdown.js +25 -25
- package/dist/templates/motion/festival-presale-street-lineup.js +25 -25
- package/dist/templates/motion/festival-presale-street-reel.js +25 -25
- package/dist/templates/motion/festival-presale-street-tier.js +25 -25
- package/dist/templates/motion/gothic-launch-reel.js +18 -18
- package/dist/templates/motion/halloween-graveyard-reel.js +20 -20
- package/dist/templates/motion/instagram-promo.js +18 -18
- package/dist/templates/motion/kinetic-headline.js +18 -18
- package/dist/templates/motion/landing-hero/index.js +21 -21
- package/dist/templates/motion/launch-trailer/document.js +906 -906
- package/dist/templates/motion/launch-trailer/index.js +21 -21
- package/dist/templates/motion/launch-trailer/scenes.js +20 -20
- package/dist/templates/motion/logo-reveal.js +18 -18
- package/dist/templates/motion/lower-third.js +18 -18
- package/dist/templates/motion/lunar-new-year-envelope-reel.js +20 -20
- package/dist/templates/motion/machined-trailer.js +20 -20
- package/dist/templates/motion/manuscript-launch-reel.js +19 -19
- package/dist/templates/motion/new-year-ball-drop-reel.js +20 -20
- package/dist/templates/motion/noir-case-reel.js +21 -21
- package/dist/templates/motion/pitch-title.js +18 -18
- package/dist/templates/motion/psychedelic-gig-reel.js +20 -20
- package/dist/templates/motion/riso-zine-launch-reel.js +21 -21
- package/dist/templates/motion/saas-ai-prompt.js +19 -19
- package/dist/templates/motion/saas-before-after.js +19 -19
- package/dist/templates/motion/saas-changelog-drop.js +19 -19
- package/dist/templates/motion/saas-film-webinar-opener.js +19 -19
- package/dist/templates/motion/saas-hook-features.js +19 -19
- package/dist/templates/motion/saas-mrr-milestone.js +19 -19
- package/dist/templates/motion/saas-screen-demo.js +20 -20
- package/dist/templates/motion/saas-store-install-ad.js +19 -19
- package/dist/templates/motion/saas-testimonial.js +19 -19
- package/dist/templates/motion/saas-vs-comparison.js +19 -19
- package/dist/templates/motion/singles-day-flash-post.js +20 -20
- package/dist/templates/motion/singles-day-live-reel.js +20 -20
- package/dist/templates/motion/smooth-loop.js +18 -18
- package/dist/templates/motion/solarpunk-rooftop-reel.js +20 -20
- package/dist/templates/motion/space-opera-countdown-reel.js +20 -20
- package/dist/templates/motion/spring-bloom-first-hundred-post.js +20 -20
- package/dist/templates/motion/spring-bloom-first-shoots-reel.js +20 -20
- package/dist/templates/motion/stat-pop.js +18 -18
- package/dist/templates/motion/style-bento-feature-demo.js +21 -21
- package/dist/templates/motion/style-bento-launch-reel.js +20 -20
- package/dist/templates/motion/style-brutalist-feature-demo.js +22 -22
- package/dist/templates/motion/style-brutalist-launch-reel.js +21 -21
- package/dist/templates/motion/style-dark-feature-demo.js +20 -20
- package/dist/templates/motion/style-dark-launch-reel.js +21 -21
- package/dist/templates/motion/style-data-feature-demo.js +21 -21
- package/dist/templates/motion/style-data-launch-reel.js +21 -21
- package/dist/templates/motion/style-editorial-feature-demo.js +21 -21
- package/dist/templates/motion/style-editorial-launch-reel.js +20 -20
- package/dist/templates/motion/style-glass-feature-demo.js +22 -22
- package/dist/templates/motion/style-glass-launch-reel.js +21 -21
- package/dist/templates/motion/style-gradient-feature-demo.js +21 -21
- package/dist/templates/motion/style-gradient-launch-reel.js +20 -20
- package/dist/templates/motion/style-maximal-beat-cut.js +20 -20
- package/dist/templates/motion/style-maximal-feature-demo.js +21 -21
- package/dist/templates/motion/style-maximal-launch-reel.js +20 -20
- package/dist/templates/motion/style-pastel-feature-demo.js +22 -22
- package/dist/templates/motion/style-pastel-launch-reel.js +22 -22
- package/dist/templates/motion/style-sketch-feature-demo.js +22 -22
- package/dist/templates/motion/style-sketch-launch-reel.js +22 -22
- package/dist/templates/motion/style-swiss-feature-demo.js +22 -22
- package/dist/templates/motion/style-swiss-launch-reel.js +21 -21
- package/dist/templates/motion/style-terminal-feature-demo.js +23 -23
- package/dist/templates/motion/style-terminal-launch-reel.js +23 -23
- package/dist/templates/motion/summer-heatwave-lido-reel.js +20 -20
- package/dist/templates/motion/template-wall.js +19 -19
- package/dist/templates/motion/title-card-3d.js +18 -18
- package/dist/templates/motion/tour-tickets-june-city.js +18 -18
- package/dist/templates/motion/tour-tickets-june-dates.js +18 -18
- package/dist/templates/motion/tour-tickets-june-final.js +19 -19
- package/dist/templates/motion/tour-tickets-june-reel.js +18 -18
- package/dist/templates/motion/tour-tickets-tide-city.js +18 -18
- package/dist/templates/motion/tour-tickets-tide-dates.js +18 -18
- package/dist/templates/motion/tour-tickets-tide-final.js +19 -19
- package/dist/templates/motion/tour-tickets-tide-reel.js +18 -18
- package/dist/templates/motion/tour-tickets-wreck-city.js +18 -18
- package/dist/templates/motion/tour-tickets-wreck-dates.js +18 -18
- package/dist/templates/motion/tour-tickets-wreck-final.js +19 -19
- package/dist/templates/motion/tour-tickets-wreck-reel.js +18 -18
- package/dist/templates/motion/transit-map-line-opening.js +20 -20
- package/dist/templates/motion/transit-map-milestone-post.js +20 -20
- package/dist/templates/motion/ukiyo-e-launch-reel.js +20 -20
- package/dist/templates/motion/valentines-breakup-reel.js +20 -20
- package/dist/templates/motion/vaporwave-launch-reel.js +20 -20
- package/dist/templates/motion/winter-cosy-heads-down-post.js +21 -21
- package/dist/templates/motion/winter-cosy-hibernation-reel.js +21 -21
- package/dist/templates/motion/winter-holidays-advent-reel.js +21 -21
- package/dist/templates/motion-qa.js +18 -18
- package/dist/templates/motion3d/app-store-preview.js +19 -19
- package/dist/templates/motion3d/before-after-swing.js +19 -19
- package/dist/templates/motion3d/burger-reveal.js +19 -19
- package/dist/templates/motion3d/coverflow.js +19 -19
- package/dist/templates/motion3d/exploded-ui.js +19 -19
- package/dist/templates/motion3d/feature-flip.js +19 -19
- package/dist/templates/motion3d/kinetic-reveal.js +19 -19
- package/dist/templates/motion3d/laptop-reveal.js +19 -19
- package/dist/templates/motion3d/logo-extrude.js +19 -19
- package/dist/templates/motion3d/parallax-cascade.js +19 -19
- package/dist/templates/motion3d/phone-orbit.js +19 -19
- package/dist/templates/motion3d/pricing-fan.js +19 -19
- package/dist/templates/motion3d/product-turntable.js +19 -19
- package/dist/templates/motion3d/saas-film-cinematic-trailer.js +20 -20
- package/dist/templates/motion3d/screen-wall.js +19 -19
- package/dist/templates/motion3d/stage.js +11 -11
- package/dist/templates/motion3d/vertical-promo.js +19 -19
- package/dist/templates/music/edm-drop.js +19 -19
- package/dist/templates/music/festival-lineup.js +19 -19
- package/dist/templates/music/hiphop-lyrics.js +19 -19
- package/dist/templates/music/indie-poster.js +19 -19
- package/dist/templates/music/lofi-loop.js +19 -19
- package/dist/templates/music/podcast-audiogram.js +19 -19
- package/dist/templates/music/shared.js +11 -11
- package/dist/templates/music/synthwave-tunnel.js +19 -19
- package/dist/templates/print/comic-hero-cascade.js +18 -18
- package/dist/templates/print/comic-hero-chase.js +18 -18
- package/dist/templates/print/comic-hero-cover-modern.js +18 -18
- package/dist/templates/print/comic-hero-grid-break.js +18 -18
- package/dist/templates/print/comic-hero-interrogation.js +18 -18
- package/dist/templates/print/comic-hero-issue.js +29 -29
- package/dist/templates/print/comic-hero-manga-action.js +18 -18
- package/dist/templates/print/comic-hero-nested.js +18 -18
- package/dist/templates/print/comic-hero-overlap.js +18 -18
- package/dist/templates/print/comic-hero-parallel.js +18 -18
- package/dist/templates/print/comic-hero-pinup.js +18 -18
- package/dist/templates/print/comic-hero-widescreen.js +18 -18
- package/dist/templates/print/comic-modern-action-slant.js +18 -18
- package/dist/templates/print/comic-modern-cover-pulp.js +18 -18
- package/dist/templates/print/comic-modern-flashback.js +18 -18
- package/dist/templates/print/comic-modern-issue.js +27 -27
- package/dist/templates/print/comic-modern-nine-grid.js +18 -18
- package/dist/templates/print/comic-modern-page-classic.js +18 -18
- package/dist/templates/print/comic-modern-polyptych.js +18 -18
- package/dist/templates/print/comic-modern-radial.js +18 -18
- package/dist/templates/print/comic-modern-splash.js +18 -18
- package/dist/templates/print/comic-modern-spread.js +18 -18
- package/dist/templates/print/everyday-save-the-date.js +20 -20
- package/dist/templates/print/everyday-specials-board.js +20 -20
- package/dist/templates/print/holidays-christmas-church-newsletter.js +18 -18
- package/dist/templates/print/holidays-christmas-eve-invitation.js +18 -18
- package/dist/templates/print/holidays-christmas-gift-tags.js +18 -18
- package/dist/templates/print/holidays-diwali-party-invitation.js +18 -18
- package/dist/templates/print/holidays-easter-activity-sheet.js +18 -18
- package/dist/templates/print/holidays-easter-egg-hunt-flyer.js +18 -18
- package/dist/templates/print/holidays-eid-dinner-invitation.js +18 -18
- package/dist/templates/print/holidays-eid-gift-tags.js +18 -18
- package/dist/templates/print/holidays-halloween-party-invitation.js +18 -18
- package/dist/templates/print/holidays-halloween-treat-labels.js +18 -18
- package/dist/templates/print/holidays-halloween-trunk-or-treat-poster.js +18 -18
- package/dist/templates/print/holidays-hanukkah-activity-sheet.js +18 -18
- package/dist/templates/print/holidays-hanukkah-party-invitation.js +18 -18
- package/dist/templates/print/holidays-lunar-new-year-banquet-menu.js +18 -18
- package/dist/templates/print/holidays-new-years-eve-poster.js +18 -18
- package/dist/templates/print/holidays-thanksgiving-dinner-menu.js +18 -18
- package/dist/templates/print/holidays-thanksgiving-place-cards.js +18 -18
- package/dist/templates/print/holidays-valentines-dinner-menu.js +18 -18
- package/dist/templates/print/printshop-booklet-open-day.js +19 -19
- package/dist/templates/print/printshop-brochure-community.js +19 -19
- package/dist/templates/print/printshop-brochure-dental.js +19 -19
- package/dist/templates/print/printshop-brochure-gym.js +19 -19
- package/dist/templates/print/printshop-brochure-landscaping.js +19 -19
- package/dist/templates/print/printshop-brochure-travel.js +20 -20
- package/dist/templates/print/printshop-card-architect.js +19 -19
- package/dist/templates/print/printshop-card-barber.js +19 -19
- package/dist/templates/print/printshop-card-cafe.js +19 -19
- package/dist/templates/print/printshop-card-developer.js +19 -19
- package/dist/templates/print/printshop-card-florist.js +19 -19
- package/dist/templates/print/printshop-card-lawyer.js +19 -19
- package/dist/templates/print/printshop-card-photographer.js +20 -20
- package/dist/templates/print/printshop-card-plumber.js +19 -19
- package/dist/templates/print/printshop-card-realtor.js +19 -19
- package/dist/templates/print/printshop-card-yoga.js +19 -19
- package/dist/templates/print/printshop-flyer-charity-run.js +19 -19
- package/dist/templates/print/printshop-flyer-farmers-market.js +19 -19
- package/dist/templates/print/printshop-flyer-garage-sale.js +19 -19
- package/dist/templates/print/printshop-flyer-grand-opening.js +19 -19
- package/dist/templates/print/printshop-flyer-lost-pet.js +19 -19
- package/dist/templates/print/printshop-flyer-tutoring.js +19 -19
- package/dist/templates/print/printshop-flyer-yard-work.js +19 -19
- package/dist/templates/print/printshop-poster-live-music.js +19 -19
- package/dist/templates/print/studio-class-timetable-poster.js +18 -18
- package/dist/templates/print/studio-portfolio-booklet.js +19 -19
- package/dist/templates/saas/email-decks-shared.js +19 -19
- package/dist/templates/saas/email-decks.js +32 -32
- package/dist/templates/saas/index.js +221 -221
- package/dist/templates/saas/launch-kit.js +28 -28
- package/dist/templates/saas/launch-video.js +28 -28
- package/dist/templates/saas/lottie-shared.js +19 -19
- package/dist/templates/saas/stores-shared.js +11 -11
- package/dist/templates/saas/stores.js +29 -29
- package/dist/templates/saas/style-bento-shared.js +4 -4
- package/dist/templates/saas/style-bento.js +32 -32
- package/dist/templates/saas/style-brutalist-shared.js +4 -4
- package/dist/templates/saas/style-brutalist.js +33 -33
- package/dist/templates/saas/style-dark.js +32 -32
- package/dist/templates/saas/style-data-shared.js +4 -4
- package/dist/templates/saas/style-data.js +33 -33
- package/dist/templates/saas/style-editorial-shared.js +4 -4
- package/dist/templates/saas/style-editorial.js +33 -33
- package/dist/templates/saas/style-glass-shared.js +5 -5
- package/dist/templates/saas/style-glass.js +33 -33
- package/dist/templates/saas/style-gradient-shared.js +4 -4
- package/dist/templates/saas/style-gradient.js +33 -33
- package/dist/templates/saas/style-maximal-shared.js +4 -4
- package/dist/templates/saas/style-maximal.js +33 -33
- package/dist/templates/saas/style-pastel-shared.js +5 -5
- package/dist/templates/saas/style-pastel.js +33 -33
- package/dist/templates/saas/style-sketch-shared.js +4 -4
- package/dist/templates/saas/style-sketch.js +33 -33
- package/dist/templates/saas/style-swiss-shared.js +4 -4
- package/dist/templates/saas/style-swiss.js +33 -33
- package/dist/templates/saas/style-terminal-shared.js +6 -6
- package/dist/templates/saas/style-terminal.js +34 -34
- package/dist/templates/saas/video-shared.js +4 -4
- package/dist/templates/saas/video.js +28 -28
- package/dist/templates/saas/web-shared.js +4 -4
- package/dist/templates/saas/web.js +31 -31
- package/dist/templates/scenes/before-after.js +18 -18
- package/dist/templates/scenes/carousel-video.js +19 -19
- package/dist/templates/scenes/saas-film-app-preview.js +20 -20
- package/dist/templates/scenes/saas-film-bright-trailer.js +19 -19
- package/dist/templates/scenes/saas-film-product-hunt-launch.js +19 -19
- package/dist/templates/scenes/saas-film-youtube-demo-kit.js +20 -20
- package/dist/templates/scenes/shared.js +11 -11
- package/dist/templates/scenes/story-ad.js +22 -22
- package/dist/templates/scenes/story-bakery.js +19 -19
- package/dist/templates/scenes/story-fitness.js +19 -19
- package/dist/templates/scenes/story-hotel.js +19 -19
- package/dist/templates/scenes/transitions-pack.js +19 -19
- package/dist/templates/scenes/web-scroll.js +19 -19
- package/dist/templates/shared/motion.js +4 -4
- package/dist/templates/shared/overlays.js +5 -5
- package/dist/templates/shared/pointer.js +4 -4
- package/dist/templates/slides/agenda.js +19 -19
- package/dist/templates/slides/deck.js +18 -18
- package/dist/templates/slides/education.js +19 -19
- package/dist/templates/slides/launch.js +19 -19
- package/dist/templates/slides/layouts.js +19 -19
- package/dist/templates/slides/pitch.js +19 -19
- package/dist/templates/slides/report.js +19 -19
- package/dist/templates/slides/saas-mail-investor-update.js +20 -20
- package/dist/templates/slides/saas-mail-seed-pitch.js +20 -20
- package/dist/templates/slides/sales.js +19 -19
- package/dist/templates/slides/section-divider.js +19 -19
- package/dist/templates/slides/title-card.js +19 -19
- package/dist/templates/slides/training.js +19 -19
- package/dist/templates/slides/webinar.js +19 -19
- package/dist/templates/slideshow/adoption.js +20 -20
- package/dist/templates/slideshow/baby.js +20 -20
- package/dist/templates/slideshow/birthday.js +20 -20
- package/dist/templates/slideshow/graduation.js +20 -20
- package/dist/templates/slideshow/holiday.js +20 -20
- package/dist/templates/slideshow/home.js +20 -20
- package/dist/templates/slideshow/index.js +27 -27
- package/dist/templates/slideshow/lease.js +20 -20
- package/dist/templates/slideshow/memorial.js +20 -20
- package/dist/templates/slideshow/portfolio.js +20 -20
- package/dist/templates/slideshow/product.js +20 -20
- package/dist/templates/slideshow/recipe.js +20 -20
- package/dist/templates/slideshow/shared.js +19 -19
- package/dist/templates/slideshow/team.js +20 -20
- package/dist/templates/slideshow/travel.js +20 -20
- package/dist/templates/slideshow/wedding.js +20 -20
- package/dist/templates/slideshow/year.js +20 -20
- package/dist/templates/social/april-fools-link-preview.js +20 -20
- package/dist/templates/social/april-fools-price-slash-post.js +20 -20
- package/dist/templates/social/arcade-boss-fight.js +21 -21
- package/dist/templates/social/arcade-level-up.js +21 -21
- package/dist/templates/social/art-deco-link-preview.js +19 -19
- package/dist/templates/social/art-deco-premiere-post.js +19 -19
- package/dist/templates/social/autumn-harvest-link-preview.js +19 -19
- package/dist/templates/social/autumn-harvest-thanks-post.js +19 -19
- package/dist/templates/social/back-to-school-link-preview.js +19 -19
- package/dist/templates/social/back-to-school-report-card-post.js +19 -19
- package/dist/templates/social/bauhaus-drift-post.js +19 -19
- package/dist/templates/social/bauhaus-link-preview.js +19 -19
- package/dist/templates/social/bauhaus-pricing-post.js +19 -19
- package/dist/templates/social/black-friday-ads.js +18 -18
- package/dist/templates/social/black-friday-countdown.js +18 -18
- package/dist/templates/social/black-friday-coupons-ads.js +19 -19
- package/dist/templates/social/black-friday-coupons-countdown.js +20 -20
- package/dist/templates/social/black-friday-neon-ads.js +21 -21
- package/dist/templates/social/black-friday-neon-countdown.js +21 -21
- package/dist/templates/social/black-friday-scratch-ads.js +19 -19
- package/dist/templates/social/black-friday-ticker-ads.js +19 -19
- package/dist/templates/social/black-friday-ticker-countdown.js +19 -19
- package/dist/templates/social/blueprint-dimension-post.js +20 -20
- package/dist/templates/social/blueprint-link-preview.js +20 -20
- package/dist/templates/social/blueprint-parts-list-post.js +20 -20
- package/dist/templates/social/broadsheet-hiring-classifieds.js +18 -18
- package/dist/templates/social/broadsheet-link-preview.js +18 -18
- package/dist/templates/social/claymation-link-preview.js +20 -20
- package/dist/templates/social/claymation-streak-post.js +20 -20
- package/dist/templates/social/comic-book-cover-preview.js +21 -21
- package/dist/templates/social/comic-book-strip-post.js +21 -21
- package/dist/templates/social/cyberpunk-implant-post.js +21 -21
- package/dist/templates/social/cyberpunk-link-preview.js +21 -21
- package/dist/templates/social/departure-board-pass-ad.js +19 -19
- package/dist/templates/social/departure-board-store-set.js +19 -19
- package/dist/templates/social/departure-board-thanks-post.js +19 -19
- package/dist/templates/social/diwali-link-preview.js +20 -20
- package/dist/templates/social/diwali-thanks-post.js +20 -20
- package/dist/templates/social/earth-day-link-preview.js +20 -20
- package/dist/templates/social/everyday-save-the-date-post.js +20 -20
- package/dist/templates/social/festival-presale-electronic-ads.js +24 -24
- package/dist/templates/social/festival-presale-family-ads.js +24 -24
- package/dist/templates/social/festival-presale-folk-ads.js +24 -24
- package/dist/templates/social/festival-presale-food-ads.js +24 -24
- package/dist/templates/social/festival-presale-jazz-ads.js +24 -24
- package/dist/templates/social/festival-presale-street-ads.js +25 -25
- package/dist/templates/social/gothic-feature-post.js +18 -18
- package/dist/templates/social/gothic-link-preview.js +18 -18
- package/dist/templates/social/halloween-link-preview.js +20 -20
- package/dist/templates/social/halloween-offer-post.js +20 -20
- package/dist/templates/social/holidays-diwali-sweet-shop-post.js +18 -18
- package/dist/templates/social/holidays-lunar-new-year-bakery-post.js +18 -18
- package/dist/templates/social/holidays-new-years-eve-shop-hours.js +18 -18
- package/dist/templates/social/holidays-thanksgiving-pie-orders-post.js +18 -18
- package/dist/templates/social/holidays-valentines-florist-post.js +18 -18
- package/dist/templates/social/lunar-new-year-greeting-post.js +20 -20
- package/dist/templates/social/lunar-new-year-link-preview.js +20 -20
- package/dist/templates/social/machined-link-preview.js +20 -20
- package/dist/templates/social/machined-plate-post.js +20 -20
- package/dist/templates/social/manuscript-chapter-post.js +19 -19
- package/dist/templates/social/manuscript-link-preview.js +19 -19
- package/dist/templates/social/new-year-link-preview.js +20 -20
- package/dist/templates/social/new-year-resolutions-post.js +20 -20
- package/dist/templates/social/noir-case-file.js +21 -21
- package/dist/templates/social/noir-feature-post.js +21 -21
- package/dist/templates/social/post-announcement.js +18 -18
- package/dist/templates/social/post-event.js +18 -18
- package/dist/templates/social/post-podcast.js +18 -18
- package/dist/templates/social/post-quote.js +18 -18
- package/dist/templates/social/post-sale.js +18 -18
- package/dist/templates/social/post-stat.js +18 -18
- package/dist/templates/social/post-testimonial.js +18 -18
- package/dist/templates/social/promo-announcement.js +18 -18
- package/dist/templates/social/promo-beat-drop.js +18 -18
- package/dist/templates/social/promo-event.js +18 -18
- package/dist/templates/social/promo-new-product.js +18 -18
- package/dist/templates/social/promo-quote-reveal.js +18 -18
- package/dist/templates/social/promo-sale-drop.js +18 -18
- package/dist/templates/social/promo-tip-list.js +18 -18
- package/dist/templates/social/psychedelic-lineup-post.js +20 -20
- package/dist/templates/social/psychedelic-link-preview.js +20 -20
- package/dist/templates/social/riso-zine-link-preview.js +21 -21
- package/dist/templates/social/riso-zine-mrr-poster.js +21 -21
- package/dist/templates/social/saas-kit-carousel.js +18 -18
- package/dist/templates/social/saas-kit-countdown-post.js +18 -18
- package/dist/templates/social/saas-kit-feature-drop.js +19 -19
- package/dist/templates/social/saas-kit-link-preview.js +18 -18
- package/dist/templates/social/saas-kit-live-post.js +18 -18
- package/dist/templates/social/saas-kit-mrr-card.js +18 -18
- package/dist/templates/social/saas-kit-ph-gallery.js +18 -18
- package/dist/templates/social/saas-kit-ph-thumb.js +18 -18
- package/dist/templates/social/saas-kit-youtube-thumbs.js +18 -18
- package/dist/templates/social/saas-store-b2b-ads.js +19 -19
- package/dist/templates/social/saas-store-caption-set.js +19 -19
- package/dist/templates/social/saas-store-chrome-kit.js +19 -19
- package/dist/templates/social/saas-store-ipad-set.js +19 -19
- package/dist/templates/social/saas-store-panorama.js +20 -20
- package/dist/templates/social/saas-store-play-kit.js +18 -18
- package/dist/templates/social/saas-store-story.js +19 -19
- package/dist/templates/social/singles-day-link-preview.js +20 -20
- package/dist/templates/social/solarpunk-impact-post.js +20 -20
- package/dist/templates/social/solarpunk-link-preview.js +20 -20
- package/dist/templates/social/space-opera-link-preview.js +20 -20
- package/dist/templates/social/space-opera-mission-patch-post.js +20 -20
- package/dist/templates/social/spring-bloom-link-preview.js +20 -20
- package/dist/templates/social/studio-class-timetable.js +18 -18
- package/dist/templates/social/studio-podcast-cover.js +18 -18
- package/dist/templates/social/style-bento-announcement.js +19 -19
- package/dist/templates/social/style-bento-link-preview.js +19 -19
- package/dist/templates/social/style-bento-milestone.js +19 -19
- package/dist/templates/social/style-bento-testimonial.js +20 -20
- package/dist/templates/social/style-brutalist-announcement.js +19 -19
- package/dist/templates/social/style-brutalist-link-preview.js +19 -19
- package/dist/templates/social/style-brutalist-milestone.js +20 -20
- package/dist/templates/social/style-brutalist-testimonial.js +19 -19
- package/dist/templates/social/style-dark-announcement.js +19 -19
- package/dist/templates/social/style-dark-link-preview.js +18 -18
- package/dist/templates/social/style-dark-milestone.js +19 -19
- package/dist/templates/social/style-dark-testimonial.js +20 -20
- package/dist/templates/social/style-data-announcement.js +19 -19
- package/dist/templates/social/style-data-link-preview.js +19 -19
- package/dist/templates/social/style-data-milestone.js +20 -20
- package/dist/templates/social/style-data-testimonial.js +20 -20
- package/dist/templates/social/style-editorial-announcement.js +19 -19
- package/dist/templates/social/style-editorial-link-preview.js +19 -19
- package/dist/templates/social/style-editorial-milestone.js +19 -19
- package/dist/templates/social/style-editorial-testimonial.js +20 -20
- package/dist/templates/social/style-glass-announcement.js +20 -20
- package/dist/templates/social/style-glass-link-preview.js +20 -20
- package/dist/templates/social/style-glass-milestone.js +20 -20
- package/dist/templates/social/style-glass-testimonial.js +21 -21
- package/dist/templates/social/style-gradient-announcement.js +19 -19
- package/dist/templates/social/style-gradient-link-preview.js +19 -19
- package/dist/templates/social/style-gradient-milestone.js +20 -20
- package/dist/templates/social/style-gradient-testimonial.js +20 -20
- package/dist/templates/social/style-maximal-announcement.js +19 -19
- package/dist/templates/social/style-maximal-link-preview.js +19 -19
- package/dist/templates/social/style-maximal-milestone.js +19 -19
- package/dist/templates/social/style-maximal-testimonial.js +20 -20
- package/dist/templates/social/style-pastel-announcement.js +20 -20
- package/dist/templates/social/style-pastel-link-preview.js +20 -20
- package/dist/templates/social/style-pastel-milestone.js +20 -20
- package/dist/templates/social/style-pastel-testimonial.js +21 -21
- package/dist/templates/social/style-sketch-announcement.js +20 -20
- package/dist/templates/social/style-sketch-link-preview.js +19 -19
- package/dist/templates/social/style-sketch-milestone.js +19 -19
- package/dist/templates/social/style-sketch-testimonial.js +20 -20
- package/dist/templates/social/style-swiss-announcement.js +19 -19
- package/dist/templates/social/style-swiss-link-preview.js +19 -19
- package/dist/templates/social/style-swiss-milestone.js +19 -19
- package/dist/templates/social/style-swiss-testimonial.js +20 -20
- package/dist/templates/social/style-terminal-announcement.js +21 -21
- package/dist/templates/social/style-terminal-link-preview.js +21 -21
- package/dist/templates/social/style-terminal-milestone.js +21 -21
- package/dist/templates/social/style-terminal-testimonial.js +22 -22
- package/dist/templates/social/summer-heatwave-link-preview.js +20 -20
- package/dist/templates/social/summer-heatwave-lolly-post.js +20 -20
- package/dist/templates/social/tour-tickets-june-ads.js +18 -18
- package/dist/templates/social/tour-tickets-tide-ads.js +18 -18
- package/dist/templates/social/tour-tickets-wreck-ads.js +18 -18
- package/dist/templates/social/transit-map-link-preview.js +20 -20
- package/dist/templates/social/ukiyo-e-link-preview.js +20 -20
- package/dist/templates/social/ukiyo-e-spike-post.js +20 -20
- package/dist/templates/social/valentines-link-preview.js +20 -20
- package/dist/templates/social/valentines-poem-post.js +20 -20
- package/dist/templates/social/vaporwave-feature-drop.js +19 -19
- package/dist/templates/social/vaporwave-link-preview.js +19 -19
- package/dist/templates/social/winter-cosy-link-preview.js +21 -21
- package/dist/templates/social/winter-holidays-link-preview.js +21 -21
- package/dist/templates/social/winter-holidays-thanks-post.js +21 -21
- package/dist/templates/stings/line-reveal.js +18 -18
- package/dist/templates/stings/sting-blur.js +18 -18
- package/dist/templates/stings/sting-pop.js +18 -18
- package/dist/templates/stings/sting-rise.js +18 -18
- package/dist/templates/stings/sting-shimmer.js +18 -18
- package/dist/templates/stings/word-swap.js +18 -18
- package/dist/templates/text/stat-counter.js +18 -18
- package/dist/templates/text/word-quote.js +18 -18
- package/dist/templates/themes/april-fools-shared.js +12 -12
- package/dist/templates/themes/april-fools.js +25 -25
- package/dist/templates/themes/arcade-shared.js +6 -6
- package/dist/templates/themes/arcade.js +25 -25
- package/dist/templates/themes/art-deco-shared.js +4 -4
- package/dist/templates/themes/art-deco.js +25 -25
- package/dist/templates/themes/autumn-harvest-shared.js +4 -4
- package/dist/templates/themes/autumn-harvest.js +25 -25
- package/dist/templates/themes/back-to-school-shared.js +4 -4
- package/dist/templates/themes/back-to-school.js +25 -25
- package/dist/templates/themes/bauhaus-shared.js +4 -4
- package/dist/templates/themes/bauhaus.js +24 -24
- package/dist/templates/themes/black-friday-coupons-shared.js +4 -4
- package/dist/templates/themes/black-friday-coupons.js +27 -27
- package/dist/templates/themes/black-friday-neon-shared.js +5 -5
- package/dist/templates/themes/black-friday-neon.js +28 -28
- package/dist/templates/themes/black-friday-scratch-shared.js +4 -4
- package/dist/templates/themes/black-friday-scratch.js +26 -26
- package/dist/templates/themes/black-friday-ticker-shared.js +4 -4
- package/dist/templates/themes/black-friday-ticker.js +27 -27
- package/dist/templates/themes/black-friday.js +24 -24
- package/dist/templates/themes/blueprint-shared.js +5 -5
- package/dist/templates/themes/blueprint.js +25 -25
- package/dist/templates/themes/broadsheet.js +25 -25
- package/dist/templates/themes/claymation-shared.js +5 -5
- package/dist/templates/themes/claymation.js +26 -26
- package/dist/templates/themes/comic-book-shared.js +6 -6
- package/dist/templates/themes/comic-book.js +35 -35
- package/dist/templates/themes/comic-hero.js +30 -30
- package/dist/templates/themes/comic-indie.js +18 -18
- package/dist/templates/themes/cyberpunk-shared.js +6 -6
- package/dist/templates/themes/cyberpunk.js +27 -27
- package/dist/templates/themes/departure-board-shared.js +4 -4
- package/dist/templates/themes/departure-board.js +24 -24
- package/dist/templates/themes/diwali-shared.js +5 -5
- package/dist/templates/themes/diwali.js +26 -26
- package/dist/templates/themes/earth-day-shared.js +5 -5
- package/dist/templates/themes/earth-day.js +26 -26
- package/dist/templates/themes/everyday-shared.js +5 -5
- package/dist/templates/themes/everyday.js +28 -28
- package/dist/templates/themes/festival-presale-electronic-kit.js +23 -23
- package/dist/templates/themes/festival-presale-family-a-shared.js +22 -22
- package/dist/templates/themes/festival-presale-family-a.js +47 -47
- package/dist/templates/themes/festival-presale-family-b-shared.js +22 -22
- package/dist/templates/themes/festival-presale-family-b.js +48 -48
- package/dist/templates/themes/festival-presale-family-kit.js +23 -23
- package/dist/templates/themes/festival-presale-folk-kit.js +23 -23
- package/dist/templates/themes/festival-presale-food-kit.js +23 -23
- package/dist/templates/themes/festival-presale-jazz-kit.js +23 -23
- package/dist/templates/themes/festival-presale-shared.js +6 -6
- package/dist/templates/themes/festival-presale-street-kit.js +24 -24
- package/dist/templates/themes/festival-presale.js +28 -28
- package/dist/templates/themes/gothic.js +24 -24
- package/dist/templates/themes/halloween-shared.js +5 -5
- package/dist/templates/themes/halloween.js +26 -26
- package/dist/templates/themes/holidays.js +41 -41
- package/dist/templates/themes/index.js +482 -482
- package/dist/templates/themes/lunar-new-year-shared.js +5 -5
- package/dist/templates/themes/lunar-new-year.js +26 -26
- package/dist/templates/themes/machined-shared.js +12 -12
- package/dist/templates/themes/machined.js +24 -24
- package/dist/templates/themes/manuscript-shared.js +4 -4
- package/dist/templates/themes/manuscript.js +25 -25
- package/dist/templates/themes/memories.js +28 -28
- package/dist/templates/themes/new-year-shared.js +5 -5
- package/dist/templates/themes/new-year.js +26 -26
- package/dist/templates/themes/noir-shared.js +6 -6
- package/dist/templates/themes/noir.js +27 -27
- package/dist/templates/themes/printshop-shared.js +11 -11
- package/dist/templates/themes/printshop.js +44 -44
- package/dist/templates/themes/psychedelic-shared.js +5 -5
- package/dist/templates/themes/psychedelic.js +26 -26
- package/dist/templates/themes/riso-zine-shared.js +6 -6
- package/dist/templates/themes/riso-zine.js +27 -27
- package/dist/templates/themes/singles-day-shared.js +5 -5
- package/dist/templates/themes/singles-day.js +26 -26
- package/dist/templates/themes/solarpunk-shared.js +5 -5
- package/dist/templates/themes/solarpunk.js +26 -26
- package/dist/templates/themes/space-opera-shared.js +5 -5
- package/dist/templates/themes/space-opera.js +26 -26
- package/dist/templates/themes/spring-bloom-shared.js +5 -5
- package/dist/templates/themes/spring-bloom.js +26 -26
- package/dist/templates/themes/studio.js +24 -24
- package/dist/templates/themes/summer-heatwave-shared.js +5 -5
- package/dist/templates/themes/summer-heatwave.js +26 -26
- package/dist/templates/themes/tour-tickets-page-shared.js +5 -5
- package/dist/templates/themes/tour-tickets.js +46 -46
- package/dist/templates/themes/transit-map-shared.js +5 -5
- package/dist/templates/themes/transit-map.js +26 -26
- package/dist/templates/themes/ukiyo-e-shared.js +5 -5
- package/dist/templates/themes/ukiyo-e.js +26 -26
- package/dist/templates/themes/valentines-shared.js +5 -5
- package/dist/templates/themes/valentines.js +26 -26
- package/dist/templates/themes/vaporwave-shared.js +4 -4
- package/dist/templates/themes/vaporwave.js +24 -24
- package/dist/templates/themes/winter-cosy-shared.js +5 -5
- package/dist/templates/themes/winter-cosy.js +27 -27
- package/dist/templates/themes/winter-holidays-shared.js +5 -5
- package/dist/templates/themes/winter-holidays.js +27 -27
- package/dist/templates/video/youtube-chapter.js +18 -18
- package/dist/templates/video/youtube-end-screen.js +18 -18
- package/dist/templates/video/youtube-intro.js +18 -18
- package/dist/templates/video/youtube-subscribe.js +18 -18
- package/dist/templates/web/app-ui.js +12 -12
- package/dist/templates/web/april-fools-landing.js +20 -20
- package/dist/templates/web/arcade-landing.js +21 -21
- package/dist/templates/web/art-deco-landing.js +19 -19
- package/dist/templates/web/autumn-harvest-landing.js +19 -19
- package/dist/templates/web/back-to-school-landing.js +19 -19
- package/dist/templates/web/bauhaus-landing.js +19 -19
- package/dist/templates/web/black-friday-coupons-landing.js +20 -20
- package/dist/templates/web/black-friday-landing.js +18 -18
- package/dist/templates/web/black-friday-neon-landing.js +20 -20
- package/dist/templates/web/black-friday-scratch-landing.js +19 -19
- package/dist/templates/web/black-friday-ticker-landing.js +19 -19
- package/dist/templates/web/blog-post.js +18 -18
- package/dist/templates/web/blueprint-landing.js +20 -20
- package/dist/templates/web/broadsheet-landing.js +18 -18
- package/dist/templates/web/claymation-landing.js +20 -20
- package/dist/templates/web/comic-book-landing.js +21 -21
- package/dist/templates/web/coming-soon-page.js +19 -19
- package/dist/templates/web/coming-soon.js +18 -18
- package/dist/templates/web/contact.js +19 -19
- package/dist/templates/web/cyberpunk-landing.js +21 -21
- package/dist/templates/web/daybreak-app.js +20 -20
- package/dist/templates/web/departure-board-download.js +19 -19
- package/dist/templates/web/diwali-landing.js +20 -20
- package/dist/templates/web/earth-day-landing.js +20 -20
- package/dist/templates/web/everyday-cafe.js +21 -21
- package/dist/templates/web/everyday-hotel.js +21 -21
- package/dist/templates/web/everyday-wedding.js +22 -22
- package/dist/templates/web/festival-presale-electronic.js +21 -21
- package/dist/templates/web/festival-presale-family.js +21 -21
- package/dist/templates/web/festival-presale-folk.js +21 -21
- package/dist/templates/web/festival-presale-food.js +21 -21
- package/dist/templates/web/festival-presale-jazz.js +21 -21
- package/dist/templates/web/festival-presale-street.js +22 -22
- package/dist/templates/web/forms.js +11 -11
- package/dist/templates/web/gothic-landing.js +18 -18
- package/dist/templates/web/halloween-landing.js +20 -20
- package/dist/templates/web/hero-animated.js +18 -18
- package/dist/templates/web/kindling-app.js +20 -20
- package/dist/templates/web/launch-waitlist.js +19 -19
- package/dist/templates/web/lunar-new-year-landing.js +20 -20
- package/dist/templates/web/machined-hero.js +20 -20
- package/dist/templates/web/manuscript-landing.js +19 -19
- package/dist/templates/web/marginalia-app.js +20 -20
- package/dist/templates/web/new-year-landing.js +20 -20
- package/dist/templates/web/noir-landing.js +21 -21
- package/dist/templates/web/page-404.js +18 -18
- package/dist/templates/web/portfolio-architect.js +20 -20
- package/dist/templates/web/portfolio-art.js +11 -11
- package/dist/templates/web/portfolio-card-deck.js +20 -20
- package/dist/templates/web/portfolio-case-folio.js +20 -20
- package/dist/templates/web/portfolio-cube-gallery.js +20 -20
- package/dist/templates/web/portfolio-depth-tunnel.js +20 -20
- package/dist/templates/web/portfolio-editorial.js +20 -20
- package/dist/templates/web/portfolio-flip-wall.js +20 -20
- package/dist/templates/web/portfolio-index-list.js +20 -20
- package/dist/templates/web/portfolio-photographer.js +20 -20
- package/dist/templates/web/portfolio-reel-carousel.js +20 -20
- package/dist/templates/web/portfolio-shared.js +12 -12
- package/dist/templates/web/portfolio-sketchbook.js +20 -20
- package/dist/templates/web/portfolio-studio-grid.js +20 -20
- package/dist/templates/web/portfolio.js +18 -18
- package/dist/templates/web/portfolios.js +32 -32
- package/dist/templates/web/potluck-app.js +20 -20
- package/dist/templates/web/pricing-toggle.js +18 -18
- package/dist/templates/web/product-page.js +18 -18
- package/dist/templates/web/psychedelic-landing.js +20 -20
- package/dist/templates/web/riso-zine-landing.js +21 -21
- package/dist/templates/web/rsvp-invite.js +19 -19
- package/dist/templates/web/saas-ai-landing.js +19 -19
- package/dist/templates/web/saas-app-download.js +19 -19
- package/dist/templates/web/saas-case-study.js +19 -19
- package/dist/templates/web/saas-changelog.js +19 -19
- package/dist/templates/web/saas-comparison.js +19 -19
- package/dist/templates/web/saas-data-landing.js +19 -19
- package/dist/templates/web/saas-dev-landing.js +19 -19
- package/dist/templates/web/saas-indie-landing.js +19 -19
- package/dist/templates/web/saas-integrations.js +19 -19
- package/dist/templates/web/saas-security.js +19 -19
- package/dist/templates/web/saas-signup.js +19 -19
- package/dist/templates/web/saas-waitlist.js +19 -19
- package/dist/templates/web/saffron-app.js +20 -20
- package/dist/templates/web/shop-art.js +11 -11
- package/dist/templates/web/shop-bloom.js +23 -23
- package/dist/templates/web/shop-circuit.js +23 -23
- package/dist/templates/web/shop-fieldwork.js +23 -23
- package/dist/templates/web/shop-greenhouse.js +23 -23
- package/dist/templates/web/shop-kiln.js +23 -23
- package/dist/templates/web/shop-marginalia.js +23 -23
- package/dist/templates/web/shop-ode.js +23 -23
- package/dist/templates/web/shop-shared.js +15 -15
- package/dist/templates/web/shop-static.js +23 -23
- package/dist/templates/web/shop-summit.js +23 -23
- package/dist/templates/web/shops.js +32 -32
- package/dist/templates/web/singles-day-landing.js +20 -20
- package/dist/templates/web/solarpunk-landing.js +20 -20
- package/dist/templates/web/space-opera-landing.js +20 -20
- package/dist/templates/web/spring-bloom-landing.js +20 -20
- package/dist/templates/web/studio-careers.js +18 -18
- package/dist/templates/web/style-bento-landing.js +21 -21
- package/dist/templates/web/style-bento-pricing.js +20 -20
- package/dist/templates/web/style-brutalist-landing.js +20 -20
- package/dist/templates/web/style-brutalist-pricing.js +20 -20
- package/dist/templates/web/style-dark-landing.js +21 -21
- package/dist/templates/web/style-dark-pricing.js +20 -20
- package/dist/templates/web/style-data-landing.js +22 -22
- package/dist/templates/web/style-data-pricing.js +20 -20
- package/dist/templates/web/style-editorial-landing.js +20 -20
- package/dist/templates/web/style-editorial-pricing.js +21 -21
- package/dist/templates/web/style-glass-landing.js +22 -22
- package/dist/templates/web/style-glass-pricing.js +21 -21
- package/dist/templates/web/style-gradient-landing.js +22 -22
- package/dist/templates/web/style-gradient-pricing.js +20 -20
- package/dist/templates/web/style-maximal-landing.js +21 -21
- package/dist/templates/web/style-maximal-pricing.js +20 -20
- package/dist/templates/web/style-pastel-landing.js +22 -22
- package/dist/templates/web/style-pastel-pricing.js +21 -21
- package/dist/templates/web/style-sketch-landing.js +22 -22
- package/dist/templates/web/style-sketch-pricing.js +20 -20
- package/dist/templates/web/style-swiss-landing.js +22 -22
- package/dist/templates/web/style-swiss-pricing.js +20 -20
- package/dist/templates/web/style-terminal-landing.js +23 -23
- package/dist/templates/web/style-terminal-pricing.js +22 -22
- package/dist/templates/web/summer-heatwave-landing.js +20 -20
- package/dist/templates/web/tempo-app.js +20 -20
- package/dist/templates/web/tour-tickets-june-landing.js +20 -20
- package/dist/templates/web/tour-tickets-tide-landing.js +20 -20
- package/dist/templates/web/tour-tickets-wreck-landing.js +20 -20
- package/dist/templates/web/transit-map-landing.js +20 -20
- package/dist/templates/web/ukiyo-e-landing.js +20 -20
- package/dist/templates/web/valentines-landing.js +20 -20
- package/dist/templates/web/vaporwave-landing.js +19 -19
- package/dist/templates/web/wayfarer-app.js +20 -20
- package/dist/templates/web/winter-cosy-landing.js +21 -21
- package/dist/templates/web/winter-holidays-landing.js +21 -21
- package/package.json +1 -1
- package/dist/chunks/agent-5U4U6C43.js +0 -44
- package/dist/chunks/apply-GEAQ7MM4.js +0 -46
- package/dist/chunks/board-export-TWQMQVU5.js +0 -180
- package/dist/chunks/browser-4L2KMAUN.js +0 -179
- package/dist/chunks/build-J7HOT3XO.js +0 -59
- package/dist/chunks/builtin-G67V4RJF.js +0 -117
- package/dist/chunks/buy-credits-5UKOLBHA.js +0 -78
- package/dist/chunks/check-2NFF4364.js +0 -56
- package/dist/chunks/check-template-RTWNUF7Q.js +0 -2429
- package/dist/chunks/chunk-22KK7NGN.js +0 -141
- package/dist/chunks/chunk-23PD7JPY.js +0 -178
- package/dist/chunks/chunk-24AU45SK.js +0 -101
- package/dist/chunks/chunk-25PIS6V3.js +0 -128
- package/dist/chunks/chunk-26HGIWY3.js +0 -122
- package/dist/chunks/chunk-26RNRI6I.js +0 -304
- package/dist/chunks/chunk-273XP3DX.js +0 -23
- package/dist/chunks/chunk-27BY6AG3.js +0 -130
- package/dist/chunks/chunk-27GMSDTV.js +0 -52
- package/dist/chunks/chunk-27GRG6GL.js +0 -45
- package/dist/chunks/chunk-2B4P3GEL.js +0 -100
- package/dist/chunks/chunk-2B76VMJS.js +0 -106
- package/dist/chunks/chunk-2BXWJNF3.js +0 -142
- package/dist/chunks/chunk-2CSJPWQE.js +0 -121
- package/dist/chunks/chunk-2DD4KTHH.js +0 -108
- package/dist/chunks/chunk-2DQHXJT2.js +0 -146
- package/dist/chunks/chunk-2FZ2TVFU.js +0 -81
- package/dist/chunks/chunk-2HJJBZRB.js +0 -338
- package/dist/chunks/chunk-2HKOUH7C.js +0 -38
- package/dist/chunks/chunk-2IFFNMJQ.js +0 -217
- package/dist/chunks/chunk-2JNDAGJ7.js +0 -215
- package/dist/chunks/chunk-2JPRFVK3.js +0 -177
- package/dist/chunks/chunk-2KPMN3K5.js +0 -115
- package/dist/chunks/chunk-2KV47L6C.js +0 -276
- package/dist/chunks/chunk-2KX5E7RS.js +0 -210
- package/dist/chunks/chunk-2LBIAZET.js +0 -87
- package/dist/chunks/chunk-2LUGXIRV.js +0 -153
- package/dist/chunks/chunk-2MZFUMEN.js +0 -105
- package/dist/chunks/chunk-2P7HTTRN.js +0 -261
- package/dist/chunks/chunk-2Q2M5PIW.js +0 -134
- package/dist/chunks/chunk-2QIUBHCR.js +0 -152
- package/dist/chunks/chunk-2R446XGL.js +0 -544
- package/dist/chunks/chunk-2RCDZ73C.js +0 -269
- package/dist/chunks/chunk-2RNUBZGL.js +0 -71
- package/dist/chunks/chunk-2SQQRX5D.js +0 -454
- package/dist/chunks/chunk-2TN5FYYI.js +0 -42
- package/dist/chunks/chunk-2TP7PCEH.js +0 -47
- package/dist/chunks/chunk-2UHYZP25.js +0 -133
- package/dist/chunks/chunk-2VI7EY4D.js +0 -137
- package/dist/chunks/chunk-2W74EH2V.js +0 -267
- package/dist/chunks/chunk-2WHDSTSA.js +0 -157
- package/dist/chunks/chunk-2WJNJPYU.js +0 -73
- package/dist/chunks/chunk-2YWE4IYM.js +0 -45
- package/dist/chunks/chunk-2ZAYIR77.js +0 -23
- package/dist/chunks/chunk-3224NR5N.js +0 -209
- package/dist/chunks/chunk-32XJ6JHZ.js +0 -484
- package/dist/chunks/chunk-34A55GRA.js +0 -164
- package/dist/chunks/chunk-34DJM5IK.js +0 -114
- package/dist/chunks/chunk-35M4ISRE.js +0 -194
- package/dist/chunks/chunk-3BPWEN63.js +0 -90
- package/dist/chunks/chunk-3CTCPHHY.js +0 -198
- package/dist/chunks/chunk-3ETX75W6.js +0 -121
- package/dist/chunks/chunk-3F3DT464.js +0 -112
- package/dist/chunks/chunk-3GFHFKM2.js +0 -92
- package/dist/chunks/chunk-3GUEJAVY.js +0 -156
- package/dist/chunks/chunk-3H2HGPXU.js +0 -110
- package/dist/chunks/chunk-3I34RPBZ.js +0 -94
- package/dist/chunks/chunk-3IHCLTPR.js +0 -70
- package/dist/chunks/chunk-3IUBGG5H.js +0 -160
- package/dist/chunks/chunk-3JSXAV6A.js +0 -329
- package/dist/chunks/chunk-3LLJEIWO.js +0 -45
- package/dist/chunks/chunk-3RNCP3TP.js +0 -175
- package/dist/chunks/chunk-3RSWHBQ5.js +0 -80
- package/dist/chunks/chunk-3T53KSR3.js +0 -170
- package/dist/chunks/chunk-3TMAFJKT.js +0 -335
- package/dist/chunks/chunk-3UDRG47N.js +0 -76
- package/dist/chunks/chunk-3VGX44BV.js +0 -163
- package/dist/chunks/chunk-3W53KLNF.js +0 -198
- package/dist/chunks/chunk-3YLEUM24.js +0 -139
- package/dist/chunks/chunk-3Z7RB3KJ.js +0 -39
- package/dist/chunks/chunk-3ZII5KSO.js +0 -23
- package/dist/chunks/chunk-3ZORGDGV.js +0 -138
- package/dist/chunks/chunk-44F3XXK7.js +0 -176
- package/dist/chunks/chunk-44WZKIGY.js +0 -97
- package/dist/chunks/chunk-45R3QHQB.js +0 -351
- package/dist/chunks/chunk-47IUARKR.js +0 -224
- package/dist/chunks/chunk-47KXGH7K.js +0 -80
- package/dist/chunks/chunk-4ADHQJDI.js +0 -104
- package/dist/chunks/chunk-4BNOQYU6.js +0 -139
- package/dist/chunks/chunk-4C4D6JMF.js +0 -62
- package/dist/chunks/chunk-4CHDYXVD.js +0 -270
- package/dist/chunks/chunk-4DRF43TG.js +0 -224
- package/dist/chunks/chunk-4E7CPYVZ.js +0 -77
- package/dist/chunks/chunk-4HQ34MG3.js +0 -128
- package/dist/chunks/chunk-4LMLFFCU.js +0 -220
- package/dist/chunks/chunk-4ME3LDGK.js +0 -386
- package/dist/chunks/chunk-4MISWVYH.js +0 -363
- package/dist/chunks/chunk-4OBFM3W2.js +0 -86
- package/dist/chunks/chunk-4SWDIU2I.js +0 -145
- package/dist/chunks/chunk-4TT2QMGJ.js +0 -138
- package/dist/chunks/chunk-4UTFDETV.js +0 -123
- package/dist/chunks/chunk-4VEIFQZS.js +0 -150
- package/dist/chunks/chunk-4WBK4YZV.js +0 -198
- package/dist/chunks/chunk-4ZEUBWDC.js +0 -146
- package/dist/chunks/chunk-53UBUXND.js +0 -198
- package/dist/chunks/chunk-547S75NS.js +0 -102
- package/dist/chunks/chunk-55RQUTU2.js +0 -358
- package/dist/chunks/chunk-57L5UUBW.js +0 -161
- package/dist/chunks/chunk-5AM64VEM.js +0 -93
- package/dist/chunks/chunk-5ANWZ37I.js +0 -11584
- package/dist/chunks/chunk-5CHN22P2.js +0 -283
- package/dist/chunks/chunk-5CNVLVLT.js +0 -36
- package/dist/chunks/chunk-5DJEWZ3Q.js +0 -177
- package/dist/chunks/chunk-5IC42F6O.js +0 -163
- package/dist/chunks/chunk-5J6ZG7JO.js +0 -203
- package/dist/chunks/chunk-5JPT7UXH.js +0 -195
- package/dist/chunks/chunk-5KC75SYK.js +0 -487
- package/dist/chunks/chunk-5KT4NUUR.js +0 -158
- package/dist/chunks/chunk-5OCGXZXM.js +0 -79
- package/dist/chunks/chunk-5OK7EFWP.js +0 -128
- package/dist/chunks/chunk-5PABXRFD.js +0 -447
- package/dist/chunks/chunk-5Q7BMAF7.js +0 -152
- package/dist/chunks/chunk-5THEDQIA.js +0 -45
- package/dist/chunks/chunk-5V6AHUFX.js +0 -23
- package/dist/chunks/chunk-5WMSJE65.js +0 -30
- package/dist/chunks/chunk-5XELAKPZ.js +0 -1417
- package/dist/chunks/chunk-5XJ2AYTN.js +0 -176
- package/dist/chunks/chunk-5YUEBMWQ.js +0 -50
- package/dist/chunks/chunk-62BE72PV.js +0 -139
- package/dist/chunks/chunk-62NF3E3Z.js +0 -289
- package/dist/chunks/chunk-64N5Z664.js +0 -160
- package/dist/chunks/chunk-64RRDPUX.js +0 -45
- package/dist/chunks/chunk-67J55FQD.js +0 -48
- package/dist/chunks/chunk-6ATYCJUM.js +0 -209
- package/dist/chunks/chunk-6DARCYXR.js +0 -327
- package/dist/chunks/chunk-6GD7E56K.js +0 -106
- package/dist/chunks/chunk-6GEE2XXC.js +0 -171
- package/dist/chunks/chunk-6H5ABVQ5.js +0 -169
- package/dist/chunks/chunk-6INFB5D7.js +0 -598
- package/dist/chunks/chunk-6JORECGY.js +0 -125
- package/dist/chunks/chunk-6MB7G2CS.js +0 -237
- package/dist/chunks/chunk-6MLX3ZBH.js +0 -102
- package/dist/chunks/chunk-6ORLH7KQ.js +0 -107
- package/dist/chunks/chunk-6PWWBUJZ.js +0 -262
- package/dist/chunks/chunk-6Q7STEQI.js +0 -102
- package/dist/chunks/chunk-6QL6L4CC.js +0 -90
- package/dist/chunks/chunk-6QUCNDJB.js +0 -298
- package/dist/chunks/chunk-6RSSQGFR.js +0 -50
- package/dist/chunks/chunk-6RU7DY4T.js +0 -239
- package/dist/chunks/chunk-6SSUBGD4.js +0 -257
- package/dist/chunks/chunk-6UM32SMI.js +0 -104
- package/dist/chunks/chunk-6WDE43E2.js +0 -84
- package/dist/chunks/chunk-6WX2CX27.js +0 -146
- package/dist/chunks/chunk-6YDYXNZS.js +0 -206
- package/dist/chunks/chunk-72EN2GM3.js +0 -63
- package/dist/chunks/chunk-72SJLZSL.js +0 -146
- package/dist/chunks/chunk-736QYXKL.js +0 -156
- package/dist/chunks/chunk-73GM7SMY.js +0 -115
- package/dist/chunks/chunk-73KXOWY6.js +0 -312
- package/dist/chunks/chunk-746IKX37.js +0 -33
- package/dist/chunks/chunk-74TGAEJN.js +0 -77
- package/dist/chunks/chunk-74ZKVMM6.js +0 -103
- package/dist/chunks/chunk-77LOA6W3.js +0 -167
- package/dist/chunks/chunk-77SKSKFS.js +0 -39
- package/dist/chunks/chunk-7BBZAYVC.js +0 -90
- package/dist/chunks/chunk-7BU3OFZ5.js +0 -83
- package/dist/chunks/chunk-7DD3WL5G.js +0 -214
- package/dist/chunks/chunk-7E3TNR6S.js +0 -33
- package/dist/chunks/chunk-7EWQGZKX.js +0 -110
- package/dist/chunks/chunk-7EXV4QD6.js +0 -82
- package/dist/chunks/chunk-7FNPM4ZZ.js +0 -128
- package/dist/chunks/chunk-7KVG2DBF.js +0 -400
- package/dist/chunks/chunk-7LT2VIWT.js +0 -105
- package/dist/chunks/chunk-7MB44IGH.js +0 -23
- package/dist/chunks/chunk-7OI5GYB3.js +0 -95
- package/dist/chunks/chunk-7OPLMRVB.js +0 -136
- package/dist/chunks/chunk-7P5SDDVL.js +0 -283
- package/dist/chunks/chunk-7PNZY5MF.js +0 -339
- package/dist/chunks/chunk-7QKT6O7G.js +0 -277
- package/dist/chunks/chunk-7TMNUT3E.js +0 -97
- package/dist/chunks/chunk-7UEUVGOV.js +0 -189
- package/dist/chunks/chunk-7VXDT3P3.js +0 -250
- package/dist/chunks/chunk-7WNOYPKH.js +0 -112
- package/dist/chunks/chunk-7WZCT6O3.js +0 -86
- package/dist/chunks/chunk-7Y4V4R3K.js +0 -165
- package/dist/chunks/chunk-7YVNTUAA.js +0 -166
- package/dist/chunks/chunk-A2YJYMYD.js +0 -106
- package/dist/chunks/chunk-A366BDTR.js +0 -290
- package/dist/chunks/chunk-A3NMKKR5.js +0 -342
- package/dist/chunks/chunk-A4MNQDMN.js +0 -368
- package/dist/chunks/chunk-A5LJ7O7D.js +0 -45
- package/dist/chunks/chunk-A5UQIHEX.js +0 -172
- package/dist/chunks/chunk-A6TL6YI4.js +0 -97
- package/dist/chunks/chunk-ABHCHXIZ.js +0 -163
- package/dist/chunks/chunk-ABTU3RQD.js +0 -178
- package/dist/chunks/chunk-ADSXJ6GL.js +0 -358
- package/dist/chunks/chunk-AEF7XJSP.js +0 -90
- package/dist/chunks/chunk-AEFYMQ63.js +0 -23
- package/dist/chunks/chunk-AESETGSA.js +0 -142
- package/dist/chunks/chunk-AH5ASAOW.js +0 -382
- package/dist/chunks/chunk-AHPYPRFU.js +0 -162
- package/dist/chunks/chunk-AHTPAT74.js +0 -187
- package/dist/chunks/chunk-AHUTDOWE.js +0 -53
- package/dist/chunks/chunk-AKKY5E5T.js +0 -70
- package/dist/chunks/chunk-ALCYPLBP.js +0 -95
- package/dist/chunks/chunk-ALOOR53W.js +0 -49
- package/dist/chunks/chunk-ALTWDOR2.js +0 -155
- package/dist/chunks/chunk-ALXWYOHJ.js +0 -167
- package/dist/chunks/chunk-ANJRCWRY.js +0 -68
- package/dist/chunks/chunk-AO5T7BQ4.js +0 -172
- package/dist/chunks/chunk-AO76UYZV.js +0 -728
- package/dist/chunks/chunk-APTSFOES.js +0 -567
- package/dist/chunks/chunk-ARPMYNIL.js +0 -168
- package/dist/chunks/chunk-AS7PNTCB.js +0 -207
- package/dist/chunks/chunk-ASO3NE3Q.js +0 -86
- package/dist/chunks/chunk-AUEWBKUG.js +0 -23
- package/dist/chunks/chunk-AW6YPDI5.js +0 -468
- package/dist/chunks/chunk-AWBF6LVL.js +0 -78
- package/dist/chunks/chunk-AWNLWHPE.js +0 -161
- package/dist/chunks/chunk-AX6FTDP7.js +0 -405
- package/dist/chunks/chunk-AXER4QSO.js +0 -77
- package/dist/chunks/chunk-AZ4KGBU4.js +0 -135
- package/dist/chunks/chunk-AZSFLW3A.js +0 -446
- package/dist/chunks/chunk-AZZ67GQH.js +0 -162
- package/dist/chunks/chunk-B6DCHTDX.js +0 -166
- package/dist/chunks/chunk-B7ZBOTMW.js +0 -559
- package/dist/chunks/chunk-BAFLBIH5.js +0 -375
- package/dist/chunks/chunk-BANFL3Q2.js +0 -100
- package/dist/chunks/chunk-BBKSEWNP.js +0 -163
- package/dist/chunks/chunk-BCBSYJ5E.js +0 -88
- package/dist/chunks/chunk-BCZ5RCAA.js +0 -75
- package/dist/chunks/chunk-BDDRMGDH.js +0 -72
- package/dist/chunks/chunk-BDJ64GOX.js +0 -464
- package/dist/chunks/chunk-BDZA3I3L.js +0 -93
- package/dist/chunks/chunk-BE73SOCP.js +0 -79
- package/dist/chunks/chunk-BFA3D3MH.js +0 -140
- package/dist/chunks/chunk-BFEA7AGP.js +0 -57
- package/dist/chunks/chunk-BFXBYKBR.js +0 -358
- package/dist/chunks/chunk-BHBZQK7H.js +0 -307
- package/dist/chunks/chunk-BJP4IHZV.js +0 -189
- package/dist/chunks/chunk-BK2NCSLS.js +0 -898
- package/dist/chunks/chunk-BK7O4ABQ.js +0 -85
- package/dist/chunks/chunk-BKAL5QMT.js +0 -287
- package/dist/chunks/chunk-BKLAJAE7.js +0 -153
- package/dist/chunks/chunk-BKPEMUTK.js +0 -97
- package/dist/chunks/chunk-BKTVCZUD.js +0 -934
- package/dist/chunks/chunk-BLGRSMEL.js +0 -215
- package/dist/chunks/chunk-BLRHIRMJ.js +0 -145
- package/dist/chunks/chunk-BLVZPPMI.js +0 -55
- package/dist/chunks/chunk-BMQV47YE.js +0 -41
- package/dist/chunks/chunk-BP3M2BVT.js +0 -108
- package/dist/chunks/chunk-BPZ5OUW4.js +0 -169
- package/dist/chunks/chunk-BQAMLSZY.js +0 -23
- package/dist/chunks/chunk-BRSAYX27.js +0 -503
- package/dist/chunks/chunk-BS2DHNJQ.js +0 -151
- package/dist/chunks/chunk-BTH7UQEZ.js +0 -36
- package/dist/chunks/chunk-BUWKR7TY.js +0 -66
- package/dist/chunks/chunk-BV3E6JLF.js +0 -101
- package/dist/chunks/chunk-BVL32WAC.js +0 -45
- package/dist/chunks/chunk-BWH7OVS7.js +0 -30
- package/dist/chunks/chunk-BY5DFMJT.js +0 -361
- package/dist/chunks/chunk-BYP56X6Q.js +0 -120
- package/dist/chunks/chunk-BZ2XSYBK.js +0 -33
- package/dist/chunks/chunk-C2GTJPT5.js +0 -199
- package/dist/chunks/chunk-C33NBQDH.js +0 -70
- package/dist/chunks/chunk-C6LFMZAZ.js +0 -342
- package/dist/chunks/chunk-C6VCY4LK.js +0 -98
- package/dist/chunks/chunk-CBNF5C7W.js +0 -181
- package/dist/chunks/chunk-CCABFZQ2.js +0 -249
- package/dist/chunks/chunk-CDH3JOKU.js +0 -514
- package/dist/chunks/chunk-CEN2LBIV.js +0 -89
- package/dist/chunks/chunk-CEWX2VZZ.js +0 -33
- package/dist/chunks/chunk-CEZ5L7QU.js +0 -23
- package/dist/chunks/chunk-CHVM5HCX.js +0 -122
- package/dist/chunks/chunk-CK2I2JAW.js +0 -265
- package/dist/chunks/chunk-CLP5EMJU.js +0 -95
- package/dist/chunks/chunk-CMHNLVRP.js +0 -110
- package/dist/chunks/chunk-COOLUIUK.js +0 -85
- package/dist/chunks/chunk-COZR3DHT.js +0 -112
- package/dist/chunks/chunk-CQDUXYMY.js +0 -114
- package/dist/chunks/chunk-CQXQ65T7.js +0 -96
- package/dist/chunks/chunk-CS5BXF4Z.js +0 -126
- package/dist/chunks/chunk-CS5NXJQ7.js +0 -428
- package/dist/chunks/chunk-CTQ76EFC.js +0 -87
- package/dist/chunks/chunk-CUCFVFB4.js +0 -33
- package/dist/chunks/chunk-CUOEDJUE.js +0 -313
- package/dist/chunks/chunk-CVXJSPFT.js +0 -23
- package/dist/chunks/chunk-CXP2XNSD.js +0 -33
- package/dist/chunks/chunk-CY4G6XV4.js +0 -183
- package/dist/chunks/chunk-CYFDY4QO.js +0 -124
- package/dist/chunks/chunk-CYFOJEVT.js +0 -462
- package/dist/chunks/chunk-CYT4LHRH.js +0 -278
- package/dist/chunks/chunk-D2M72GEC.js +0 -287
- package/dist/chunks/chunk-D5UBLVJC.js +0 -115
- package/dist/chunks/chunk-D6TAQYUW.js +0 -155
- package/dist/chunks/chunk-D743NQ7U.js +0 -122
- package/dist/chunks/chunk-DBKSLTTY.js +0 -589
- package/dist/chunks/chunk-DCIPRZFJ.js +0 -346
- package/dist/chunks/chunk-DFMKIRSB.js +0 -61
- package/dist/chunks/chunk-DG3L2X4M.js +0 -156
- package/dist/chunks/chunk-DG7B6NTD.js +0 -69
- package/dist/chunks/chunk-DGWIZ65I.js +0 -112
- package/dist/chunks/chunk-DILLP355.js +0 -231
- package/dist/chunks/chunk-DLNH5ELV.js +0 -251
- package/dist/chunks/chunk-DMQFPRX6.js +0 -206
- package/dist/chunks/chunk-DNZ2AOYR.js +0 -194
- package/dist/chunks/chunk-DOR4DVL3.js +0 -33
- package/dist/chunks/chunk-DP5UQ7F6.js +0 -115
- package/dist/chunks/chunk-DPZIGGUE.js +0 -36
- package/dist/chunks/chunk-DQKPQ7X3.js +0 -55
- package/dist/chunks/chunk-DQZYFBNA.js +0 -144
- package/dist/chunks/chunk-DRAZG5JE.js +0 -198
- package/dist/chunks/chunk-DW3RUW7V.js +0 -152
- package/dist/chunks/chunk-DX5UILXN.js +0 -278
- package/dist/chunks/chunk-DXGWGX7L.js +0 -130
- package/dist/chunks/chunk-E23PSFVK.js +0 -320
- package/dist/chunks/chunk-E4A5H4LO.js +0 -104
- package/dist/chunks/chunk-E4RJO5JN.js +0 -33
- package/dist/chunks/chunk-E6HN4AVB.js +0 -99
- package/dist/chunks/chunk-EAWGPZ3Q.js +0 -143
- package/dist/chunks/chunk-EEEV2HBG.js +0 -1845
- package/dist/chunks/chunk-EEKP5FIN.js +0 -115
- package/dist/chunks/chunk-EEKRBOIG.js +0 -158
- package/dist/chunks/chunk-EF5I7MBI.js +0 -88
- package/dist/chunks/chunk-EFH3V3CO.js +0 -99
- package/dist/chunks/chunk-EGZYSQNC.js +0 -1852
- package/dist/chunks/chunk-EISOKWM5.js +0 -94
- package/dist/chunks/chunk-EKPOCOTQ.js +0 -123
- package/dist/chunks/chunk-EM5Y65RW.js +0 -115
- package/dist/chunks/chunk-ERMBTJFH.js +0 -68
- package/dist/chunks/chunk-ETG3UZQH.js +0 -390
- package/dist/chunks/chunk-EUD3YA6W.js +0 -109
- package/dist/chunks/chunk-EVGE7TMY.js +0 -270
- package/dist/chunks/chunk-EVGXYWRI.js +0 -86
- package/dist/chunks/chunk-EXCAWNOK.js +0 -122
- package/dist/chunks/chunk-EXGRNGIF.js +0 -174
- package/dist/chunks/chunk-EXTTPI23.js +0 -234
- package/dist/chunks/chunk-F2XOAHOX.js +0 -172
- package/dist/chunks/chunk-F3PBS2Z5.js +0 -10430
- package/dist/chunks/chunk-F3T7IZQX.js +0 -262
- package/dist/chunks/chunk-F3WFS3DH.js +0 -1309
- package/dist/chunks/chunk-F4DWI6PP.js +0 -106
- package/dist/chunks/chunk-F55GS4QD.js +0 -91
- package/dist/chunks/chunk-F5QMTVNQ.js +0 -113
- package/dist/chunks/chunk-F6BXYNGQ.js +0 -60
- package/dist/chunks/chunk-FANZEXDN.js +0 -330
- package/dist/chunks/chunk-FBYAVEBG.js +0 -50
- package/dist/chunks/chunk-FH2DWA3S.js +0 -54
- package/dist/chunks/chunk-FJ7TOARV.js +0 -92
- package/dist/chunks/chunk-FJACE5LJ.js +0 -1314
- package/dist/chunks/chunk-FKM5QJPI.js +0 -425
- package/dist/chunks/chunk-FKXNWGPJ.js +0 -396
- package/dist/chunks/chunk-FKZ47PUG.js +0 -255
- package/dist/chunks/chunk-FLU7LPSX.js +0 -135
- package/dist/chunks/chunk-FMPZ3DBF.js +0 -41
- package/dist/chunks/chunk-FNSQXVUU.js +0 -279
- package/dist/chunks/chunk-FPEHJOJ7.js +0 -33
- package/dist/chunks/chunk-FPVAYCCJ.js +0 -85
- package/dist/chunks/chunk-FRYMEHRL.js +0 -87
- package/dist/chunks/chunk-FSCWQ3UZ.js +0 -79
- package/dist/chunks/chunk-FSHKXVPS.js +0 -181
- package/dist/chunks/chunk-FT64PUMZ.js +0 -10257
- package/dist/chunks/chunk-FTLHLXLN.js +0 -112
- package/dist/chunks/chunk-FV2V7ZGO.js +0 -23
- package/dist/chunks/chunk-FVB7H2SV.js +0 -303
- package/dist/chunks/chunk-FVLWMQC6.js +0 -83
- package/dist/chunks/chunk-FWAXG5DS.js +0 -159
- package/dist/chunks/chunk-FXV3VBDD.js +0 -33
- package/dist/chunks/chunk-FXY6XOSH.js +0 -82
- package/dist/chunks/chunk-G33U3C3W.js +0 -130
- package/dist/chunks/chunk-G3ND2T3K.js +0 -165
- package/dist/chunks/chunk-G43HSF7U.js +0 -48
- package/dist/chunks/chunk-G5MJQKQM.js +0 -345
- package/dist/chunks/chunk-G5S57LX5.js +0 -181
- package/dist/chunks/chunk-G772MSHU.js +0 -180
- package/dist/chunks/chunk-GBJQVUPD.js +0 -102
- package/dist/chunks/chunk-GDMUTL7Y.js +0 -53
- package/dist/chunks/chunk-GIUWBQBI.js +0 -190
- package/dist/chunks/chunk-GL2MVS5A.js +0 -213
- package/dist/chunks/chunk-GLDU3QQ7.js +0 -77
- package/dist/chunks/chunk-GLSJFVGH.js +0 -200
- package/dist/chunks/chunk-GMQK723T.js +0 -118
- package/dist/chunks/chunk-GOGBRXLK.js +0 -390
- package/dist/chunks/chunk-GOPOD3NF.js +0 -23
- package/dist/chunks/chunk-GQJJ73RU.js +0 -97
- package/dist/chunks/chunk-GR6BXW7J.js +0 -48
- package/dist/chunks/chunk-GRIXLCLC.js +0 -157
- package/dist/chunks/chunk-GRYD6UED.js +0 -136
- package/dist/chunks/chunk-GT4AW33E.js +0 -82
- package/dist/chunks/chunk-GTTRDE2X.js +0 -105
- package/dist/chunks/chunk-GU6564SX.js +0 -109
- package/dist/chunks/chunk-GXESSXMT.js +0 -252
- package/dist/chunks/chunk-GXMPFWUM.js +0 -112
- package/dist/chunks/chunk-GXNMEGOS.js +0 -140
- package/dist/chunks/chunk-H26FPFWA.js +0 -84
- package/dist/chunks/chunk-H3OY342N.js +0 -147
- package/dist/chunks/chunk-H4S2N6DB.js +0 -179
- package/dist/chunks/chunk-H5HJYIZ2.js +0 -163
- package/dist/chunks/chunk-H67DGXP7.js +0 -200
- package/dist/chunks/chunk-H7APJEJD.js +0 -361
- package/dist/chunks/chunk-H7QATALB.js +0 -100
- package/dist/chunks/chunk-HAXRZ3PV.js +0 -33
- package/dist/chunks/chunk-HBDKVOO7.js +0 -83
- package/dist/chunks/chunk-HBHZLBCU.js +0 -78
- package/dist/chunks/chunk-HC5VJJY5.js +0 -45
- package/dist/chunks/chunk-HFFOXQLH.js +0 -109
- package/dist/chunks/chunk-HIHIURVX.js +0 -120
- package/dist/chunks/chunk-HINXTSAG.js +0 -153
- package/dist/chunks/chunk-HIVSDEQN.js +0 -92
- package/dist/chunks/chunk-HIXHFYCL.js +0 -116
- package/dist/chunks/chunk-HJ5A6TTS.js +0 -298
- package/dist/chunks/chunk-HN3TP7WW.js +0 -344
- package/dist/chunks/chunk-HNRQXQ3Z.js +0 -202
- package/dist/chunks/chunk-HNVOG34I.js +0 -414
- package/dist/chunks/chunk-HO7IYGE2.js +0 -232
- package/dist/chunks/chunk-HOU6BFJL.js +0 -137
- package/dist/chunks/chunk-HQ6SFNVJ.js +0 -214
- package/dist/chunks/chunk-HQTJKBFB.js +0 -282
- package/dist/chunks/chunk-HQWYTDW4.js +0 -626
- package/dist/chunks/chunk-HTYJTG3S.js +0 -23
- package/dist/chunks/chunk-HUIIAMPJ.js +0 -98
- package/dist/chunks/chunk-HUR4UIPF.js +0 -36
- package/dist/chunks/chunk-HUWQSNGR.js +0 -174
- package/dist/chunks/chunk-HX42F7C3.js +0 -33
- package/dist/chunks/chunk-HXOA2QJ4.js +0 -135
- package/dist/chunks/chunk-HXU4NHIC.js +0 -60
- package/dist/chunks/chunk-HY3KI4DC.js +0 -122
- package/dist/chunks/chunk-HY7NTJVQ.js +0 -685
- package/dist/chunks/chunk-I5B4QH7C.js +0 -171
- package/dist/chunks/chunk-IA7MV6TO.js +0 -116
- package/dist/chunks/chunk-ICEGQ27D.js +0 -161
- package/dist/chunks/chunk-IELFYML3.js +0 -97
- package/dist/chunks/chunk-IFO53RL5.js +0 -151
- package/dist/chunks/chunk-IGDNVGS5.js +0 -23
- package/dist/chunks/chunk-IGYTJSGM.js +0 -172
- package/dist/chunks/chunk-IK7SIOZF.js +0 -340
- package/dist/chunks/chunk-IKGOHJJP.js +0 -1469
- package/dist/chunks/chunk-ILTT435R.js +0 -98
- package/dist/chunks/chunk-INMTFOTW.js +0 -161
- package/dist/chunks/chunk-INUGWICA.js +0 -284
- package/dist/chunks/chunk-IP5XZ7U6.js +0 -113
- package/dist/chunks/chunk-IQDKL6R5.js +0 -564
- package/dist/chunks/chunk-IQWEDFUE.js +0 -479
- package/dist/chunks/chunk-IQXCYSUJ.js +0 -162
- package/dist/chunks/chunk-IRTMYH5Q.js +0 -152
- package/dist/chunks/chunk-ISTSGVOI.js +0 -122
- package/dist/chunks/chunk-IUHK5VMN.js +0 -141
- package/dist/chunks/chunk-IX3MCN7I.js +0 -23
- package/dist/chunks/chunk-IYNF57LW.js +0 -191
- package/dist/chunks/chunk-J2CQR5GG.js +0 -261
- package/dist/chunks/chunk-J2GDWPKA.js +0 -415
- package/dist/chunks/chunk-J2ILV2DS.js +0 -215
- package/dist/chunks/chunk-J2RFWESW.js +0 -266
- package/dist/chunks/chunk-J54LSKDU.js +0 -80
- package/dist/chunks/chunk-J54YUKRF.js +0 -94
- package/dist/chunks/chunk-J6IPNDUM.js +0 -28
- package/dist/chunks/chunk-JCMCCHLG.js +0 -183
- package/dist/chunks/chunk-JED64J2B.js +0 -326
- package/dist/chunks/chunk-JERM3DFR.js +0 -45
- package/dist/chunks/chunk-JH3F3JX7.js +0 -805
- package/dist/chunks/chunk-JHBCGWB5.js +0 -33
- package/dist/chunks/chunk-JHK6PHIC.js +0 -75
- package/dist/chunks/chunk-JHZS7LRC.js +0 -170
- package/dist/chunks/chunk-JKKSPRSL.js +0 -2697
- package/dist/chunks/chunk-JMZLIV6H.js +0 -23
- package/dist/chunks/chunk-JOHSJ7LV.js +0 -156
- package/dist/chunks/chunk-JON74ASW.js +0 -33
- package/dist/chunks/chunk-JPWF33OG.js +0 -23
- package/dist/chunks/chunk-JQMNOPQS.js +0 -100
- package/dist/chunks/chunk-JRXHWEUB.js +0 -159
- package/dist/chunks/chunk-JT66GRIA.js +0 -80
- package/dist/chunks/chunk-JWBGBLXF.js +0 -78
- package/dist/chunks/chunk-JWNGZNQI.js +0 -177
- package/dist/chunks/chunk-JWSOXNT4.js +0 -261
- package/dist/chunks/chunk-JZ62DWIY.js +0 -197
- package/dist/chunks/chunk-JZNZTZ3Y.js +0 -172
- package/dist/chunks/chunk-K4PPZBTE.js +0 -81
- package/dist/chunks/chunk-K4UEPBUR.js +0 -119
- package/dist/chunks/chunk-K5YO4WFC.js +0 -263
- package/dist/chunks/chunk-K7PB2G73.js +0 -154
- package/dist/chunks/chunk-K7TGFJDQ.js +0 -54
- package/dist/chunks/chunk-KA6COJ7W.js +0 -73
- package/dist/chunks/chunk-KAX3ZDUM.js +0 -23
- package/dist/chunks/chunk-KCQTIKW7.js +0 -94
- package/dist/chunks/chunk-KD3Z22X7.js +0 -260
- package/dist/chunks/chunk-KDFUOP67.js +0 -104
- package/dist/chunks/chunk-KE66CHUW.js +0 -150
- package/dist/chunks/chunk-KGTPUN4R.js +0 -45
- package/dist/chunks/chunk-KM4S3TJI.js +0 -106
- package/dist/chunks/chunk-KOKXNVTI.js +0 -304
- package/dist/chunks/chunk-KOTWBFUZ.js +0 -122
- package/dist/chunks/chunk-KPGPTMRT.js +0 -184
- package/dist/chunks/chunk-KQP6EB3V.js +0 -258
- package/dist/chunks/chunk-KR53QGWL.js +0 -103
- package/dist/chunks/chunk-KR5N7B5K.js +0 -79
- package/dist/chunks/chunk-KRF45S3K.js +0 -149
- package/dist/chunks/chunk-KU4ODHCP.js +0 -221
- package/dist/chunks/chunk-KUC64L75.js +0 -23
- package/dist/chunks/chunk-KUIMMDUQ.js +0 -132
- package/dist/chunks/chunk-KVNE6F54.js +0 -108
- package/dist/chunks/chunk-KW5FAIRQ.js +0 -97
- package/dist/chunks/chunk-KWCCCFDL.js +0 -362
- package/dist/chunks/chunk-KXWWVJAD.js +0 -159
- package/dist/chunks/chunk-L255OOIJ.js +0 -23
- package/dist/chunks/chunk-L2PVEWZX.js +0 -1403
- package/dist/chunks/chunk-L33MBLWI.js +0 -120
- package/dist/chunks/chunk-L3GH7G5A.js +0 -97
- package/dist/chunks/chunk-L4SB4J7W.js +0 -224
- package/dist/chunks/chunk-L5YM3ZUD.js +0 -411
- package/dist/chunks/chunk-L6ZIQVQW.js +0 -147
- package/dist/chunks/chunk-L7Q2A4HE.js +0 -81
- package/dist/chunks/chunk-LANKNRW6.js +0 -127
- package/dist/chunks/chunk-LBCJNVDM.js +0 -282
- package/dist/chunks/chunk-LF6CUVDA.js +0 -66
- package/dist/chunks/chunk-LH4QSUP6.js +0 -149
- package/dist/chunks/chunk-LJIFA7OA.js +0 -36
- package/dist/chunks/chunk-LJORJK4S.js +0 -162
- package/dist/chunks/chunk-LMVHQPVH.js +0 -336
- package/dist/chunks/chunk-LNTJFNP6.js +0 -149
- package/dist/chunks/chunk-LOQKCIP3.js +0 -166
- package/dist/chunks/chunk-LP4QBBTE.js +0 -121
- package/dist/chunks/chunk-LQNJSSJH.js +0 -738
- package/dist/chunks/chunk-LQZTK54J.js +0 -80
- package/dist/chunks/chunk-LRD5KELJ.js +0 -331
- package/dist/chunks/chunk-LSSXVR7J.js +0 -33
- package/dist/chunks/chunk-LSXHY2E3.js +0 -226
- package/dist/chunks/chunk-LUG6KXX6.js +0 -247
- package/dist/chunks/chunk-LVFZLYA6.js +0 -71
- package/dist/chunks/chunk-LX3BO46H.js +0 -23
- package/dist/chunks/chunk-LXAJCD2B.js +0 -164
- package/dist/chunks/chunk-LYEKBGY3.js +0 -103
- package/dist/chunks/chunk-LZ6VCVPG.js +0 -77
- package/dist/chunks/chunk-LZNCBLPM.js +0 -331
- package/dist/chunks/chunk-M3C5ZRGY.js +0 -94
- package/dist/chunks/chunk-M3FQKI34.js +0 -49
- package/dist/chunks/chunk-M446T4GD.js +0 -47
- package/dist/chunks/chunk-M5DNNRWP.js +0 -179
- package/dist/chunks/chunk-M5Y4CGSD.js +0 -95
- package/dist/chunks/chunk-M6GX4QGN.js +0 -23
- package/dist/chunks/chunk-MADUAHCW.js +0 -44
- package/dist/chunks/chunk-MBUJY7ZM.js +0 -97
- package/dist/chunks/chunk-MCBA5PYW.js +0 -78
- package/dist/chunks/chunk-MD3CNNTN.js +0 -1703
- package/dist/chunks/chunk-MD5D6OLN.js +0 -106
- package/dist/chunks/chunk-MEBXMULY.js +0 -60
- package/dist/chunks/chunk-MEQLYV5D.js +0 -138
- package/dist/chunks/chunk-MFJYGJXY.js +0 -55
- package/dist/chunks/chunk-MHFKH2IY.js +0 -105
- package/dist/chunks/chunk-MHYUCRHS.js +0 -117
- package/dist/chunks/chunk-MILKCQXM.js +0 -45
- package/dist/chunks/chunk-MKFBBPTX.js +0 -204
- package/dist/chunks/chunk-ML4A2JDZ.js +0 -130
- package/dist/chunks/chunk-MLABEMJM.js +0 -192
- package/dist/chunks/chunk-MLQPEJTK.js +0 -149
- package/dist/chunks/chunk-MLSKLLYQ.js +0 -204
- package/dist/chunks/chunk-MOMQWBH6.js +0 -324
- package/dist/chunks/chunk-MOSAOGFN.js +0 -166
- package/dist/chunks/chunk-MPMVWYYW.js +0 -33
- package/dist/chunks/chunk-MRAUIPKI.js +0 -157
- package/dist/chunks/chunk-MSW3X4BA.js +0 -84
- package/dist/chunks/chunk-MTE6X5VC.js +0 -140
- package/dist/chunks/chunk-MTSDYYMU.js +0 -65
- package/dist/chunks/chunk-MUKNZNAK.js +0 -221
- package/dist/chunks/chunk-MURFW4ZP.js +0 -118
- package/dist/chunks/chunk-MWK566ZP.js +0 -33
- package/dist/chunks/chunk-MWUZNVHD.js +0 -218
- package/dist/chunks/chunk-MXZFLC5S.js +0 -94
- package/dist/chunks/chunk-N2P2TEPJ.js +0 -47
- package/dist/chunks/chunk-N4B5JKYQ.js +0 -79
- package/dist/chunks/chunk-N4W4N6FH.js +0 -77
- package/dist/chunks/chunk-N7CVITH5.js +0 -105
- package/dist/chunks/chunk-NB5FUEKP.js +0 -120
- package/dist/chunks/chunk-NCLNZUVL.js +0 -251
- package/dist/chunks/chunk-NDMHEXLJ.js +0 -191
- package/dist/chunks/chunk-NDWTIBDJ.js +0 -49
- package/dist/chunks/chunk-NGJDXAI6.js +0 -152
- package/dist/chunks/chunk-NHC2EC7I.js +0 -209
- package/dist/chunks/chunk-NHCTM5LK.js +0 -272
- package/dist/chunks/chunk-NJ24IK3I.js +0 -237
- package/dist/chunks/chunk-NMOHW2VC.js +0 -33
- package/dist/chunks/chunk-NOVKCW2C.js +0 -62
- package/dist/chunks/chunk-NOWU7J6M.js +0 -95
- package/dist/chunks/chunk-NP7UROCD.js +0 -23
- package/dist/chunks/chunk-NPGYLWMC.js +0 -155
- package/dist/chunks/chunk-NRIV7B72.js +0 -111
- package/dist/chunks/chunk-NRNSNWH3.js +0 -290
- package/dist/chunks/chunk-NWZ2SF2Q.js +0 -106
- package/dist/chunks/chunk-O2DXM3NN.js +0 -209
- package/dist/chunks/chunk-O7KIQRJE.js +0 -961
- package/dist/chunks/chunk-O7LJ5MTG.js +0 -368
- package/dist/chunks/chunk-OAF6KIHF.js +0 -23
- package/dist/chunks/chunk-OAX326NF.js +0 -151
- package/dist/chunks/chunk-OB45NVRI.js +0 -95
- package/dist/chunks/chunk-OCGDGQ3Q.js +0 -105
- package/dist/chunks/chunk-OD4JUS3I.js +0 -273
- package/dist/chunks/chunk-ODBZ2B7E.js +0 -92
- package/dist/chunks/chunk-OEEADGLC.js +0 -93
- package/dist/chunks/chunk-OF3ZUVQV.js +0 -53
- package/dist/chunks/chunk-OIKZLGMK.js +0 -163
- package/dist/chunks/chunk-OJVY3FUG.js +0 -147
- package/dist/chunks/chunk-OKRA5H2C.js +0 -183
- package/dist/chunks/chunk-OM3JRZID.js +0 -145
- package/dist/chunks/chunk-ONCIXSES.js +0 -349
- package/dist/chunks/chunk-ONYKEBP7.js +0 -196
- package/dist/chunks/chunk-OOAIESKA.js +0 -131
- package/dist/chunks/chunk-OOQHXBJG.js +0 -74
- package/dist/chunks/chunk-OQCBVCDW.js +0 -230
- package/dist/chunks/chunk-OQGOE2JV.js +0 -71
- package/dist/chunks/chunk-OQH7D3CY.js +0 -112
- package/dist/chunks/chunk-OR53DAT7.js +0 -156
- package/dist/chunks/chunk-OSW3XIUJ.js +0 -117
- package/dist/chunks/chunk-OV37TCIM.js +0 -180
- package/dist/chunks/chunk-OVK2DTCA.js +0 -91
- package/dist/chunks/chunk-OWHL7KQX.js +0 -155
- package/dist/chunks/chunk-OWNJYIGT.js +0 -33
- package/dist/chunks/chunk-OX5S2D7S.js +0 -23
- package/dist/chunks/chunk-OYFNYOIR.js +0 -108
- package/dist/chunks/chunk-OYMGW62N.js +0 -182
- package/dist/chunks/chunk-OYO7EPXI.js +0 -626
- package/dist/chunks/chunk-OYVSQN53.js +0 -293
- package/dist/chunks/chunk-OYXYB5F3.js +0 -317
- package/dist/chunks/chunk-P25LT2DI.js +0 -106
- package/dist/chunks/chunk-P3N7R4FX.js +0 -192
- package/dist/chunks/chunk-P4LS7VY3.js +0 -304
- package/dist/chunks/chunk-P62XAZLF.js +0 -111
- package/dist/chunks/chunk-P6RNNNJY.js +0 -41
- package/dist/chunks/chunk-PBV5J3ZP.js +0 -107
- package/dist/chunks/chunk-PE3BJZL2.js +0 -33
- package/dist/chunks/chunk-PEBSMQIL.js +0 -93
- package/dist/chunks/chunk-PF2A34CV.js +0 -74
- package/dist/chunks/chunk-PGLC27AR.js +0 -139
- package/dist/chunks/chunk-PGWNYVRE.js +0 -99
- package/dist/chunks/chunk-PI7FKP3M.js +0 -78
- package/dist/chunks/chunk-PJIAF3CV.js +0 -169
- package/dist/chunks/chunk-PK3EAEV5.js +0 -164
- package/dist/chunks/chunk-PKVZ655F.js +0 -104
- package/dist/chunks/chunk-PLGMWAG5.js +0 -33
- package/dist/chunks/chunk-PLPDATJ4.js +0 -361
- package/dist/chunks/chunk-PM4LQFIF.js +0 -163
- package/dist/chunks/chunk-PM5X3BWQ.js +0 -262
- package/dist/chunks/chunk-PMIHVYFM.js +0 -45
- package/dist/chunks/chunk-PMOL6VAX.js +0 -23
- package/dist/chunks/chunk-PN6ARAFJ.js +0 -103
- package/dist/chunks/chunk-PO7ZZIDH.js +0 -33
- package/dist/chunks/chunk-PPHOMWRF.js +0 -292
- package/dist/chunks/chunk-PQDJLSIE.js +0 -59
- package/dist/chunks/chunk-PR5LPJ6Z.js +0 -199
- package/dist/chunks/chunk-PRX5DGYR.js +0 -1136
- package/dist/chunks/chunk-PSBYKO3P.js +0 -115
- package/dist/chunks/chunk-PSEST6IG.js +0 -23
- package/dist/chunks/chunk-PT3NCF4O.js +0 -117
- package/dist/chunks/chunk-PTH3J6YC.js +0 -204
- package/dist/chunks/chunk-PTH4P5XH.js +0 -202
- package/dist/chunks/chunk-PURRXDKI.js +0 -122
- package/dist/chunks/chunk-PV3QBLLV.js +0 -23
- package/dist/chunks/chunk-PVEC5TQV.js +0 -84
- package/dist/chunks/chunk-PXWRVSDY.js +0 -96
- package/dist/chunks/chunk-PY3VG7C7.js +0 -117
- package/dist/chunks/chunk-Q3HWR7WV.js +0 -33
- package/dist/chunks/chunk-Q3NEE22Z.js +0 -135
- package/dist/chunks/chunk-Q3P3OCCA.js +0 -263
- package/dist/chunks/chunk-Q4NPFLZP.js +0 -334
- package/dist/chunks/chunk-Q5B27M2E.js +0 -176
- package/dist/chunks/chunk-Q6ABNKHZ.js +0 -33
- package/dist/chunks/chunk-Q6EAS2PD.js +0 -1574
- package/dist/chunks/chunk-Q6GR5B4J.js +0 -129
- package/dist/chunks/chunk-Q6VOYIEN.js +0 -23
- package/dist/chunks/chunk-Q6W3ED7U.js +0 -173
- package/dist/chunks/chunk-Q74DS57X.js +0 -42
- package/dist/chunks/chunk-Q7CYTOOO.js +0 -197
- package/dist/chunks/chunk-Q7DDDF7H.js +0 -125
- package/dist/chunks/chunk-Q7GFLR34.js +0 -261
- package/dist/chunks/chunk-QA2M264F.js +0 -301
- package/dist/chunks/chunk-QAAOCRPQ.js +0 -23
- package/dist/chunks/chunk-QAHFRWI5.js +0 -150
- package/dist/chunks/chunk-QAY5BZRT.js +0 -407
- package/dist/chunks/chunk-QC2P47JT.js +0 -73
- package/dist/chunks/chunk-QC4YCBUH.js +0 -217
- package/dist/chunks/chunk-QDB6ORI7.js +0 -46
- package/dist/chunks/chunk-QDEXFV4K.js +0 -222
- package/dist/chunks/chunk-QEFBTJQK.js +0 -36
- package/dist/chunks/chunk-QEITM3DF.js +0 -87
- package/dist/chunks/chunk-QEPDNSV2.js +0 -187
- package/dist/chunks/chunk-QERV5NI7.js +0 -45
- package/dist/chunks/chunk-QEUB2PV4.js +0 -110
- package/dist/chunks/chunk-QFIKWJ4I.js +0 -23
- package/dist/chunks/chunk-QGADSYY2.js +0 -33
- package/dist/chunks/chunk-QGDA2K4G.js +0 -111
- package/dist/chunks/chunk-QGY4NWJL.js +0 -145
- package/dist/chunks/chunk-QKGLM6S6.js +0 -177
- package/dist/chunks/chunk-QKRKEBTW.js +0 -136
- package/dist/chunks/chunk-QKWILJJQ.js +0 -102
- package/dist/chunks/chunk-QLLFC4QQ.js +0 -119
- package/dist/chunks/chunk-QLVXGUVX.js +0 -311
- package/dist/chunks/chunk-QMG2WFT7.js +0 -89
- package/dist/chunks/chunk-QSFXVBCH.js +0 -51
- package/dist/chunks/chunk-QSHDP7NV.js +0 -84
- package/dist/chunks/chunk-QTWZXXD7.js +0 -42
- package/dist/chunks/chunk-QWTH42WJ.js +0 -133
- package/dist/chunks/chunk-QZUD5ENW.js +0 -93
- package/dist/chunks/chunk-R37FEYUE.js +0 -111
- package/dist/chunks/chunk-R3OPEZU5.js +0 -135
- package/dist/chunks/chunk-R3S5HGT7.js +0 -242
- package/dist/chunks/chunk-R3SGU5C2.js +0 -127
- package/dist/chunks/chunk-R4XCMOP6.js +0 -41
- package/dist/chunks/chunk-R5MZLSE3.js +0 -200
- package/dist/chunks/chunk-R6KSKAKJ.js +0 -23
- package/dist/chunks/chunk-R7JR2KN4.js +0 -50
- package/dist/chunks/chunk-RADUFSG6.js +0 -63
- package/dist/chunks/chunk-RAPMSKJZ.js +0 -180
- package/dist/chunks/chunk-RD5ADTB3.js +0 -48
- package/dist/chunks/chunk-RET3ZYRN.js +0 -96
- package/dist/chunks/chunk-RFPYKFDQ.js +0 -152
- package/dist/chunks/chunk-RKSQQNGK.js +0 -65
- package/dist/chunks/chunk-RNNYHLDZ.js +0 -155
- package/dist/chunks/chunk-RPMESWR4.js +0 -134
- package/dist/chunks/chunk-RPNQOJQV.js +0 -168
- package/dist/chunks/chunk-RQ5U5FO2.js +0 -231
- package/dist/chunks/chunk-RRVFMTPY.js +0 -366
- package/dist/chunks/chunk-RRYT6H74.js +0 -382
- package/dist/chunks/chunk-RTCRHKLA.js +0 -436
- package/dist/chunks/chunk-RUBUBDAU.js +0 -198
- package/dist/chunks/chunk-RUEBWGYH.js +0 -95
- package/dist/chunks/chunk-RVTQHBJI.js +0 -33
- package/dist/chunks/chunk-RWCEINGW.js +0 -242
- package/dist/chunks/chunk-RWS5TLPK.js +0 -399
- package/dist/chunks/chunk-RZOTPSUI.js +0 -238
- package/dist/chunks/chunk-S2YQE67E.js +0 -188
- package/dist/chunks/chunk-S3OWOWVA.js +0 -277
- package/dist/chunks/chunk-S5GA3PF3.js +0 -41
- package/dist/chunks/chunk-S5UL7AHD.js +0 -173
- package/dist/chunks/chunk-SBPTHEWP.js +0 -141
- package/dist/chunks/chunk-SC7BLI2C.js +0 -315
- package/dist/chunks/chunk-SCDFPHHK.js +0 -255
- package/dist/chunks/chunk-SCGTY227.js +0 -210
- package/dist/chunks/chunk-SEOTK6BM.js +0 -184
- package/dist/chunks/chunk-SEQ3ZVTW.js +0 -100
- package/dist/chunks/chunk-SEY2W2V7.js +0 -187
- package/dist/chunks/chunk-SFEH3O2W.js +0 -177
- package/dist/chunks/chunk-SFIMSLDI.js +0 -88
- package/dist/chunks/chunk-SH4G4SM2.js +0 -101
- package/dist/chunks/chunk-SIIGUZMN.js +0 -293
- package/dist/chunks/chunk-SJL26SFT.js +0 -95
- package/dist/chunks/chunk-SK46Y2YJ.js +0 -282
- package/dist/chunks/chunk-SKLN4F3Z.js +0 -250
- package/dist/chunks/chunk-SM537DTD.js +0 -179
- package/dist/chunks/chunk-SMH3KEEV.js +0 -23
- package/dist/chunks/chunk-SMJ5MBOF.js +0 -139
- package/dist/chunks/chunk-SMVXPB5C.js +0 -251
- package/dist/chunks/chunk-SOL4YAAL.js +0 -131
- package/dist/chunks/chunk-SRYDEY76.js +0 -225
- package/dist/chunks/chunk-SSACDPU7.js +0 -30
- package/dist/chunks/chunk-SSE4U3PC.js +0 -94
- package/dist/chunks/chunk-SUPU3CPH.js +0 -93
- package/dist/chunks/chunk-SVERH6QF.js +0 -186
- package/dist/chunks/chunk-SW2BVYTM.js +0 -170
- package/dist/chunks/chunk-SWG5RUCL.js +0 -165
- package/dist/chunks/chunk-SYBOEL4G.js +0 -305
- package/dist/chunks/chunk-SYBOUNDA.js +0 -93
- package/dist/chunks/chunk-SYOF34F3.js +0 -1393
- package/dist/chunks/chunk-SYTMJZ5B.js +0 -55
- package/dist/chunks/chunk-SZHX64CE.js +0 -206
- package/dist/chunks/chunk-SZJJKURI.js +0 -112
- package/dist/chunks/chunk-T2UMMWEQ.js +0 -140
- package/dist/chunks/chunk-T33TCHGQ.js +0 -85
- package/dist/chunks/chunk-T4WEZDPV.js +0 -299
- package/dist/chunks/chunk-T6657ORZ.js +0 -274
- package/dist/chunks/chunk-T6YPYMLZ.js +0 -83
- package/dist/chunks/chunk-T7LE66RN.js +0 -119
- package/dist/chunks/chunk-TA7CG3S6.js +0 -105
- package/dist/chunks/chunk-TAC2VKGG.js +0 -92
- package/dist/chunks/chunk-TBI34EDM.js +0 -147
- package/dist/chunks/chunk-TBS7RDIP.js +0 -260
- package/dist/chunks/chunk-TBSK2JTM.js +0 -97
- package/dist/chunks/chunk-TCJ7DJNH.js +0 -131
- package/dist/chunks/chunk-TCQNIARN.js +0 -157
- package/dist/chunks/chunk-TCVKWVOW.js +0 -235
- package/dist/chunks/chunk-TD72RBPH.js +0 -213
- package/dist/chunks/chunk-TFGSTAGP.js +0 -147
- package/dist/chunks/chunk-TFQB2EIR.js +0 -109
- package/dist/chunks/chunk-TGEA7DI7.js +0 -33
- package/dist/chunks/chunk-TH2HFPCP.js +0 -87
- package/dist/chunks/chunk-TJ4QWB3L.js +0 -77
- package/dist/chunks/chunk-TJPOXAWY.js +0 -23
- package/dist/chunks/chunk-TJU5BHT6.js +0 -282
- package/dist/chunks/chunk-TKJYE6YE.js +0 -169
- package/dist/chunks/chunk-TLOTGOJC.js +0 -191
- package/dist/chunks/chunk-TMLSFXBE.js +0 -133
- package/dist/chunks/chunk-TMYMT3LU.js +0 -64
- package/dist/chunks/chunk-TNRQ7TC6.js +0 -130
- package/dist/chunks/chunk-TOCLCQBQ.js +0 -193
- package/dist/chunks/chunk-TPVXQOXC.js +0 -208
- package/dist/chunks/chunk-TTZY45HB.js +0 -52
- package/dist/chunks/chunk-TUFPJFTC.js +0 -130
- package/dist/chunks/chunk-TUPHMLPV.js +0 -55
- package/dist/chunks/chunk-TWXQDQQC.js +0 -123
- package/dist/chunks/chunk-TXOJAHZC.js +0 -196
- package/dist/chunks/chunk-TZ7EADAQ.js +0 -90
- package/dist/chunks/chunk-U3RM5JMY.js +0 -338
- package/dist/chunks/chunk-U3RRJJYH.js +0 -443
- package/dist/chunks/chunk-U4HKNMIH.js +0 -150
- package/dist/chunks/chunk-U5HFB7UI.js +0 -23
- package/dist/chunks/chunk-U5UZKI6D.js +0 -89
- package/dist/chunks/chunk-UB25VTBI.js +0 -391
- package/dist/chunks/chunk-UD2UNTWF.js +0 -91
- package/dist/chunks/chunk-UDF6Y6N2.js +0 -30
- package/dist/chunks/chunk-UDV3T5SM.js +0 -340
- package/dist/chunks/chunk-UES5674P.js +0 -41
- package/dist/chunks/chunk-UFYOJRL4.js +0 -36
- package/dist/chunks/chunk-UJEUHG2V.js +0 -123
- package/dist/chunks/chunk-ULYY6AFL.js +0 -33
- package/dist/chunks/chunk-UMKTMWCG.js +0 -95
- package/dist/chunks/chunk-UQUN3DME.js +0 -100
- package/dist/chunks/chunk-US35TZDO.js +0 -368
- package/dist/chunks/chunk-US42DMFK.js +0 -303
- package/dist/chunks/chunk-USNJDOLX.js +0 -172
- package/dist/chunks/chunk-UTDSD6R5.js +0 -724
- package/dist/chunks/chunk-UTKIMP5Q.js +0 -23
- package/dist/chunks/chunk-UU6U4UDR.js +0 -185
- package/dist/chunks/chunk-UUANYT46.js +0 -110
- package/dist/chunks/chunk-UWUPBHMA.js +0 -86
- package/dist/chunks/chunk-UZFM77R6.js +0 -218
- package/dist/chunks/chunk-V5A4K3Z4.js +0 -307
- package/dist/chunks/chunk-V5CXDQY6.js +0 -23
- package/dist/chunks/chunk-V5OPDI56.js +0 -488
- package/dist/chunks/chunk-V5UKHFSJ.js +0 -147
- package/dist/chunks/chunk-VAGJWO36.js +0 -182
- package/dist/chunks/chunk-VAYBU5GM.js +0 -512
- package/dist/chunks/chunk-VCD6WEEH.js +0 -941
- package/dist/chunks/chunk-VD6SM3Z3.js +0 -81
- package/dist/chunks/chunk-VEBIFLGR.js +0 -161
- package/dist/chunks/chunk-VENZ6YQK.js +0 -70
- package/dist/chunks/chunk-VEYKZEKS.js +0 -190
- package/dist/chunks/chunk-VFKUCKG5.js +0 -150
- package/dist/chunks/chunk-VGECATCF.js +0 -197
- package/dist/chunks/chunk-VIYUKTOT.js +0 -889
- package/dist/chunks/chunk-VJBZL533.js +0 -392
- package/dist/chunks/chunk-VJIZ3NJB.js +0 -107
- package/dist/chunks/chunk-VKP3X7S2.js +0 -378
- package/dist/chunks/chunk-VKXS3MSW.js +0 -119
- package/dist/chunks/chunk-VMD5PZN7.js +0 -33
- package/dist/chunks/chunk-VMIRVA7J.js +0 -777
- package/dist/chunks/chunk-VMTN33RP.js +0 -337
- package/dist/chunks/chunk-VNW4ZC5S.js +0 -23
- package/dist/chunks/chunk-VPKWBV6W.js +0 -127
- package/dist/chunks/chunk-VQO5RAIT.js +0 -45
- package/dist/chunks/chunk-VR43QRO4.js +0 -256
- package/dist/chunks/chunk-VRM2OYD3.js +0 -51
- package/dist/chunks/chunk-VRSX4AN2.js +0 -651
- package/dist/chunks/chunk-VRYAPYIO.js +0 -689
- package/dist/chunks/chunk-VS2FTKTT.js +0 -124
- package/dist/chunks/chunk-VV44GDIR.js +0 -149
- package/dist/chunks/chunk-VVDLJCRJ.js +0 -75
- package/dist/chunks/chunk-VW2Q7ERH.js +0 -422
- package/dist/chunks/chunk-VWGB5RAN.js +0 -260
- package/dist/chunks/chunk-VXE5UBNU.js +0 -1133
- package/dist/chunks/chunk-VXKLVWZ5.js +0 -122
- package/dist/chunks/chunk-VXOQFVPW.js +0 -118
- package/dist/chunks/chunk-W3HQJF24.js +0 -141
- package/dist/chunks/chunk-W67DSSVY.js +0 -33
- package/dist/chunks/chunk-W6P3QKTF.js +0 -226
- package/dist/chunks/chunk-W6QFNSTX.js +0 -129
- package/dist/chunks/chunk-W7P54DIB.js +0 -33
- package/dist/chunks/chunk-WBLYFINH.js +0 -126
- package/dist/chunks/chunk-WCHCKXUF.js +0 -82
- package/dist/chunks/chunk-WCKA7LWY.js +0 -182
- package/dist/chunks/chunk-WE4EMJLS.js +0 -154
- package/dist/chunks/chunk-WFXKOXMZ.js +0 -100
- package/dist/chunks/chunk-WGBCXVV2.js +0 -84
- package/dist/chunks/chunk-WI22PSLK.js +0 -244
- package/dist/chunks/chunk-WIHXLY4V.js +0 -497
- package/dist/chunks/chunk-WJOETH3T.js +0 -173
- package/dist/chunks/chunk-WJY53W47.js +0 -70
- package/dist/chunks/chunk-WKZWGMZ3.js +0 -45
- package/dist/chunks/chunk-WPXIR76J.js +0 -102
- package/dist/chunks/chunk-WRDYNYLX.js +0 -197
- package/dist/chunks/chunk-WRZN4PXB.js +0 -225
- package/dist/chunks/chunk-WS4Y2UKH.js +0 -23
- package/dist/chunks/chunk-WSEXDKHR.js +0 -118
- package/dist/chunks/chunk-WU2LCEXG.js +0 -75
- package/dist/chunks/chunk-WUHJDYOT.js +0 -290
- package/dist/chunks/chunk-WWS6CVO5.js +0 -108
- package/dist/chunks/chunk-WWXCVZPA.js +0 -422
- package/dist/chunks/chunk-WXC6UWF4.js +0 -327
- package/dist/chunks/chunk-WYA2NRSP.js +0 -80
- package/dist/chunks/chunk-WZ5IUQ3B.js +0 -240
- package/dist/chunks/chunk-X2UEQXQH.js +0 -165
- package/dist/chunks/chunk-X3UOH6B3.js +0 -84
- package/dist/chunks/chunk-X4ASBTI7.js +0 -248
- package/dist/chunks/chunk-X4E6BGB6.js +0 -104
- package/dist/chunks/chunk-X4GT7COQ.js +0 -228
- package/dist/chunks/chunk-X4P52CJC.js +0 -76
- package/dist/chunks/chunk-X4Y7RFHH.js +0 -146
- package/dist/chunks/chunk-X5Y4M6M4.js +0 -71
- package/dist/chunks/chunk-X74IAP4M.js +0 -170
- package/dist/chunks/chunk-XB5KUHWB.js +0 -160
- package/dist/chunks/chunk-XBTFTGOM.js +0 -220
- package/dist/chunks/chunk-XCQWOC6D.js +0 -305
- package/dist/chunks/chunk-XEFB5WQ5.js +0 -209
- package/dist/chunks/chunk-XEZDKTZA.js +0 -87
- package/dist/chunks/chunk-XFCVPI2G.js +0 -44
- package/dist/chunks/chunk-XGYBG7HE.js +0 -366
- package/dist/chunks/chunk-XHAJR7RX.js +0 -97
- package/dist/chunks/chunk-XIZX276Q.js +0 -43
- package/dist/chunks/chunk-XJ2G2I5N.js +0 -192
- package/dist/chunks/chunk-XK3C7I4P.js +0 -146
- package/dist/chunks/chunk-XKY7SRAV.js +0 -174
- package/dist/chunks/chunk-XM6UYKDN.js +0 -170
- package/dist/chunks/chunk-XMS6WFQI.js +0 -98
- package/dist/chunks/chunk-XNJRSYTM.js +0 -81
- package/dist/chunks/chunk-XOTJ2H2P.js +0 -478
- package/dist/chunks/chunk-XRTMLJY2.js +0 -248
- package/dist/chunks/chunk-XRXDA6Y6.js +0 -274
- package/dist/chunks/chunk-XTWWU24A.js +0 -104
- package/dist/chunks/chunk-XVRIRQ6F.js +0 -226
- package/dist/chunks/chunk-XW3U56FC.js +0 -78
- package/dist/chunks/chunk-XWD3ZKSH.js +0 -108
- package/dist/chunks/chunk-XYKXIZAS.js +0 -181
- package/dist/chunks/chunk-XZJ33BDT.js +0 -1307
- package/dist/chunks/chunk-XZSQLGOM.js +0 -196
- package/dist/chunks/chunk-Y2EZGX77.js +0 -91
- package/dist/chunks/chunk-Y6NL5ELR.js +0 -185
- package/dist/chunks/chunk-YBFJYOIB.js +0 -212
- package/dist/chunks/chunk-YBPOYUX4.js +0 -83
- package/dist/chunks/chunk-YBWGUHW2.js +0 -152
- package/dist/chunks/chunk-YCOA6PS5.js +0 -153
- package/dist/chunks/chunk-YE26P2QN.js +0 -163
- package/dist/chunks/chunk-YEHJ7Z3U.js +0 -36
- package/dist/chunks/chunk-YF34U7C6.js +0 -84
- package/dist/chunks/chunk-YFNDNGYT.js +0 -345
- package/dist/chunks/chunk-YHARULDL.js +0 -195
- package/dist/chunks/chunk-YHG7UWFJ.js +0 -300
- package/dist/chunks/chunk-YHOS6ISL.js +0 -336
- package/dist/chunks/chunk-YHVBH4GK.js +0 -1975
- package/dist/chunks/chunk-YJ755SC6.js +0 -201
- package/dist/chunks/chunk-YKRJPEXO.js +0 -130
- package/dist/chunks/chunk-YMCZJCYF.js +0 -101
- package/dist/chunks/chunk-YNYODU3C.js +0 -106
- package/dist/chunks/chunk-YORVGTGV.js +0 -224
- package/dist/chunks/chunk-YRE7AQFY.js +0 -77
- package/dist/chunks/chunk-YTZZI2ZC.js +0 -194
- package/dist/chunks/chunk-YUOQK7W4.js +0 -69
- package/dist/chunks/chunk-YUTKHN3V.js +0 -304
- package/dist/chunks/chunk-YVCXXGLR.js +0 -82
- package/dist/chunks/chunk-YWVXDGTS.js +0 -412
- package/dist/chunks/chunk-YY3QF2J7.js +0 -23
- package/dist/chunks/chunk-YZE5JRI6.js +0 -123
- package/dist/chunks/chunk-YZQ7LB3R.js +0 -261
- package/dist/chunks/chunk-Z4Z4YMEG.js +0 -100
- package/dist/chunks/chunk-Z6OCZXPK.js +0 -320
- package/dist/chunks/chunk-Z6QPH5YU.js +0 -360
- package/dist/chunks/chunk-Z7TK2YSD.js +0 -49
- package/dist/chunks/chunk-Z7ZOF77Y.js +0 -178
- package/dist/chunks/chunk-ZAPW3I3N.js +0 -266
- package/dist/chunks/chunk-ZGRLK654.js +0 -232
- package/dist/chunks/chunk-ZIJBBZNU.js +0 -291
- package/dist/chunks/chunk-ZINQYALK.js +0 -74
- package/dist/chunks/chunk-ZJWVQ2TO.js +0 -151
- package/dist/chunks/chunk-ZKLKSUXV.js +0 -23
- package/dist/chunks/chunk-ZKLTLBSP.js +0 -632
- package/dist/chunks/chunk-ZLDWFNK4.js +0 -33
- package/dist/chunks/chunk-ZLPUZIOX.js +0 -78
- package/dist/chunks/chunk-ZLQW5UNU.js +0 -103
- package/dist/chunks/chunk-ZM7IU4ZR.js +0 -133
- package/dist/chunks/chunk-ZMBKS2IK.js +0 -118
- package/dist/chunks/chunk-ZMLQHYAH.js +0 -480
- package/dist/chunks/chunk-ZNQ3TLRU.js +0 -23
- package/dist/chunks/chunk-ZRZ5PNEJ.js +0 -80
- package/dist/chunks/chunk-ZSNPLARF.js +0 -297
- package/dist/chunks/chunk-ZUDM4YM5.js +0 -166
- package/dist/chunks/chunk-ZUSAVUBF.js +0 -175
- package/dist/chunks/chunk-ZWIUQO36.js +0 -412
- package/dist/chunks/chunk-ZWQ6M26Z.js +0 -150
- package/dist/chunks/chunk-ZZIAVKBS.js +0 -100
- package/dist/chunks/chunk-ZZQDMLCC.js +0 -231
- package/dist/chunks/client-EWVMZ6CF.js +0 -167
- package/dist/chunks/client-MLI53ZNN.js +0 -46
- package/dist/chunks/client-WGYLRZ5W.js +0 -31
- package/dist/chunks/client-actions-AF3YLM73.js +0 -166
- package/dist/chunks/components-PO4O7QTY.js +0 -72
- package/dist/chunks/dangerous-OBN3GMPU.js +0 -120
- package/dist/chunks/delete-current-file-R2CGPD6P.js +0 -159
- package/dist/chunks/document-library-KNPP5VUE.js +0 -64
- package/dist/chunks/editor-seams-KMPTES3K.js +0 -166
- package/dist/chunks/editor-store-2SPG6CDB.js +0 -143
- package/dist/chunks/export-LBKFLTPI.js +0 -68
- package/dist/chunks/export-watermark-KBMDOVSF.js +0 -152
- package/dist/chunks/eyedropper-OYWRSZUA.js +0 -354
- package/dist/chunks/generate-media-GOWIQCUK.js +0 -255
- package/dist/chunks/headless-IC6OZDGT.js +0 -186
- package/dist/chunks/host-4KE2YUVM.js +0 -240
- package/dist/chunks/host-SSDIETZS.js +0 -178
- package/dist/chunks/import-KV64K6I3.js +0 -702
- package/dist/chunks/import-merge-ZSN3D2QW.js +0 -39
- package/dist/chunks/instances-XCS525I4.js +0 -79
- package/dist/chunks/integrations-ZWSNTNFK.js +0 -124
- package/dist/chunks/invariants-JS3BXKOD.js +0 -62
- package/dist/chunks/kit-modules-QU3NKLJ5.js +0 -18
- package/dist/chunks/libraries-3RB4C5H3.js +0 -307
- package/dist/chunks/library-previews-YT47JLHH.js +0 -199
- package/dist/chunks/live-LQWDISXX.js +0 -317
- package/dist/chunks/lottie-HVP5YOPS.js +0 -86
- package/dist/chunks/media-tool-HLCFTLIH.js +0 -342
- package/dist/chunks/new-file-BL7UV3JO.js +0 -136
- package/dist/chunks/next-commerce-USR27RPO.js +0 -67
- package/dist/chunks/page-thumbnails-AKUID66N.js +0 -137
- package/dist/chunks/pdf-EUFY2GQS.js +0 -1217
- package/dist/chunks/pdf-import-GSIGP2TF.js +0 -370
- package/dist/chunks/plan-5OXQNZWH.js +0 -82
- package/dist/chunks/player-check-5E5UER4G.js +0 -114
- package/dist/chunks/plugin-XPWKYRQM.js +0 -127
- package/dist/chunks/plugin-import-4ROQ6UYM.js +0 -675
- package/dist/chunks/pptx-S2HCLV53.js +0 -309
- package/dist/chunks/presence-VJE6WHKF.js +0 -132
- package/dist/chunks/preview-media-DFOLSO5U.js +0 -122
- package/dist/chunks/project-LO5CZDIT.js +0 -1653
- package/dist/chunks/publish-site-NIEC2X7V.js +0 -163
- package/dist/chunks/publish-store-JSJJPBZN.js +0 -94
- package/dist/chunks/raster-actions-F5RKSV2V.js +0 -232
- package/dist/chunks/reference-images-34ZZOER7.js +0 -63
- package/dist/chunks/resolvers-QIRN5ONU.js +0 -145
- package/dist/chunks/review-kits-E242JTWO.js +0 -41
- package/dist/chunks/runner-MJ3Q3NW3.js +0 -2900
- package/dist/chunks/shader-preview-SM2NIHCE.js +0 -518
- package/dist/chunks/store-2WWSL2DR.js +0 -231
- package/dist/chunks/storefront-UUS57X6E.js +0 -329
- package/dist/chunks/storefront-prepare-KXYUIYOX.js +0 -33
- package/dist/chunks/stress-document-QMP4RHNL.js +0 -126
- package/dist/chunks/svg-export-KRP7Y34U.js +0 -82
- package/dist/chunks/svg-place-BWACOZJR.js +0 -44
- package/dist/chunks/sync-YRC4CAYD.js +0 -158
- package/dist/chunks/tabs-LNKNT7FE.js +0 -316
- package/dist/chunks/team-YVXVKPS3.js +0 -46
- package/dist/chunks/team-client-BPI2FI3K.js +0 -157
- package/dist/chunks/templates-GEWXWAT7.js +0 -182
- package/dist/chunks/tools-2HVINJ4B.js +0 -37
- package/dist/chunks/tree-WU53OA64.js +0 -75
- package/dist/chunks/ui-commands-5RZ3OLFU.js +0 -274
- package/dist/chunks/use-N43ON5WA.js +0 -49
- package/dist/chunks/versions-WT6SPAR2.js +0 -316
- package/dist/chunks/video-GIBYVDJP.js +0 -75
- package/dist/chunks/web-RO6ZM7J3.js +0 -172
- /package/dist/chunks/{chunk-TCFKWJCD.js → chunk-2ANAMMFV.js} +0 -0
|
@@ -0,0 +1,1469 @@
|
|
|
1
|
+
import { createRequire as __popcraftRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __popcraftPath } from 'node:url';
|
|
3
|
+
import { dirname as __popcraftDirname } from 'node:path';
|
|
4
|
+
const require = __popcraftRequire(import.meta.url);
|
|
5
|
+
const __filename = __popcraftPath(import.meta.url);
|
|
6
|
+
const __dirname = __popcraftDirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
H,
|
|
9
|
+
W,
|
|
10
|
+
arc,
|
|
11
|
+
arcPoints,
|
|
12
|
+
back,
|
|
13
|
+
bar,
|
|
14
|
+
box,
|
|
15
|
+
close,
|
|
16
|
+
drift,
|
|
17
|
+
focusColumn,
|
|
18
|
+
focusRow,
|
|
19
|
+
gameKit,
|
|
20
|
+
gameVar,
|
|
21
|
+
glow,
|
|
22
|
+
go,
|
|
23
|
+
keybind,
|
|
24
|
+
keys,
|
|
25
|
+
label,
|
|
26
|
+
menu,
|
|
27
|
+
onAll,
|
|
28
|
+
oneShot,
|
|
29
|
+
overlay,
|
|
30
|
+
poly,
|
|
31
|
+
readout,
|
|
32
|
+
rebindListener,
|
|
33
|
+
screen,
|
|
34
|
+
sector,
|
|
35
|
+
set,
|
|
36
|
+
slider,
|
|
37
|
+
spin,
|
|
38
|
+
toggle,
|
|
39
|
+
toggleComponent,
|
|
40
|
+
when
|
|
41
|
+
} from "./chunk-JX362DPK.js";
|
|
42
|
+
import {
|
|
43
|
+
defineTemplate
|
|
44
|
+
} from "./chunk-PSRXSY3J.js";
|
|
45
|
+
import {
|
|
46
|
+
init_define_POPCRAFT_COMPONENT_IDS
|
|
47
|
+
} from "./chunk-63KP74KB.js";
|
|
48
|
+
|
|
49
|
+
// templates/src/game/ironroot-rts.ts
|
|
50
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
51
|
+
var TAU = Math.PI * 2;
|
|
52
|
+
var polar = (cx, cy, r, a) => [cx + Math.cos(a) * r, cy + Math.sin(a) * r];
|
|
53
|
+
function rng(seed) {
|
|
54
|
+
let s = seed * 2654435761 >>> 0 || 1;
|
|
55
|
+
return () => {
|
|
56
|
+
s = Math.imul(s, 1664525) + 1013904223 >>> 0;
|
|
57
|
+
return s / 4294967296;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function blob(cx, cy, rx, ry, seed, n = 18, wob = 0.2) {
|
|
61
|
+
const r = rng(seed);
|
|
62
|
+
return Array.from({ length: n }, (_, i) => {
|
|
63
|
+
const a = i / n * TAU, f = 1 + (r() - 0.5) * 2 * wob;
|
|
64
|
+
return [cx + Math.cos(a) * rx * f, cy + Math.sin(a) * ry * f];
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
var ellipsePts = (cx, cy, rx, ry, n = 40) => Array.from({ length: n }, (_, i) => [cx + Math.cos(i / n * TAU) * rx, cy + Math.sin(i / n * TAU) * ry]);
|
|
68
|
+
function gearPts(cx, cy, r, teeth, depth = r * 0.2) {
|
|
69
|
+
const out = [], step = TAU / teeth;
|
|
70
|
+
for (let i = 0; i < teeth; i++) {
|
|
71
|
+
const a = i * step;
|
|
72
|
+
out.push(polar(cx, cy, r - depth, a), polar(cx, cy, r, a + step * 0.18), polar(cx, cy, r, a + step * 0.46), polar(cx, cy, r - depth, a + step * 0.64));
|
|
73
|
+
}
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
76
|
+
var scalePts = (pts, s, dx = 0, dy = 0) => pts.map(([x, y]) => [x * s + dx, y * s + dy]);
|
|
77
|
+
var WORLD = { w: 2400, h: 1200 };
|
|
78
|
+
var VIEW = { w: 1920, h: 684 };
|
|
79
|
+
var BASE = [420, 760];
|
|
80
|
+
var CORE = [2e3, 330];
|
|
81
|
+
var FOG_R = [480, 800, 1120, 1450, 2900];
|
|
82
|
+
var RIDGES = [{ c: [1500, 190], r: [330, 140], s: 3 }, { c: [880, 420], r: [210, 90], s: 7 }, { c: [2150, 760], r: [230, 170], s: 11 }, { c: [300, 150], r: [230, 110], s: 13 }, { c: [1900, 1080], r: [200, 90], s: 17 }];
|
|
83
|
+
var MEADOWS = [{ c: [620, 820], r: [440, 260], s: 21 }, { c: [1300, 600], r: [380, 210], s: 22 }, { c: [1900, 1060], r: [420, 170], s: 23 }, { c: [2120, 330], r: [320, 220], s: 24 }, { c: [260, 420], r: [260, 180], s: 25 }];
|
|
84
|
+
var RIVER = [[1180, -30], [1120, 160], [1215, 330], [1110, 520], [1190, 700], [1330, 860], [1300, 1010], [1430, 1240]];
|
|
85
|
+
var TRAIL = [[420, 760], [620, 720], [820, 700], [1010, 610], [1150, 540], [1380, 500], [1600, 470], [1820, 390], [2e3, 330]];
|
|
86
|
+
var FORESTS = [[640, 150, 14], [1660, 420, 11], [190, 1070, 12], [2250, 1010, 13], [1010, 1120, 9], [2260, 110, 9], [1520, 780, 7], [860, 300, 6]];
|
|
87
|
+
var ORE_FIELDS = [[250, 360], [1250, 990], [1760, 650]];
|
|
88
|
+
var SQUADS = [
|
|
89
|
+
{ key: "1", tab: "Rangers", name: "Sporeling rangers", role: "Light skirmishers \xB7 spore-lances", at: [820, 690], atk: 18, arm: 6, spd: 82, quip: '"Roots remember every step."', size: 4 },
|
|
90
|
+
{ key: "2", tab: "Harvest", name: "Brass harvesters", role: "Ore haulers \xB7 steam tread", at: [360, 440], atk: 4, arm: 22, spd: 40, quip: '"Seam is rich. Boilers hungry."', size: 3 },
|
|
91
|
+
{ key: "3", tab: "Wrights", name: "Gearwright engineers", role: "Builders \xB7 field repair", at: [700, 1e3], atk: 8, arm: 12, spd: 58, quip: '"Give us an hour and a wrench."', size: 2 }
|
|
92
|
+
];
|
|
93
|
+
var camFor = (p) => ({ x: Math.max(0, Math.min(WORLD.w - VIEW.w, p[0] - VIEW.w / 2)), y: Math.max(0, Math.min(WORLD.h - VIEW.h, p[1] - VIEW.h / 2)) });
|
|
94
|
+
var FACTIONS = [
|
|
95
|
+
{ name: "Verdant Foundry", motto: '"Industry is only a slower kind of gardening."', bonus: "+150 starting ore", stats: [86, 54, 40], roster: ["Sporeling ranger", "Brass harvester", "Thornback walker"] },
|
|
96
|
+
{ name: "Oxide Covenant", motto: '"Rust is iron remembering the earth."', bonus: "+80 starting fuel", stats: [52, 90, 46], roster: ["Cinder lancer", "Slag crawler", "Furnace titan"] },
|
|
97
|
+
{ name: "Mireglass Syndics", motto: '"Every fog has a price, and we have paid it."', bonus: "First fog ring charted", stats: [44, 50, 92], roster: ["Fen stalker", "Glass skiff", "Lantern oracle"] }
|
|
98
|
+
];
|
|
99
|
+
var CREDITS = [
|
|
100
|
+
["Game direction", "Odalys Ferreira-Kwan"],
|
|
101
|
+
["Systems design", "Bram Oyelaran"],
|
|
102
|
+
["Art direction", "Mireille Castellanos"],
|
|
103
|
+
["World and terrain", "Tuomas Achterberg"],
|
|
104
|
+
["Interface", "Keziah Mbeki"],
|
|
105
|
+
["Audio", "Ignatius Varga \xB7 Luz Aranda"],
|
|
106
|
+
["Narrative", "Petronella Ashdown"],
|
|
107
|
+
["Engineering", "Ravi Selwyn \xB7 Ondine Marsh \xB7 Caspar Holt"],
|
|
108
|
+
["Special thanks", "The playtesters who fed the boilers until dawn"]
|
|
109
|
+
];
|
|
110
|
+
var SAVES = [
|
|
111
|
+
{ name: "Rusted Canopy \u2014 dawn 3", hint: "Ore 620 \xB7 2 rings charted", ore: 620, fuel: 240, scout: 2, trained: 3 },
|
|
112
|
+
{ name: "Mireglass Fen \u2014 dusk 5", hint: "Ore 380 \xB7 spire in sight", ore: 380, fuel: 320, scout: 4, trained: 5 },
|
|
113
|
+
{ name: "Oxide Reach \u2014 night 9", hint: "Ore 910 \xB7 Thornbacks ready", ore: 910, fuel: 180, scout: 3, trained: 6 }
|
|
114
|
+
];
|
|
115
|
+
var ironroot_rts_default = defineTemplate({
|
|
116
|
+
id: "game-ironroot-rts",
|
|
117
|
+
meta: {
|
|
118
|
+
name: "IRONROOT DOMINION \u2014 real-time strategy UI",
|
|
119
|
+
description: "A playable dieselpunk-botanical RTS front end and battle HUD: foundry boot, an iron-tree title, faction select with gliding stats and roster, a mission briefing whose objectives pop onto the map, working settings and key bindings, and a battle HUD with resources that count, a panning camera and minimap, fog of war that recedes as you scout, squad selection, a nine-command card with cooldown sweeps, a build queue, a tech tree, raids, pause, defeat and victory with medals",
|
|
120
|
+
category: "game-ui",
|
|
121
|
+
tags: ["game", "game ui", "hud", "rts", "real-time strategy", "strategy", "dieselpunk", "minimap", "interactive", "variables", "keyboard", "menus", "present mode"],
|
|
122
|
+
platforms: ["desktop"],
|
|
123
|
+
formats: ["screen"],
|
|
124
|
+
useCases: ["launch", "pitch"],
|
|
125
|
+
created: "2026-09-30",
|
|
126
|
+
updated: "2026-09-30"
|
|
127
|
+
},
|
|
128
|
+
build() {
|
|
129
|
+
const k = gameKit("IRONROOT DOMINION");
|
|
130
|
+
k.brand({
|
|
131
|
+
void: "#0D0A07",
|
|
132
|
+
soil: "#211A11",
|
|
133
|
+
loam: "#2E2518",
|
|
134
|
+
panel: "#221810",
|
|
135
|
+
panelHi: "#33261A",
|
|
136
|
+
bronze: "#8C5B2C",
|
|
137
|
+
bronzeDeep: "#4E3219",
|
|
138
|
+
brass: "#D8A84A",
|
|
139
|
+
brassDim: "#9C7A3A",
|
|
140
|
+
verdigris: "#62B89E",
|
|
141
|
+
verdigrisDeep: "#2C6A5B",
|
|
142
|
+
moss: "#86A64A",
|
|
143
|
+
mossDeep: "#3E5325",
|
|
144
|
+
oxide: "#DD6A30",
|
|
145
|
+
oxideDeep: "#8A3414",
|
|
146
|
+
oxideText: "#F39462",
|
|
147
|
+
rivet: "#C9A15A",
|
|
148
|
+
parchment: "#F2E7CD",
|
|
149
|
+
dim: "#C2B08C",
|
|
150
|
+
onBrass: "#1A1208",
|
|
151
|
+
onOxide: "#1C0903",
|
|
152
|
+
onVerdigris: "#05140F",
|
|
153
|
+
enemy: "#C4402A",
|
|
154
|
+
enemyGlow: "#FF7A45",
|
|
155
|
+
scrim: "#090705",
|
|
156
|
+
primary: "#62B89E",
|
|
157
|
+
onPrimary: "#05140F",
|
|
158
|
+
accent: "#DD6A30",
|
|
159
|
+
onAccent: "#1C0903"
|
|
160
|
+
}, { title: "IRONROOT DOMINION", studio: "Tallow & Gear", tagline: "Grow an empire of iron and root. Hold the Heartwood." });
|
|
161
|
+
k.palette({
|
|
162
|
+
river: "#2B5C62",
|
|
163
|
+
riverLight: "#71B8B0",
|
|
164
|
+
ridge: "#5C4630",
|
|
165
|
+
ridgeDark: "#3A2C1F",
|
|
166
|
+
ridgeLight: "#7E6446",
|
|
167
|
+
contour: "#6E5638",
|
|
168
|
+
forest: "#1F3519",
|
|
169
|
+
canopy: "#4E7A33",
|
|
170
|
+
meadow: "#33421E",
|
|
171
|
+
trail: "#4C3B24",
|
|
172
|
+
ore: "#E28A43",
|
|
173
|
+
oreLight: "#FFD39E",
|
|
174
|
+
fog: "#15130E",
|
|
175
|
+
mist: "#8F8B78",
|
|
176
|
+
smoke: "#8B8475",
|
|
177
|
+
root: "#6F4A26"
|
|
178
|
+
});
|
|
179
|
+
const commander = gameVar(k, "Commander", "name", "STRING", "WARDEN HESPER ASHGROVE");
|
|
180
|
+
const faction = gameVar(k, "Commander", "faction", "FLOAT", 0);
|
|
181
|
+
const industry = gameVar(k, "Commander", "industry", "FLOAT", FACTIONS[0].stats[0]);
|
|
182
|
+
const might = gameVar(k, "Commander", "might", "FLOAT", FACTIONS[0].stats[1]);
|
|
183
|
+
const guile = gameVar(k, "Commander", "guile", "FLOAT", FACTIONS[0].stats[2]);
|
|
184
|
+
const ore = gameVar(k, "Economy", "ore", "FLOAT", 400);
|
|
185
|
+
const fuel = gameVar(k, "Economy", "fuel", "FLOAT", 200);
|
|
186
|
+
const supply = gameVar(k, "Economy", "supply", "FLOAT", 6);
|
|
187
|
+
const cap = gameVar(k, "Economy", "supplyCap", "FLOAT", 20);
|
|
188
|
+
const oreMined = gameVar(k, "Economy", "oreMined", "FLOAT", 0);
|
|
189
|
+
const yieldV = gameVar(k, "Economy", "gatherYield", "FLOAT", 50);
|
|
190
|
+
const trained = gameVar(k, "Army", "trained", "FLOAT", 0);
|
|
191
|
+
const sporelings = gameVar(k, "Army", "sporelings", "FLOAT", 0);
|
|
192
|
+
const thornbacks = gameVar(k, "Army", "thornbacks", "FLOAT", 0);
|
|
193
|
+
const depots = gameVar(k, "Army", "depots", "FLOAT", 0);
|
|
194
|
+
const sel = gameVar(k, "Army", "selected", "FLOAT", 1);
|
|
195
|
+
const hp = SQUADS.map((_, i) => gameVar(k, "Army", `squadHealth${i + 1}`, "FLOAT", 100));
|
|
196
|
+
const atk = gameVar(k, "Army", "attack", "FLOAT", SQUADS[0].atk);
|
|
197
|
+
const arm = gameVar(k, "Army", "armour", "FLOAT", SQUADS[0].arm);
|
|
198
|
+
const spd = gameVar(k, "Army", "speed", "FLOAT", SQUADS[0].spd);
|
|
199
|
+
const baseHp = gameVar(k, "Base", "integrity", "FLOAT", 100);
|
|
200
|
+
const baseTrail = gameVar(k, "Base", "integrityTrail", "FLOAT", 100);
|
|
201
|
+
const baseMax = gameVar(k, "Base", "maxIntegrity", "FLOAT", 100);
|
|
202
|
+
const dmgTaken = gameVar(k, "Base", "raidDamage", "FLOAT", 15);
|
|
203
|
+
const braced = gameVar(k, "Base", "braced", "FLOAT", 0);
|
|
204
|
+
const coreHp = gameVar(k, "Enemy", "spire", "FLOAT", 120);
|
|
205
|
+
const coreTrail = gameVar(k, "Enemy", "spireTrail", "FLOAT", 120);
|
|
206
|
+
const coreMax = gameVar(k, "Enemy", "maxSpire", "FLOAT", 120);
|
|
207
|
+
const scout = gameVar(k, "Map", "scouted", "FLOAT", 0);
|
|
208
|
+
const camX = gameVar(k, "Map", "cameraX", "FLOAT", 0);
|
|
209
|
+
const camY = gameVar(k, "Map", "cameraY", "FLOAT", 418);
|
|
210
|
+
const plating = gameVar(k, "Tech", "plating", "FLOAT", 0);
|
|
211
|
+
const taproots = gameVar(k, "Tech", "taproots", "FLOAT", 0);
|
|
212
|
+
const tier = gameVar(k, "Tech", "thornback", "FLOAT", 0);
|
|
213
|
+
const actions = gameVar(k, "Stats", "actions", "FLOAT", 0);
|
|
214
|
+
const raids = gameVar(k, "Stats", "raids", "FLOAT", 0);
|
|
215
|
+
const menuFocus = gameVar(k, "UI", "menuFocus", "FLOAT", 0);
|
|
216
|
+
const pauseFocus = gameVar(k, "UI", "pauseFocus", "FLOAT", 0);
|
|
217
|
+
const endFocus = gameVar(k, "UI", "endFocus", "FLOAT", 0);
|
|
218
|
+
const setFocus = gameVar(k, "UI", "settingsFocus", "FLOAT", 0);
|
|
219
|
+
const techFocus = gameVar(k, "UI", "techFocus", "FLOAT", 0);
|
|
220
|
+
const loadFocus = gameVar(k, "UI", "loadFocus", "FLOAT", 0);
|
|
221
|
+
const cardHover = gameVar(k, "UI", "commandHover", "FLOAT", -1);
|
|
222
|
+
const rebind = gameVar(k, "UI", "rebinding", "STRING", "");
|
|
223
|
+
const volume = gameVar(k, "Settings", "masterVolume", "FLOAT", 80);
|
|
224
|
+
const music = gameVar(k, "Settings", "musicVolume", "FLOAT", 60);
|
|
225
|
+
const scroll = gameVar(k, "Settings", "scrollSpeed", "FLOAT", 5);
|
|
226
|
+
const uiScale = gameVar(k, "Settings", "uiScale", "FLOAT", 100);
|
|
227
|
+
const hpBars = gameVar(k, "Settings", "healthBars", "FLOAT", 1);
|
|
228
|
+
const pings = gameVar(k, "Settings", "alertPings", "FLOAT", 1);
|
|
229
|
+
const keyBuild = gameVar(k, "Keys", "build", "STRING", "B");
|
|
230
|
+
const keyAttack = gameVar(k, "Keys", "attack", "STRING", "F");
|
|
231
|
+
const keyStop = gameVar(k, "Keys", "stop", "STRING", "H");
|
|
232
|
+
const mono = { fontFamily: "JetBrains Mono" };
|
|
233
|
+
const serif = { fontFamily: "Source Serif 4" };
|
|
234
|
+
k.textStyle("Boot 20", { size: 20, fontWeight: 500, lineHeight: 32, ...mono });
|
|
235
|
+
k.textStyle("Studio 28", { size: 28, fontWeight: 800, letterSpacing: 8, lineHeight: 36, textCase: "UPPER" });
|
|
236
|
+
k.textStyle("Title 132", { size: 132, fontWeight: 900, letterSpacing: -5, lineHeight: 124, textCase: "UPPER" });
|
|
237
|
+
k.textStyle("Tagline 28", { size: 28, fontWeight: 400, lineHeight: 38, fontStyle: "italic", ...serif });
|
|
238
|
+
k.textStyle("Prompt 24", { size: 24, fontWeight: 700, letterSpacing: 10, lineHeight: 32, textCase: "UPPER", ...mono });
|
|
239
|
+
k.textStyle("Menu 38", { size: 38, fontWeight: 800, letterSpacing: -0.5, lineHeight: 46, textCase: "UPPER" });
|
|
240
|
+
k.textStyle("Hint 18", { size: 18, fontWeight: 500, letterSpacing: 1, lineHeight: 26, ...mono });
|
|
241
|
+
k.textStyle("Heading 60", { size: 60, fontWeight: 900, letterSpacing: -2, lineHeight: 66, textCase: "UPPER" });
|
|
242
|
+
k.textStyle("Label 24", { size: 24, fontWeight: 600, lineHeight: 32 });
|
|
243
|
+
k.textStyle("Value 24", { size: 24, fontWeight: 700, lineHeight: 32, ...mono });
|
|
244
|
+
k.textStyle("Cap 20", { size: 20, fontWeight: 700, letterSpacing: 2, lineHeight: 26, textAlign: "CENTER", ...mono });
|
|
245
|
+
k.textStyle("Cost 16", { size: 16, fontWeight: 700, lineHeight: 22, textCase: "UPPER", ...mono });
|
|
246
|
+
k.textStyle("Small 16", { size: 16, fontWeight: 600, letterSpacing: 2, lineHeight: 22, textCase: "UPPER", ...mono });
|
|
247
|
+
k.textStyle("Body 22", { size: 22, fontWeight: 400, lineHeight: 32 });
|
|
248
|
+
k.textStyle("Card 30", { size: 30, fontWeight: 900, letterSpacing: -0.8, lineHeight: 34, textCase: "UPPER" });
|
|
249
|
+
k.textStyle("Res 30", { size: 30, fontWeight: 800, lineHeight: 34, ...mono });
|
|
250
|
+
k.textStyle("HUD 16", { size: 16, fontWeight: 800, letterSpacing: 1.5, lineHeight: 20, textCase: "UPPER" });
|
|
251
|
+
k.textStyle("Cmd 17", { size: 17, fontWeight: 900, letterSpacing: -0.2, lineHeight: 20, textCase: "UPPER" });
|
|
252
|
+
k.textStyle("Alert 28", { size: 28, fontWeight: 800, letterSpacing: 5, lineHeight: 36, textCase: "UPPER", textAlign: "CENTER", ...mono });
|
|
253
|
+
k.textStyle("Stat 64", { size: 64, fontWeight: 800, lineHeight: 72, ...mono });
|
|
254
|
+
k.textStyle("Unit 30", { size: 30, fontWeight: 900, letterSpacing: -0.6, lineHeight: 34, textCase: "UPPER" });
|
|
255
|
+
k.textStyle("Counter 48", { size: 48, fontWeight: 800, lineHeight: 52, ...mono });
|
|
256
|
+
k.textStyle("Quote 22", { size: 22, fontWeight: 400, lineHeight: 30, fontStyle: "italic", ...serif });
|
|
257
|
+
k.textStyle("Epitaph 104", { size: 104, fontWeight: 600, letterSpacing: -2, lineHeight: 112, fontStyle: "italic", textAlign: "CENTER", ...serif });
|
|
258
|
+
k.textStyle("Credit role 18", { size: 18, fontWeight: 600, letterSpacing: 4, lineHeight: 26, textCase: "UPPER", textAlign: "CENTER", ...mono });
|
|
259
|
+
k.textStyle("Credit name 34", { size: 34, fontWeight: 800, letterSpacing: -0.5, lineHeight: 42, textAlign: "CENTER" });
|
|
260
|
+
const spinAbout = (id, cx, cy, rate) => {
|
|
261
|
+
const b = k.node(id);
|
|
262
|
+
k.patch(id, { anchorX: (cx - b.x) / b.width, anchorY: (cy - b.y) / b.height });
|
|
263
|
+
spin(k, id, rate);
|
|
264
|
+
};
|
|
265
|
+
const gear = (parent, cx, cy, r, teeth, rate, color = "brass", hub = "void") => {
|
|
266
|
+
const g = box(k, parent, cx - r, cy - r, r * 2, r * 2, { name: "Gear" });
|
|
267
|
+
poly(k, g, gearPts(r, r, r, teeth), color, { name: "Gear teeth" });
|
|
268
|
+
k.ellipse(g, r * 1.1, "bronzeDeep", { name: "Gear web", absolute: { x: r * 0.45, y: r * 0.45 } });
|
|
269
|
+
for (let i = 0; i < 5; i++) {
|
|
270
|
+
const a = i / 5 * TAU;
|
|
271
|
+
const [x, y] = polar(r, r, r * 0.38, a);
|
|
272
|
+
k.ellipse(g, Math.max(4, r * 0.16), hub, { name: "Gear hole", absolute: { x: x - r * 0.08, y: y - r * 0.08 } });
|
|
273
|
+
}
|
|
274
|
+
k.ellipse(g, r * 0.34, color, { name: "Gear boss", absolute: { x: r * 0.83, y: r * 0.83 }, stroke: { color: "bronzeDeep", width: 2 } });
|
|
275
|
+
if (rate) spin(k, g, rate);
|
|
276
|
+
return g;
|
|
277
|
+
};
|
|
278
|
+
const plate = (parent, x, y, w, h, o = {}) => {
|
|
279
|
+
const id = box(k, parent, x, y, w, h, { name: o.name ?? "Plate", fill: o.fill ?? "panel", radius: 6, stroke: { color: "bronze", width: 2, align: "INSIDE" }, clip: o.clip });
|
|
280
|
+
k.rect(id, w, h, [k.gradient({ from: "verdigris", to: "verdigris", angle: 60, fromOpacity: 0.16, toOpacity: 0 })], { name: "Patina", radius: 6, absolute: { x: 0, y: 0 } });
|
|
281
|
+
k.rect(id, w - 12, h - 12, [], { name: "Seam", radius: 4, stroke: { color: "bronzeDeep", width: 1 }, absolute: { x: 6, y: 6 } });
|
|
282
|
+
if (o.rivets !== false) for (const [rx, ry] of [[9, 9], [w - 17, 9], [9, h - 17], [w - 17, h - 17]]) k.ellipse(id, 8, "rivet", { name: "Rivet", absolute: { x: rx, y: ry }, stroke: { color: "bronzeDeep", width: 1 } });
|
|
283
|
+
return id;
|
|
284
|
+
};
|
|
285
|
+
const hintBar = (id, text) => {
|
|
286
|
+
const b = box(k, id, 0, H - 60, W, 60, { name: "Hint bar", fill: k.tint("panel", 0.94), direction: "HORIZONTAL", align: "CENTER", padding: { top: 0, right: 64, bottom: 0, left: 64 }, stroke: { color: "bronzeDeep", width: 1 } });
|
|
287
|
+
k.text(b, text, { style: "Hint 18", color: "dim", autoWidth: true, name: "Hints" });
|
|
288
|
+
};
|
|
289
|
+
const menuGround = (id) => {
|
|
290
|
+
k.rect(id, W, H, [k.gradient({ from: "soil", to: "void", kind: "RADIAL", handles: [{ x: 0.3, y: 0.4 }, { x: 1.2, y: 0.4 }, { x: 0.3, y: 1.4 }] })], { name: "Ground wash", absolute: { x: 0, y: 0 } });
|
|
291
|
+
const topo = box(k, id, 0, 0, W, H, { name: "Contours" });
|
|
292
|
+
[[1500, 300, 5], [300, 820, 9], [1100, 900, 12]].forEach(([cx, cy, s]) => {
|
|
293
|
+
for (let i = 0; i < 5; i++) poly(k, topo, blob(cx, cy, 120 + i * 90, 70 + i * 60, s + i, 22, 0.12), "contour", { name: "Contour", stroke: 2, closed: true, opacity: 0.35 - i * 0.05 });
|
|
294
|
+
});
|
|
295
|
+
gear(id, 1840, 1e3, 230, 18, 6, "loam", "soil");
|
|
296
|
+
gear(id, 1530, 1060, 130, 11, -10.6, "loam", "soil");
|
|
297
|
+
for (let i = 0; i < 9; i++) {
|
|
298
|
+
const sp = k.ellipse(id, 6 + i % 3 * 3, "moss", { name: "Spore", absolute: { x: 140 + i * 205, y: 1080 }, opacity: 0.5 });
|
|
299
|
+
k.behave(sp, "translateY", [{ kind: "spin", rate: -(40 + i % 4 * 14) }, { kind: "mod", period: 1150, offset: -1150 + i * 120 }]);
|
|
300
|
+
drift(k, sp, "translateX", 16, 0.3 + i % 3 * 0.1, i);
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
const terrain = (parent, s, detail) => {
|
|
304
|
+
for (const m of MEADOWS) poly(k, parent, blob(m.c[0] * s, m.c[1] * s, m.r[0] * s, m.r[1] * s, m.s), "meadow", { name: "Meadow" });
|
|
305
|
+
for (const r of RIDGES) {
|
|
306
|
+
poly(k, parent, blob(r.c[0] * s, r.c[1] * s, r.r[0] * s, r.r[1] * s, r.s), "ridgeDark", { name: "Ridge" });
|
|
307
|
+
poly(k, parent, blob(r.c[0] * s - 8 * s, r.c[1] * s - 10 * s, r.r[0] * s * 0.72, r.r[1] * s * 0.7, r.s + 1), "ridge", { name: "Ridge" });
|
|
308
|
+
poly(k, parent, blob(r.c[0] * s - 16 * s, r.c[1] * s - 20 * s, r.r[0] * s * 0.42, r.r[1] * s * 0.4, r.s + 2), "ridgeLight", { name: "Ridge crest" });
|
|
309
|
+
if (detail) for (let i = 1; i <= 2; i++) poly(k, parent, blob(r.c[0] * s, r.c[1] * s, r.r[0] * s * (1 + i * 0.14), r.r[1] * s * (1 + i * 0.16), r.s + 5), "contour", { name: "Contour", stroke: 2, closed: true, opacity: 0.5 });
|
|
310
|
+
}
|
|
311
|
+
poly(k, parent, scalePts(RIVER, s), "mossDeep", { name: "River bank", stroke: Math.max(3, 78 * s) });
|
|
312
|
+
poly(k, parent, scalePts(RIVER, s), "river", { name: "River", stroke: Math.max(2, 52 * s) });
|
|
313
|
+
if (detail) {
|
|
314
|
+
const shine = poly(k, parent, scalePts(RIVER, s, -6 * s, 0), "riverLight", { name: "River shine", stroke: 10 * s, opacity: 0.5 });
|
|
315
|
+
drift(k, shine, "opacity", 0.2, 0.4);
|
|
316
|
+
}
|
|
317
|
+
if (s > 0.2) poly(k, parent, scalePts(TRAIL, s), "trail", { name: "Trail", stroke: Math.max(2, 18 * s), opacity: 0.85 });
|
|
318
|
+
FORESTS.forEach(([cx, cy, n], fi) => {
|
|
319
|
+
const r = rng(fi + 40);
|
|
320
|
+
const count = detail ? n : Math.ceil(n / 2);
|
|
321
|
+
for (let i = 0; i < count; i++) {
|
|
322
|
+
const a = r() * TAU, d = r() * 150, z = (34 + r() * 26) * s;
|
|
323
|
+
const x = (cx + Math.cos(a) * d) * s, y = (cy + Math.sin(a) * d * 0.7) * s;
|
|
324
|
+
k.ellipse(parent, z, "forest", { name: "Tree", absolute: { x: x - z / 2, y: y - z / 2 } });
|
|
325
|
+
if (detail) k.ellipse(parent, z * 0.62, "canopy", { name: "Canopy", absolute: { x: x - z / 2 + z * 0.08, y: y - z / 2 + z * 0.06 } });
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
ORE_FIELDS.forEach(([cx, cy], oi) => {
|
|
329
|
+
const r = rng(oi + 90);
|
|
330
|
+
for (let i = 0; i < (detail ? 7 : 3); i++) {
|
|
331
|
+
const x = (cx + (r() - 0.5) * 150) * s, y = (cy + (r() - 0.5) * 90) * s, z = (16 + r() * 18) * s;
|
|
332
|
+
poly(k, parent, [[x, y - z * 1.3], [x + z * 0.7, y], [x, y + z * 0.9], [x - z * 0.7, y]], "ore", { name: "Ore crystal" });
|
|
333
|
+
if (detail) {
|
|
334
|
+
const f = poly(k, parent, [[x, y - z * 1.3], [x + z * 0.7, y], [x, y - z * 0.1]], "oreLight", { name: "Ore glint" });
|
|
335
|
+
drift(k, f, "opacity", 0.35, 0.6 + i * 0.13, i);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
});
|
|
339
|
+
};
|
|
340
|
+
k.variantSet(
|
|
341
|
+
"Brass button",
|
|
342
|
+
"State",
|
|
343
|
+
["Idle", "Hover", "Pressed"],
|
|
344
|
+
{ direction: "HORIZONTAL", width: "HUG", gap: 14, align: "CENTER", padding: { top: 14, right: 30, bottom: 14, left: 30 }, radius: 6, props: { Label: "Back" }, description: "A riveted brass button: hover warms it to brass, pressing flashes verdigris." },
|
|
345
|
+
(state, id) => {
|
|
346
|
+
k.propText(id, "Label", { style: "Hint 18", color: state === "Idle" ? "parchment" : state === "Hover" ? "onBrass" : "onVerdigris", autoWidth: true });
|
|
347
|
+
},
|
|
348
|
+
(state) => ({ fill: state === "Idle" ? "panelHi" : state === "Hover" ? "brass" : "verdigris", stroke: { color: "brass", width: 2, align: "INSIDE" } })
|
|
349
|
+
);
|
|
350
|
+
k.changeTo("Brass button/Idle", "ON_HOVER", "Brass button/Hover", 120);
|
|
351
|
+
k.changeTo("Brass button/Hover", "ON_PRESS", "Brass button/Pressed", 60);
|
|
352
|
+
toggleComponent(k, { track: "bronzeDeep", on: "verdigris", knob: "parchment", stateStyle: "Small 16", ink: "parchment" });
|
|
353
|
+
const CD = { Short: 900, Medium: 1600, Long: 2600 };
|
|
354
|
+
k.variantSet("Cooldown", "State", ["Idle", "Short", "Medium", "Long"], { width: 176, height: 88, description: "A command button's cooldown sweep: change to Short / Medium / Long when the command fires; the veil drains and the button exhales when ready." }, (state, id) => {
|
|
355
|
+
const veil = k.rect(id, 176, 88, k.tint("void", 0.74), { name: "Veil", radius: 6, absolute: { x: 0, y: 0 }, opacity: 0 });
|
|
356
|
+
const edge = k.rect(id, 176, 3, "brass", { name: "Sweep edge", absolute: { x: 0, y: 0 }, opacity: 0, effects: [glow(k, "brass", 10)] });
|
|
357
|
+
const hand = poly(k, id, [[150, 44], [150, 16]], "brass", { name: "Clock hand", stroke: 3, opacity: 0 });
|
|
358
|
+
k.patch(hand, { anchorX: 0, anchorY: 1 });
|
|
359
|
+
const breath = k.rect(id, 176, 88, k.tint("verdigris", 0.3), { name: "Breath", radius: 6, absolute: { x: 0, y: 0 }, opacity: 0 });
|
|
360
|
+
const ring = k.rect(id, 176, 88, [], { name: "Exhale ring", radius: 8, stroke: { color: "verdigris", width: 3 }, absolute: { x: 0, y: 0 }, opacity: 0, effects: [glow(k, "verdigris", 16)] });
|
|
361
|
+
if (state === "Idle") return;
|
|
362
|
+
const d = CD[state];
|
|
363
|
+
keys(k, veil, "opacity", [{ t: 0, v: 1, ease: { kind: "hold" } }, { t: d - 60, v: 1, ease: { kind: "linear" } }, { t: d, v: 0 }]);
|
|
364
|
+
keys(k, veil, "height", [{ t: 0, v: 88, ease: { kind: "linear" } }, { t: d, v: 2 }]);
|
|
365
|
+
keys(k, edge, "opacity", [{ t: 0, v: 1, ease: { kind: "hold" } }, { t: d - 60, v: 1, ease: { kind: "linear" } }, { t: d, v: 0 }]);
|
|
366
|
+
keys(k, edge, "translateY", [{ t: 0, v: 85, ease: { kind: "linear" } }, { t: d, v: 0 }]);
|
|
367
|
+
keys(k, hand, "opacity", [{ t: 0, v: 1, ease: { kind: "hold" } }, { t: d - 60, v: 1, ease: { kind: "linear" } }, { t: d, v: 0 }]);
|
|
368
|
+
keys(k, hand, "rotation", [{ t: 0, v: 0, ease: { kind: "linear" } }, { t: d, v: -360 }]);
|
|
369
|
+
keys(k, breath, "opacity", [{ t: d, v: 0, ease: { kind: "ease", name: "cubic-out" } }, { t: d + 120, v: 1, ease: { kind: "ease", name: "cubic-in" } }, { t: d + 440, v: 0 }]);
|
|
370
|
+
keys(k, ring, "opacity", [{ t: d, v: 0, ease: { kind: "ease", name: "cubic-out" } }, { t: d + 90, v: 1, ease: { kind: "ease", name: "cubic-in" } }, { t: d + 440, v: 0 }]);
|
|
371
|
+
for (const [p, v] of [["scaleX", 1.07], ["scaleY", 1.16]]) keys(k, ring, p, [{ t: d, v: 1, ease: { kind: "ease", name: "back-out", param: 2 } }, { t: d + 200, v, ease: { kind: "ease", name: "cubic-in-out" } }, { t: d + 440, v: 1 }]);
|
|
372
|
+
}, (state) => state === "Idle" ? {} : { timeline: { duration: CD[state] + 480 } });
|
|
373
|
+
oneShot(k, "Ping", { width: 72, height: 72, state: "Ping", duration: 1500, description: "A minimap alert: change to Ping to ring the spot twice." }, (state, id) => {
|
|
374
|
+
for (const [i, delay] of [[0, 0], [1, 380]]) {
|
|
375
|
+
const r = k.ellipse(id, 72, [], { name: `Ping ring ${i + 1}`, stroke: { color: "oxideText", width: 3 }, absolute: { x: 0, y: 0 }, opacity: 0 });
|
|
376
|
+
if (state !== "Ping") continue;
|
|
377
|
+
keys(k, r, "opacity", [{ t: delay, v: 1, ease: { kind: "ease", name: "cubic-out" } }, { t: delay + 1e3, v: 0 }]);
|
|
378
|
+
for (const p of ["scaleX", "scaleY"]) keys(k, r, p, [{ t: delay, v: 0.15, ease: { kind: "ease", name: "expo-out" } }, { t: delay + 1e3, v: 1.3 }]);
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
oneShot(k, "Scan pulse", { width: 1800, height: 1800, state: "Pulse", duration: 1300, description: "The scouting wave that rolls out from the base when you scout." }, (state, id) => {
|
|
382
|
+
const r = k.ellipse(id, 1800, [], { name: "Pulse ring", stroke: { color: "verdigris", width: 6 }, absolute: { x: 0, y: 0 }, opacity: 0, effects: [glow(k, "verdigris", 30)] });
|
|
383
|
+
if (state !== "Pulse") return;
|
|
384
|
+
keys(k, r, "opacity", [{ t: 0, v: 0.9, ease: { kind: "ease", name: "cubic-in" } }, { t: 1250, v: 0 }]);
|
|
385
|
+
for (const p of ["scaleX", "scaleY"]) keys(k, r, p, [{ t: 0, v: 0.05, ease: { kind: "ease", name: "cubic-out" } }, { t: 1250, v: 1 }]);
|
|
386
|
+
});
|
|
387
|
+
oneShot(k, "Raid alert", { width: 820, height: 64, state: "Show", duration: 2300, description: 'The "base under attack" banner: change to Show on every raid.' }, (state, id) => {
|
|
388
|
+
if (state !== "Show") return;
|
|
389
|
+
const b = box(k, id, 0, 0, 820, 64, { name: "Alert plate", fill: "oxide", radius: 6, align: "CENTER", justify: "CENTER", stroke: { color: "oxideText", width: 2, align: "INSIDE" }, effects: [glow(k, "oxide", 30, 0.8)] });
|
|
390
|
+
k.text(b, "Your base is under attack", { style: "Alert 28", color: "onOxide", autoWidth: true, name: "Alert words" });
|
|
391
|
+
keys(k, b, "opacity", [{ t: 0, v: 0, ease: { kind: "hold" } }, { t: 60, v: 1, ease: { kind: "hold" } }, { t: 330, v: 0.3, ease: { kind: "hold" } }, { t: 480, v: 1, ease: { kind: "hold" } }, { t: 750, v: 0.3, ease: { kind: "hold" } }, { t: 900, v: 1, ease: { kind: "hold" } }, { t: 1900, v: 1, ease: { kind: "ease", name: "cubic-in" } }, { t: 2250, v: 0 }]);
|
|
392
|
+
keys(k, b, "translateY", [{ t: 0, v: -30, ease: { kind: "ease", name: "back-out", param: 2 } }, { t: 300, v: 0 }]);
|
|
393
|
+
});
|
|
394
|
+
const TOASTS = { Poor: "Not enough ore or fuel", Blind: "Spire not in sight \u2014 scout first (S)", Capped: "Supply capped \u2014 build a depot" };
|
|
395
|
+
k.variantSet("Order toast", "State", ["Idle", "Poor", "Blind", "Capped"], { width: 700, height: 52, description: "Why an order failed: change to Poor, Blind or Capped; it pops, holds and fades." }, (state, id) => {
|
|
396
|
+
if (state === "Idle") return;
|
|
397
|
+
const b = box(k, id, 0, 0, 700, 52, { name: "Toast plate", fill: "panelHi", radius: 6, align: "CENTER", justify: "CENTER", stroke: { color: "oxideText", width: 2, align: "INSIDE" } });
|
|
398
|
+
k.text(b, TOASTS[state], { style: "HUD 16", color: "oxideText", autoWidth: true, name: "Toast words" });
|
|
399
|
+
keys(k, b, "opacity", [{ t: 0, v: 0, ease: { kind: "ease", name: "cubic-out" } }, { t: 120, v: 1, ease: { kind: "hold" } }, { t: 1250, v: 1, ease: { kind: "ease", name: "cubic-in" } }, { t: 1560, v: 0 }]);
|
|
400
|
+
for (const p of ["scaleX", "scaleY"]) keys(k, b, p, [{ t: 0, v: 0.8, ease: { kind: "ease", name: "back-out", param: 2.5 } }, { t: 260, v: 1 }]);
|
|
401
|
+
}, (state) => state === "Idle" ? {} : { timeline: { duration: 1600 } });
|
|
402
|
+
oneShot(k, "Gauge needle", { width: 120, height: 120, state: "Spike", duration: 1100, description: "A gauge needle that spikes under attack (change to Spike)." }, (state, id) => {
|
|
403
|
+
const n = poly(k, id, [[57, 60], [60, 12], [63, 60], [60, 72]], "oxideText", { name: "Needle", effects: [glow(k, "oxide", 8, 0.6)] });
|
|
404
|
+
const nb = k.node(n);
|
|
405
|
+
k.patch(n, { anchorX: (60 - nb.x) / nb.width, anchorY: (60 - nb.y) / nb.height });
|
|
406
|
+
k.ellipse(id, 14, "brass", { name: "Needle hub", absolute: { x: 53, y: 53 }, stroke: { color: "bronzeDeep", width: 2 } });
|
|
407
|
+
if (state === "Spike") keys(k, n, "rotation", [{ t: 0, v: 0, ease: { kind: "ease", name: "expo-out" } }, { t: 110, v: 72, ease: { kind: "ease", name: "cubic-in-out" } }, { t: 420, v: -16, ease: { kind: "ease", name: "cubic-in-out" } }, { t: 680, v: 7, ease: { kind: "ease", name: "cubic-in-out" } }, { t: 1e3, v: 0 }]);
|
|
408
|
+
});
|
|
409
|
+
oneShot(k, "Spire hit", { width: 220, height: 220, duration: 760, description: "The Canker Spire flashes and rings when a strike lands." }, (state, id) => {
|
|
410
|
+
const f = k.ellipse(id, 220, "oreLight", { name: "Impact flash", absolute: { x: 0, y: 0 }, opacity: 0, effects: [glow(k, "enemyGlow", 40)] });
|
|
411
|
+
const r = k.ellipse(id, 220, [], { name: "Shock ring", stroke: { color: "oreLight", width: 5 }, absolute: { x: 0, y: 0 }, opacity: 0 });
|
|
412
|
+
if (state !== "Hit") return;
|
|
413
|
+
keys(k, f, "opacity", [{ t: 0, v: 0.85, ease: { kind: "ease", name: "expo-out" } }, { t: 380, v: 0 }]);
|
|
414
|
+
for (const p of ["scaleX", "scaleY"]) keys(k, f, p, [{ t: 0, v: 0.4, ease: { kind: "ease", name: "expo-out" } }, { t: 380, v: 0.9 }]);
|
|
415
|
+
keys(k, r, "opacity", [{ t: 0, v: 1, ease: { kind: "ease", name: "cubic-out" } }, { t: 720, v: 0 }]);
|
|
416
|
+
for (const p of ["scaleX", "scaleY"]) keys(k, r, p, [{ t: 0, v: 0.3, ease: { kind: "ease", name: "expo-out" } }, { t: 720, v: 1.5 }]);
|
|
417
|
+
});
|
|
418
|
+
oneShot(k, "Queue bar", { width: 288, height: 14, state: "Training", duration: 2600, description: "The build queue's progress: change to Training when a unit is queued." }, (state, id) => {
|
|
419
|
+
const f = k.rect(id, 288, 14, [k.gradient({ from: "verdigrisDeep", to: "verdigris", angle: 0 })], { name: "Queue fill", radius: 7, absolute: { x: 0, y: 0 }, opacity: 0 });
|
|
420
|
+
const g = k.rect(id, 288, 14, "brass", { name: "Queue flash", radius: 7, absolute: { x: 0, y: 0 }, opacity: 0, effects: [glow(k, "brass", 14)] });
|
|
421
|
+
if (state !== "Training") return;
|
|
422
|
+
keys(k, f, "opacity", [{ t: 0, v: 1, ease: { kind: "hold" } }, { t: 2380, v: 1, ease: { kind: "linear" } }, { t: 2560, v: 0 }]);
|
|
423
|
+
keys(k, f, "width", [{ t: 0, v: 4, ease: { kind: "ease", name: "sine-in-out" } }, { t: 2200, v: 288 }]);
|
|
424
|
+
keys(k, g, "opacity", [{ t: 2200, v: 0, ease: { kind: "ease", name: "expo-out" } }, { t: 2260, v: 0.9, ease: { kind: "ease", name: "cubic-in" } }, { t: 2560, v: 0 }]);
|
|
425
|
+
});
|
|
426
|
+
oneShot(k, "Unit ready", { width: 200, height: 40, state: "Show", duration: 1100, description: `The counter's "+1 unit" float, on every unit trained.` }, (state, id) => {
|
|
427
|
+
if (state !== "Show") return;
|
|
428
|
+
const t = k.text(id, "+1 unit", { style: "HUD 16", color: "verdigris", absolute: { x: 0, y: 10 }, width: 200, name: "Ready words" });
|
|
429
|
+
keys(k, t, "opacity", [{ t: 0, v: 0, ease: { kind: "ease", name: "cubic-out" } }, { t: 120, v: 1, ease: { kind: "hold" } }, { t: 700, v: 1, ease: { kind: "ease", name: "cubic-in" } }, { t: 1050, v: 0 }]);
|
|
430
|
+
keys(k, t, "translateY", [{ t: 0, v: 14, ease: { kind: "ease", name: "cubic-out" } }, { t: 1050, v: -20 }]);
|
|
431
|
+
});
|
|
432
|
+
oneShot(k, "Raid flash", { width: W, height: H, duration: 600, description: "The screen edges flush oxide red on every raid." }, (state, id) => {
|
|
433
|
+
const f = k.rect(id, W, H, [k.gradient({ from: "oxide", to: "oxide", kind: "RADIAL", fromOpacity: 0, toOpacity: 0.7, handles: [{ x: 0.5, y: 0.5 }, { x: 1.05, y: 0.5 }, { x: 0.5, y: 1.1 }] })], { name: "Flash", absolute: { x: 0, y: 0 }, opacity: 0 });
|
|
434
|
+
if (state === "Hit") keys(k, f, "opacity", [{ t: 0, v: 1, ease: { kind: "ease", name: "expo-out" } }, { t: 560, v: 0 }]);
|
|
435
|
+
});
|
|
436
|
+
const boot = screen(k, "Boot", { ground: "void", first: true, duration: 3600 });
|
|
437
|
+
const title = screen(k, "Title", { ground: "void" });
|
|
438
|
+
const main = screen(k, "Main menu", { ground: "void" });
|
|
439
|
+
const factionScreen = screen(k, "Faction select", { ground: "void" });
|
|
440
|
+
const briefing = screen(k, "Mission briefing", { ground: "void" });
|
|
441
|
+
const load = screen(k, "Load campaign", { ground: "void" });
|
|
442
|
+
const settings = screen(k, "Settings", { ground: "void" });
|
|
443
|
+
const credits = screen(k, "Credits", { ground: "void", duration: 12e3 });
|
|
444
|
+
const hud = screen(k, "Battle HUD", { ground: "soil" });
|
|
445
|
+
const tech = screen(k, "Tech tree", { ground: "void", fills: k.tint("scrim", 0.86) });
|
|
446
|
+
const pause = screen(k, "Pause", { ground: "void", fills: k.tint("scrim", 0.8) });
|
|
447
|
+
const defeat = screen(k, "Defeat", { ground: "void" });
|
|
448
|
+
const victory = screen(k, "Victory", { ground: "void" });
|
|
449
|
+
k.flowStart(boot, "Play IRONROOT DOMINION");
|
|
450
|
+
const pickStats = (i) => [
|
|
451
|
+
set(faction.id, { value: i, glide: 160 }),
|
|
452
|
+
set(industry.id, { value: FACTIONS[i].stats[0], glide: 450 }),
|
|
453
|
+
set(might.id, { value: FACTIONS[i].stats[1], glide: 450 }),
|
|
454
|
+
set(guile.id, { value: FACTIONS[i].stats[2], glide: 450 })
|
|
455
|
+
];
|
|
456
|
+
const selectSquad = (i) => {
|
|
457
|
+
const c = camFor(SQUADS[i].at);
|
|
458
|
+
return [
|
|
459
|
+
set(sel.id, { value: i + 1 }),
|
|
460
|
+
set(atk.id, { value: SQUADS[i].atk, glide: 420 }),
|
|
461
|
+
set(arm.id, { value: SQUADS[i].arm, glide: 420 }),
|
|
462
|
+
set(spd.id, { value: SQUADS[i].spd, glide: 420 }),
|
|
463
|
+
set(camX.id, { value: c.x, glide: 700, easing: "EASE_IN_OUT" }),
|
|
464
|
+
set(camY.id, { value: c.y, glide: 700, easing: "EASE_IN_OUT" })
|
|
465
|
+
];
|
|
466
|
+
};
|
|
467
|
+
const home = camFor(BASE);
|
|
468
|
+
const resetRun = [
|
|
469
|
+
set(ore.id, { expression: `400 + (${faction.n} == 0 ? 150 : 0)` }),
|
|
470
|
+
set(fuel.id, { expression: `200 + (${faction.n} == 1 ? 80 : 0)` }),
|
|
471
|
+
set(supply.id, { value: 6 }),
|
|
472
|
+
set(cap.id, { value: 20 }),
|
|
473
|
+
set(oreMined.id, { value: 0 }),
|
|
474
|
+
set(yieldV.id, { value: 50 }),
|
|
475
|
+
set(trained.id, { value: 0 }),
|
|
476
|
+
set(sporelings.id, { value: 0 }),
|
|
477
|
+
set(thornbacks.id, { value: 0 }),
|
|
478
|
+
set(depots.id, { value: 0 }),
|
|
479
|
+
...hp.map((h) => set(h.id, { value: 100 })),
|
|
480
|
+
set(baseHp.id, { value: 100 }),
|
|
481
|
+
set(baseTrail.id, { value: 100 }),
|
|
482
|
+
set(dmgTaken.id, { value: 15 }),
|
|
483
|
+
set(braced.id, { value: 0 }),
|
|
484
|
+
set(coreHp.id, { value: 120 }),
|
|
485
|
+
set(coreTrail.id, { value: 120 }),
|
|
486
|
+
set(scout.id, { expression: `${faction.n} == 2 ? 1 : 0` }),
|
|
487
|
+
set(camX.id, { value: home.x }),
|
|
488
|
+
set(camY.id, { value: home.y }),
|
|
489
|
+
set(plating.id, { value: 0 }),
|
|
490
|
+
set(taproots.id, { value: 0 }),
|
|
491
|
+
set(tier.id, { value: 0 }),
|
|
492
|
+
set(actions.id, { value: 0 }),
|
|
493
|
+
set(raids.id, { value: 0 }),
|
|
494
|
+
set(sel.id, { value: 1 }),
|
|
495
|
+
set(atk.id, { value: SQUADS[0].atk }),
|
|
496
|
+
set(arm.id, { value: SQUADS[0].arm }),
|
|
497
|
+
set(spd.id, { value: SQUADS[0].spd })
|
|
498
|
+
];
|
|
499
|
+
const toBattle = go(hud, "ZOOM_THROUGH", { duration: 600 });
|
|
500
|
+
{
|
|
501
|
+
k.rect(boot, W, H, [k.gradient({ from: "oxideDeep", to: "void", kind: "RADIAL", fromOpacity: 0.45, toOpacity: 0, handles: [{ x: 0.5, y: 0.9 }, { x: 1.1, y: 0.9 }, { x: 0.5, y: 1.6 }] })], { name: "Furnace glow", absolute: { x: 0, y: 0 } });
|
|
502
|
+
gear(boot, 960, 330, 110, 14, 30, "bronze", "void");
|
|
503
|
+
k.logo(boot, 110, 110, { absolute: { x: 905, y: 275 } });
|
|
504
|
+
label(k, boot, "{{brand.studio}}", "Studio 28", "parchment", 160, 470, { w: 1600, align: "CENTER", name: "Studio" });
|
|
505
|
+
label(k, boot, "Presents", "Small 16", "dim", 160, 516, { w: 1600, align: "CENTER", name: "Presents" });
|
|
506
|
+
const log = box(k, boot, 560, 600, 800, 200, { name: "Foundry log", gap: 2 });
|
|
507
|
+
for (const t of ["> stoking boilers .............. 212 psi", "> grafting rootstock ............ OK", "> charting the Hollow Reach ...... 4 rings", "> warden sworn .......... H. ASHGROVE"]) k.text(log, t, { style: "Boot 20", color: "verdigris", name: "Log line" });
|
|
508
|
+
const pbar = box(k, boot, 560, 830, 800, 10, { name: "Pressure bar", fill: "bronzeDeep", radius: 5, clip: true });
|
|
509
|
+
const pf = k.rect(pbar, 800, 10, [k.gradient({ from: "oxide", to: "brass", angle: 0 })], { name: "Pressure fill", radius: 5, absolute: { x: 0, y: 0 } });
|
|
510
|
+
keys(k, pf, "width", [{ t: 200, v: 10, ease: { kind: "ease", name: "cubic-in-out" } }, { t: 3e3, v: 800 }]);
|
|
511
|
+
k.cues(boot, [
|
|
512
|
+
{ layer: "{{brand.logo}}", preset: "scale-in", at: 0 },
|
|
513
|
+
{ layer: "Studio", preset: "fade-in", at: 300 },
|
|
514
|
+
{ layer: "Log line", preset: "typewriter", at: 700, params: { duration: 420 }, stagger: { delay: 520 } }
|
|
515
|
+
]);
|
|
516
|
+
k.link(boot, title, "DISSOLVE", { trigger: "AFTER_TIMEOUT", delay: 3400, duration: 700 });
|
|
517
|
+
k.link(boot, title, "DISSOLVE", { key: "*", duration: 400 });
|
|
518
|
+
k.link(boot, title, "DISSOLVE", { duration: 400 });
|
|
519
|
+
}
|
|
520
|
+
{
|
|
521
|
+
k.rect(title, W, H, [k.gradient({ from: "oxide", to: "void", kind: "RADIAL", fromOpacity: 0.28, toOpacity: 0, handles: [{ x: 0.7, y: 0.75 }, { x: 1.35, y: 0.75 }, { x: 0.7, y: 1.5 }] })], { name: "Dusk glow", absolute: { x: 0, y: 0 } });
|
|
522
|
+
poly(k, title, [[0, 860], [220, 800], [420, 830], [700, 760], [980, 810], [1260, 740], [1560, 790], [1920, 720], [1920, 1080], [0, 1080]], "soil", { name: "Far hills" });
|
|
523
|
+
for (const [x, h] of [[40, 130], [90, 96], [1760, 170], [1812, 120]]) {
|
|
524
|
+
k.rect(title, 34, h, "loam", { name: "Smokestack", absolute: { x, y: 800 - h } });
|
|
525
|
+
const puff = k.ellipse(title, 46, "smoke", { name: "Smoke", absolute: { x: x - 6, y: 770 - h }, opacity: 0.35 });
|
|
526
|
+
k.behave(puff, "translateY", [{ kind: "spin", rate: -24 }, { kind: "mod", period: 90, offset: -90 }]);
|
|
527
|
+
drift(k, puff, "opacity", 0.15, 0.5, x);
|
|
528
|
+
}
|
|
529
|
+
poly(k, title, [[0, 960], [300, 900], [640, 940], [1e3, 880], [1400, 930], [1920, 870], [1920, 1080], [0, 1080]], "loam", { name: "Near hills" });
|
|
530
|
+
const tree = box(k, title, 880, 0, 1040, 1080, { name: "Iron tree" });
|
|
531
|
+
k.rect(tree, 1040, 1080, [k.gradient({ from: "verdigris", to: "verdigris", kind: "RADIAL", fromOpacity: 0.22, toOpacity: 0, handles: [{ x: 0.5, y: 0.4 }, { x: 1, y: 0.4 }, { x: 0.5, y: 0.9 }] })], { name: "Canopy glow", absolute: { x: 0, y: 0 } });
|
|
532
|
+
const roots = [[[520, 900], [380, 980], [250, 1e3], [120, 1080]], [[520, 900], [470, 1e3], [420, 1080]], [[520, 900], [640, 990], [720, 1080]], [[520, 900], [700, 960], [880, 1e3], [1e3, 1080]]];
|
|
533
|
+
for (const r of roots) {
|
|
534
|
+
poly(k, tree, r, "bronzeDeep", { name: "Root", stroke: 26 });
|
|
535
|
+
poly(k, tree, r, "bronze", { name: "Root plate", stroke: 10 });
|
|
536
|
+
}
|
|
537
|
+
poly(k, tree, [[440, 1e3], [470, 700], [455, 520], [500, 360], [540, 360], [585, 520], [570, 700], [600, 1e3]], "bronze", { name: "Trunk" });
|
|
538
|
+
poly(k, tree, [[470, 700], [455, 520], [500, 360], [520, 360], [505, 520], [520, 700], [500, 1e3], [440, 1e3]], "bronzeDeep", { name: "Trunk shade" });
|
|
539
|
+
for (const y of [560, 680, 800, 920]) poly(k, tree, [[452, y], [592, y - 14]], "brassDim", { name: "Trunk band", stroke: 6 });
|
|
540
|
+
for (const [x, y] of [[520, 610], [540, 740], [505, 860]]) k.ellipse(tree, 10, "rivet", { name: "Trunk rivet", absolute: { x, y } });
|
|
541
|
+
const branches = [[[500, 420], [360, 320], [230, 300]], [[520, 380], [520, 220], [470, 130]], [[540, 420], [700, 310], [830, 290]], [[500, 520], [340, 470], [190, 480]], [[560, 520], [720, 470], [880, 500]]];
|
|
542
|
+
for (const b of branches) poly(k, tree, b, "bronze", { name: "Branch", stroke: 20 });
|
|
543
|
+
const canopy = box(k, tree, 0, 0, 1040, 700, { name: "Canopy" });
|
|
544
|
+
const cr = rng(7);
|
|
545
|
+
for (let i = 0; i < 26; i++) {
|
|
546
|
+
const a = cr() * TAU, d = 120 + cr() * 300;
|
|
547
|
+
const x = 520 + Math.cos(a) * d * 1.15, y = 330 + Math.sin(a) * d * 0.6, z = 90 + cr() * 90;
|
|
548
|
+
k.ellipse(canopy, z, i % 3 === 0 ? "verdigrisDeep" : i % 3 === 1 ? "mossDeep" : "verdigris", { name: "Leaf mass", absolute: { x: x - z / 2, y: y - z / 2 }, opacity: i % 3 === 2 ? 0.55 : 0.9 });
|
|
549
|
+
}
|
|
550
|
+
drift(k, canopy, "translateX", 5, 0.18);
|
|
551
|
+
gear(tree, 520, 300, 96, 14, 16);
|
|
552
|
+
gear(tree, 520 + 96 + 58, 300 - 20, 64, 9, -24, "brassDim");
|
|
553
|
+
gear(tree, 350, 250, 58, 8, -26, "brassDim");
|
|
554
|
+
gear(tree, 760, 420, 44, 7, 34);
|
|
555
|
+
gear(tree, 290, 430, 38, 6, 40);
|
|
556
|
+
for (let i = 0; i < 12; i++) {
|
|
557
|
+
const lf = poly(k, tree, [[0, 8], [10, 0], [22, 6], [12, 16]].map(([x, y]) => [x + 120 + i * 72, y + 240 + i % 4 * 60]), i % 2 ? "moss" : "verdigris", { name: "Falling leaf" });
|
|
558
|
+
k.behave(lf, "translateY", [{ kind: "spin", rate: 50 + i % 5 * 12 }, { kind: "mod", period: 820, offset: -(i * 67) % 820 }]);
|
|
559
|
+
drift(k, lf, "translateX", 30, 0.25 + i % 3 * 0.08, i * 0.7);
|
|
560
|
+
drift(k, lf, "rotation", 50, 0.4 + i % 4 * 0.1, i);
|
|
561
|
+
}
|
|
562
|
+
const lock = k.stack(title, { name: "Title lockup", width: 960, gap: 24, absolute: { x: 120, y: 250 } });
|
|
563
|
+
k.text(lock, "A {{brand.studio}} war of root and rivet", { style: "Small 16", color: "brass", name: "Kicker" });
|
|
564
|
+
k.text(lock, "{{brand.title}}", { style: "Title 132", color: "parchment", name: "Title" });
|
|
565
|
+
k.rect(lock, 180, 6, "oxide", { name: "Title rule" });
|
|
566
|
+
k.text(lock, "{{brand.tagline}}", { style: "Tagline 28", color: "dim", name: "Tagline", width: 860 });
|
|
567
|
+
const prompt = label(k, title, "Press any key", "Prompt 24", "brass", 120, 900, { w: 800, name: "Prompt" });
|
|
568
|
+
drift(k, prompt, "opacity", 0.3, 0.7);
|
|
569
|
+
label(k, title, '\xA9 2026 {{brand.studio}} \xB7 build 0.7.2 "Sapwood"', "Small 16", "dim", 120, 1010, { w: 900, name: "Legal" });
|
|
570
|
+
k.cues(title, [
|
|
571
|
+
{ layer: "Title lockup", preset: "blur-in", at: 0 },
|
|
572
|
+
{ layer: "Iron tree", preset: "rise-in", at: 150, params: { distance: 60 } },
|
|
573
|
+
{ layer: "Prompt", preset: "fade-in", at: 900 }
|
|
574
|
+
]);
|
|
575
|
+
k.link(title, main, "DISSOLVE", { key: "*", duration: 400 });
|
|
576
|
+
k.link(title, main, "DISSOLVE", { duration: 400 });
|
|
577
|
+
}
|
|
578
|
+
{
|
|
579
|
+
menuGround(main);
|
|
580
|
+
label(k, main, "{{brand.title}}", "Heading 60", "parchment", 120, 96, { w: 1e3, name: "Wordmark" });
|
|
581
|
+
k.rect(main, 140, 6, "oxide", { name: "Wordmark rule", absolute: { x: 124, y: 60 } });
|
|
582
|
+
menu(k, main, [
|
|
583
|
+
{ label: "Campaign", hint: "Mission 3 \xB7 Rusted Canopy", actions: [go(factionScreen, "PUSH_FROM_RIGHT", { duration: 380 })] },
|
|
584
|
+
{ label: "Skirmish", hint: "Straight to the field", actions: [...resetRun, toBattle] },
|
|
585
|
+
{ label: "Load", hint: "3 saved campaigns", actions: [go(load, "PUSH_FROM_RIGHT", { duration: 380 })] },
|
|
586
|
+
{ label: "Settings", actions: [go(settings, "PUSH_FROM_RIGHT", { duration: 380 })] },
|
|
587
|
+
{ label: "Credits", actions: [go(credits, "DISSOLVE", { duration: 400 })] },
|
|
588
|
+
{ label: "Quit", hint: "Back to the title", actions: [go(title, "DISSOLVE", { duration: 400 })] }
|
|
589
|
+
], { focus: menuFocus, x: 100, y: 300, width: 900, pitch: 88, style: "Menu 38", color: "parchment", plate: [k.gradient({ from: "brass", to: "brass", angle: 0, fromOpacity: 0.42, toOpacity: 0 })], marker: { color: "brass" }, hintStyle: "Hint 18", radius: 4 });
|
|
590
|
+
const card = plate(main, 1180, 290, 620, 560, { name: "War table" });
|
|
591
|
+
const rose = box(k, card, 190, 40, 240, 240, { name: "Compass rose" });
|
|
592
|
+
k.ellipse(rose, 240, "panelHi", { name: "Rose disc", stroke: { color: "brass", width: 3 }, absolute: { x: 0, y: 0 } });
|
|
593
|
+
spinAbout(arc(k, rose, 120, 120, 104, 0, TAU * 0.85, "verdigris", 3, { name: "Rose ring" }), 120, 120, 12);
|
|
594
|
+
const needle = poly(k, rose, [[120, 30], [136, 120], [120, 210], [104, 120]], "brass", { name: "Rose needle" });
|
|
595
|
+
poly(k, rose, [[120, 30], [136, 120], [104, 120]], "oxide", { name: "Rose north" });
|
|
596
|
+
k.behave(needle, "rotation", [{ kind: "noise", amp: 8, freq: 0.6, seed: 4 }]);
|
|
597
|
+
readout(k, card, commander.n, "WARDEN HESPER ASHGROVE", "Unit 30", "parchment", 40, 310, { w: 540, align: "CENTER", name: "Commander" });
|
|
598
|
+
readout(k, card, FACTIONS.map((f, i) => `${faction.n} == ${i} ? "${f.name.toUpperCase()}"`).join(" : ") + ' : ""', FACTIONS[0].name.toUpperCase(), "Small 16", "brass", 40, 356, { w: 540, align: "CENTER", name: "Dominion" });
|
|
599
|
+
label(k, card, '"The Hollow Choir has crossed the Mireglass. Hold the Heartwood, Warden, and break their spire."', "Quote 22", "dim", 60, 400, { w: 500, align: "CENTER", name: "Dispatch quote" });
|
|
600
|
+
const tick = box(k, main, 0, 930, W, 40, { name: "Dispatch ticker", clip: true, fill: k.tint("panel", 0.9) });
|
|
601
|
+
const words = label(k, tick, "DISPATCH \xB7 Boilers at the Heartwood holding 212 psi \xB7 Choir scouts seen past the Mireglass ford \xB7 Ore seam east of the river runs rich \xB7 Thornback plans recovered from the Oxide Reach \xB7 ", "Small 16", "dim", 0, 9, { name: "Ticker words" });
|
|
602
|
+
k.behave(words, "translateX", [{ kind: "spin", rate: -55 }, { kind: "mod", period: 1300, offset: -1300 }]);
|
|
603
|
+
hintBar(main, "\u2191 \u2193 SELECT ENTER CONFIRM MOUSE POINT AND CLICK");
|
|
604
|
+
k.cues(main, [{ layer: "Menu item", preset: "slide-in", at: 0, params: { direction: "left" }, stagger: { delay: 60 } }, { layer: "War table", preset: "rise-in", at: 200 }]);
|
|
605
|
+
}
|
|
606
|
+
{
|
|
607
|
+
menuGround(factionScreen);
|
|
608
|
+
label(k, factionScreen, "Choose your dominion", "Heading 60", "parchment", 120, 70, { name: "Screen title" });
|
|
609
|
+
label(k, factionScreen, "Each dominion fields its own units and starts with its own edge.", "Body 22", "dim", 124, 146, { name: "Screen lead" });
|
|
610
|
+
const emblem = (parent, i, cx, cy) => {
|
|
611
|
+
if (i === 0) {
|
|
612
|
+
gear(parent, cx, cy, 60, 10, 10);
|
|
613
|
+
poly(k, parent, [[cx, cy - 34], [cx + 22, cy], [cx, cy + 30], [cx - 22, cy]], "moss", { name: "Emblem leaf" });
|
|
614
|
+
}
|
|
615
|
+
if (i === 1) {
|
|
616
|
+
poly(k, parent, [[cx, cy - 64], [cx + 56, cy + 40], [cx - 56, cy + 40]], "oxide", { name: "Emblem flame" });
|
|
617
|
+
poly(k, parent, [[cx, cy - 24], [cx + 24, cy + 28], [cx - 24, cy + 28]], "oreLight", { name: "Emblem core" });
|
|
618
|
+
}
|
|
619
|
+
if (i === 2) {
|
|
620
|
+
poly(k, parent, ellipsePts(cx, cy, 64, 36), "verdigrisDeep", { name: "Emblem lens" });
|
|
621
|
+
poly(k, parent, [[cx - 64, cy], [cx, cy - 40], [cx + 64, cy], [cx, cy + 40]], "verdigris", { name: "Emblem eye" });
|
|
622
|
+
k.ellipse(parent, 30, "void", { name: "Emblem pupil", absolute: { x: cx - 15, y: cy - 15 } });
|
|
623
|
+
}
|
|
624
|
+
};
|
|
625
|
+
FACTIONS.forEach((f, i) => {
|
|
626
|
+
const near = `max(0, 1 - abs(${faction.n} - ${i}))`;
|
|
627
|
+
const card = plate(factionScreen, 120 + i * 570, 210, 540, 400, { name: "Faction card" });
|
|
628
|
+
const hl = k.rect(card, 540, 190, [k.gradient({ from: "brass", to: "brass", angle: 90, fromOpacity: 0.34, toOpacity: 0 })], { name: "Chosen glow", radius: 6, absolute: { x: 0, y: 0 } });
|
|
629
|
+
k.bindExpression(hl, "opacity", near);
|
|
630
|
+
const rim = k.rect(card, 540, 400, [], { name: "Chosen rim", radius: 6, stroke: { color: "brass", width: 4 }, absolute: { x: 0, y: 0 }, effects: [glow(k, "brass", 20, 0.6)] });
|
|
631
|
+
k.bindExpression(rim, "opacity", near);
|
|
632
|
+
k.bindExpression(card, "translateY", `${near} * -14`);
|
|
633
|
+
emblem(card, i, 270, 110);
|
|
634
|
+
label(k, card, f.name, "Card 30", "parchment", 20, 200, { w: 500, align: "CENTER", name: "Faction name" });
|
|
635
|
+
label(k, card, f.motto, "Quote 22", "dim", 40, 244, { w: 460, align: "CENTER", name: "Faction motto" });
|
|
636
|
+
label(k, card, f.bonus, "Small 16", "brass", 20, 336, { w: 500, align: "CENTER", name: "Faction bonus" });
|
|
637
|
+
k.on(card, when([{ if: "true", then: pickStats(i) }]), { trigger: "MOUSE_ENTER" });
|
|
638
|
+
onAll(k, card, pickStats(i));
|
|
639
|
+
});
|
|
640
|
+
const stats = plate(factionScreen, 120, 650, 820, 280, { name: "Dominion stats" });
|
|
641
|
+
label(k, stats, "Dominion traits", "Small 16", "brass", 40, 28, { name: "Stats title" });
|
|
642
|
+
[["Industry", industry], ["Might", might], ["Guile", guile]].forEach(([name, v], i) => {
|
|
643
|
+
label(k, stats, name, "Label 24", "parchment", 40, 66 + i * 66, { name: "Trait name" });
|
|
644
|
+
bar(k, stats, { x: 200, y: 78 + i * 66, w: 460, h: 14, value: v.n, max: "100", back: "bronzeDeep", fill: [k.gradient({ from: "verdigrisDeep", to: "brass", angle: 0 })], radius: 7, name: `${name} bar` });
|
|
645
|
+
readout(k, stats, `round(${v.n})`, String(FACTIONS[0].stats[i]), "Value 24", "brass", 680, 66 + i * 66, { w: 100, align: "RIGHT", name: "Trait value" });
|
|
646
|
+
});
|
|
647
|
+
const roster = plate(factionScreen, 980, 650, 820, 280, { name: "Unit roster" });
|
|
648
|
+
label(k, roster, "Unit roster", "Small 16", "brass", 40, 28, { name: "Roster title" });
|
|
649
|
+
for (let u = 0; u < 3; u++) {
|
|
650
|
+
const slot = box(k, roster, 40 + u * 250, 64, 230, 180, { name: "Roster slot", fill: "panelHi", radius: 6, stroke: { color: "bronzeDeep", width: 2 } });
|
|
651
|
+
FACTIONS.forEach((f, i) => {
|
|
652
|
+
const g = box(k, slot, 0, 0, 230, 180, { name: `${f.name} unit` });
|
|
653
|
+
k.bindExpression(g, "visible", `round(${faction.n}) == ${i}`);
|
|
654
|
+
const cx = 115, cy = 64, col = i === 0 ? "moss" : i === 1 ? "oxide" : "verdigris";
|
|
655
|
+
if (u === 0) {
|
|
656
|
+
poly(k, g, [[cx, cy - 36], [cx + 32, cy + 26], [cx - 32, cy + 26]], col, { name: "Unit icon" });
|
|
657
|
+
poly(k, g, [[cx, cy - 12], [cx + 12, cy + 12], [cx - 12, cy + 12]], "void", { name: "Unit eye" });
|
|
658
|
+
}
|
|
659
|
+
if (u === 1) {
|
|
660
|
+
poly(k, g, Array.from({ length: 6 }, (_, j) => polar(cx, cy, 38, j / 6 * TAU)), col, { name: "Unit icon" });
|
|
661
|
+
k.rect(g, 44, 10, "void", { name: "Unit slot", absolute: { x: cx - 22, y: cy - 5 } });
|
|
662
|
+
}
|
|
663
|
+
if (u === 2) {
|
|
664
|
+
poly(k, g, gearPts(cx, cy, 42, 8), col, { name: "Unit icon" });
|
|
665
|
+
poly(k, g, [[cx, cy - 20], [cx + 18, cy + 14], [cx - 18, cy + 14]], "void", { name: "Unit eye" });
|
|
666
|
+
}
|
|
667
|
+
label(k, g, f.roster[u], "HUD 16", "parchment", 10, 130, { w: 210, align: "CENTER", name: "Unit name" });
|
|
668
|
+
});
|
|
669
|
+
drift(k, slot, "translateY", 4, 0.4, u);
|
|
670
|
+
}
|
|
671
|
+
const choose = k.instance(factionScreen, "Brass button", { Label: "Command this dominion ENTER" }, { name: "Choose faction", absolute: { x: 1400, y: 950 } });
|
|
672
|
+
k.on(choose, go(briefing, "SLIDE_FROM_RIGHT", { duration: 450 }));
|
|
673
|
+
for (const key of ["ArrowRight", "d"]) k.on(factionScreen, when(FACTIONS.map((_, i) => ({ if: `${faction.n} == ${i}`, then: pickStats((i + 1) % 3) }))), { key });
|
|
674
|
+
for (const key of ["ArrowLeft", "a"]) k.on(factionScreen, when(FACTIONS.map((_, i) => ({ if: `${faction.n} == ${i}`, then: pickStats((i + 2) % 3) }))), { key });
|
|
675
|
+
k.on(factionScreen, go(briefing, "SLIDE_FROM_RIGHT", { duration: 450 }), { key: "Enter" });
|
|
676
|
+
k.on(factionScreen, back(), { key: "Escape" });
|
|
677
|
+
label(k, factionScreen, "LEFT RIGHT CHOOSE ENTER CONFIRM ESC BACK", "Hint 18", "dim", 120, 970, { name: "Faction hints" });
|
|
678
|
+
k.cues(factionScreen, [{ layer: "Faction card", preset: "rise-in", at: 0, stagger: { delay: 90 } }, { layer: "Dominion stats", preset: "fade-in", at: 400 }, { layer: "Unit roster", preset: "fade-in", at: 500 }]);
|
|
679
|
+
}
|
|
680
|
+
{
|
|
681
|
+
menuGround(briefing);
|
|
682
|
+
label(k, briefing, "Operation Rusted Canopy", "Heading 60", "parchment", 120, 60, { name: "Screen title" });
|
|
683
|
+
label(k, briefing, "Mission 3 \xB7 The Hollow Reach \xB7 Dawn", "Small 16", "brass", 124, 136, { name: "Mission line" });
|
|
684
|
+
const chartPlate = plate(briefing, 120, 180, 1060, 620, { name: "Chart" });
|
|
685
|
+
const S = 1020 / WORLD.w;
|
|
686
|
+
const chart = box(k, chartPlate, 20, 60, 1020, Math.round(WORLD.h * S), { name: "Chart map", fill: "soil", clip: true, radius: 4 });
|
|
687
|
+
terrain(chart, S, false);
|
|
688
|
+
label(k, chartPlate, "Survey of the Hollow Reach", "Small 16", "brass", 24, 22, { name: "Chart title" });
|
|
689
|
+
const route = poly(k, chart, scalePts(TRAIL, S), "brass", { name: "Route", stroke: 4, opacity: 0.9 });
|
|
690
|
+
void route;
|
|
691
|
+
const markers = [[BASE, "Heartwood", "verdigris"], [ORE_FIELDS[0], "Ore seam", "ore"], [ORE_FIELDS[2], "Choir outpost", "enemy"], [CORE, "Canker Spire", "enemy"], [ORE_FIELDS[1], "Deep seam", "ore"]];
|
|
692
|
+
for (const [[x, y], name, col] of markers) {
|
|
693
|
+
const m = box(k, chart, x * S - 90, y * S - 22, 180, 70, { name: "Objective marker" });
|
|
694
|
+
poly(k, m, [[90, 0], [112, 22], [90, 44], [68, 22]], col, { name: "Marker diamond", effects: [glow(k, col, 14, 0.7)] });
|
|
695
|
+
poly(k, m, [[90, 10], [102, 22], [90, 34], [78, 22]], "void", { name: "Marker pip" });
|
|
696
|
+
const tag = box(k, m, 20, 46, 140, 24, { name: "Marker tag", fill: k.tint("void", 0.85), radius: 4, align: "CENTER", justify: "CENTER" });
|
|
697
|
+
k.text(tag, name, { style: "HUD 16", color: "parchment", autoWidth: true, name: "Marker name" });
|
|
698
|
+
}
|
|
699
|
+
const core = k.named(chart, "Objective marker")[3];
|
|
700
|
+
drift(k, core, "scaleX", 0.06, 1.2);
|
|
701
|
+
drift(k, core, "scaleY", 0.06, 1.2);
|
|
702
|
+
const cmd = plate(briefing, 1220, 180, 580, 620, { name: "Commander" });
|
|
703
|
+
const face = box(k, cmd, 30, 36, 190, 190, { name: "Portrait", fill: "panelHi", radius: 95, clip: true, stroke: { color: "brass", width: 3, align: "INSIDE" } });
|
|
704
|
+
poly(k, face, [[40, 190], [60, 140], [95, 128], [130, 140], [150, 190]], "bronzeDeep", { name: "Coat" });
|
|
705
|
+
poly(k, face, [[58, 96], [62, 52], [95, 32], [128, 52], [132, 96], [118, 128], [72, 128]], "bronze", { name: "Helm" });
|
|
706
|
+
poly(k, face, [[66, 70], [124, 70], [118, 88], [72, 88]], "verdigris", { name: "Visor", effects: [glow(k, "verdigris", 14)] });
|
|
707
|
+
k.ellipse(face, 34, "brassDim", { name: "Respirator", absolute: { x: 78, y: 96 }, stroke: { color: "bronzeDeep", width: 2 } });
|
|
708
|
+
poly(k, face, [[95, 32], [100, 12], [106, 32]], "oxide", { name: "Crest" });
|
|
709
|
+
drift(k, k.named(face, "Visor")[0], "opacity", 0.25, 0.8);
|
|
710
|
+
readout(k, cmd, commander.n, "WARDEN HESPER ASHGROVE", "Unit 30", "parchment", 240, 56, { w: 310, name: "Commander name" });
|
|
711
|
+
label(k, cmd, "Warden of the Heartwood", "Small 16", "brass", 240, 150, { w: 310, name: "Commander rank" });
|
|
712
|
+
const orders = box(k, cmd, 30, 250, 520, 250, { name: "Orders", gap: 8 });
|
|
713
|
+
for (const t of ["The Hollow Choir has raised a spire east of the river.", "Scout the fog ring by ring until it stands in sight.", "Mine the seams, feed the boilers, grow the army.", "Then strike, and bring the Canker Spire down."]) k.text(orders, t, { style: "Body 22", color: "parchment", name: "Order line" });
|
|
714
|
+
const obj = box(k, cmd, 30, 510, 520, 90, { name: "Objectives", gap: 4 });
|
|
715
|
+
for (const t of ["Primary \xB7 topple the Canker Spire", "Secondary \xB7 chart all four fog rings", "Optional \xB7 keep the Heartwood above 60"]) k.text(obj, t, { style: "Small 16", color: "dim", name: "Objective line" });
|
|
716
|
+
const deploy = k.instance(briefing, "Brass button", { Label: "Deploy ENTER" }, { name: "Deploy", absolute: { x: 1570, y: 840 } });
|
|
717
|
+
onAll(k, deploy, [...resetRun, toBattle]);
|
|
718
|
+
onAll(k, briefing, [...resetRun, toBattle], { key: "Enter" });
|
|
719
|
+
k.on(briefing, back(), { key: "Escape" });
|
|
720
|
+
hintBar(briefing, "ENTER DEPLOY ESC BACK TO FACTIONS");
|
|
721
|
+
k.cues(briefing, [
|
|
722
|
+
{ layer: "Objective marker", preset: "pop-in", at: 300, stagger: { delay: 220 } },
|
|
723
|
+
{ layer: "Order line", preset: "typewriter", at: 500, params: { duration: 520 }, stagger: { delay: 560 } },
|
|
724
|
+
{ layer: "Portrait", preset: "scale-in", at: 100 }
|
|
725
|
+
]);
|
|
726
|
+
}
|
|
727
|
+
{
|
|
728
|
+
menuGround(load);
|
|
729
|
+
label(k, load, "Load campaign", "Heading 60", "parchment", 120, 90, { name: "Screen title" });
|
|
730
|
+
label(k, load, "Pick up the war where you left it.", "Body 22", "dim", 124, 166, { name: "Screen lead" });
|
|
731
|
+
menu(k, load, [
|
|
732
|
+
...SAVES.map((s) => ({ label: s.name, hint: s.hint, actions: [...resetRun, set(ore.id, { value: s.ore }), set(fuel.id, { value: s.fuel }), set(scout.id, { value: s.scout }), set(trained.id, { value: s.trained }), set(sporelings.id, { value: s.trained }), set(supply.id, { value: 6 + s.trained * 2 }), toBattle] })),
|
|
733
|
+
{ label: "Back", actions: [back()] }
|
|
734
|
+
], { focus: loadFocus, x: 100, y: 280, width: 1300, pitch: 100, style: "Menu 38", color: "parchment", plate: [k.gradient({ from: "brass", to: "brass", angle: 0, fromOpacity: 0.42, toOpacity: 0 })], marker: { color: "brass" }, hintStyle: "Hint 18", escape: [back()], radius: 4 });
|
|
735
|
+
hintBar(load, "\u2191 \u2193 SELECT ENTER LOAD ESC BACK");
|
|
736
|
+
k.cues(load, [{ layer: "Menu item", preset: "slide-in", at: 0, params: { direction: "left" }, stagger: { delay: 70 } }]);
|
|
737
|
+
}
|
|
738
|
+
{
|
|
739
|
+
menuGround(settings);
|
|
740
|
+
label(k, settings, "Settings", "Heading 60", "parchment", 120, 80, { name: "Screen title" });
|
|
741
|
+
const col = box(k, settings, 120, 190, 1100, 720, { name: "Settings list" });
|
|
742
|
+
const rows = 9;
|
|
743
|
+
focusColumn(k, settings, { focus: setFocus, count: rows, x: 100, y: 186, w: 1140, pitch: 80, plate: [k.gradient({ from: "brass", to: "brass", angle: 0, fromOpacity: 0.3, toOpacity: 0.04 })], guard: `${rebind.n} == ""`, escape: [back()] });
|
|
744
|
+
const common = { labelStyle: "Label 24", ink: "parchment" };
|
|
745
|
+
const sl = { ...common, valueStyle: "Value 24", track: "bronzeDeep", fill: "verdigris", knob: "brass" };
|
|
746
|
+
const rowsAt = (i) => ({ x: 0, y: i * 80, width: 1100, focus: { n: setFocus.n, index: i } });
|
|
747
|
+
const r0 = slider(k, col, { ...sl, ...rowsAt(0), label: "Master volume", variable: volume, suffix: "%" });
|
|
748
|
+
const r1 = slider(k, col, { ...sl, ...rowsAt(1), label: "Music", variable: music, suffix: "%" });
|
|
749
|
+
const r2 = slider(k, col, { ...sl, ...rowsAt(2), label: "Scroll speed", variable: scroll, min: 1, max: 10, step: 1 });
|
|
750
|
+
const r3 = slider(k, col, { ...sl, ...rowsAt(3), label: "UI scale", variable: uiScale, min: 80, max: 120, step: 5, suffix: "%" });
|
|
751
|
+
const r4 = toggle(k, col, { ...common, ...rowsAt(4), label: "Unit health bars", variable: hpBars });
|
|
752
|
+
const r5 = toggle(k, col, { ...common, ...rowsAt(5), label: "Minimap alert pings", variable: pings });
|
|
753
|
+
const kb = { ...common, capStyle: "Cap 20", cap: "panelHi", onCap: "brass", listening: "oxide", rebind };
|
|
754
|
+
const r6 = keybind(k, col, { ...kb, ...rowsAt(6), action: "Build depot", slot: "build", variable: keyBuild });
|
|
755
|
+
const r7 = keybind(k, col, { ...kb, ...rowsAt(7), action: "Attack (strike)", slot: "attack", variable: keyAttack });
|
|
756
|
+
const r8 = keybind(k, col, { ...kb, ...rowsAt(8), action: "Stop (hold)", slot: "stop", variable: keyStop });
|
|
757
|
+
[r0, r1, r2, r3, r4, r5, r6, r7, r8].forEach((r, i) => focusRow(k, r, setFocus, i));
|
|
758
|
+
rebindListener(k, settings, rebind, [{ slot: "build", variable: keyBuild }, { slot: "attack", variable: keyAttack }, { slot: "stop", variable: keyStop }]);
|
|
759
|
+
const pv = plate(settings, 1320, 190, 480, 560, { name: "Preview" });
|
|
760
|
+
label(k, pv, "UI scale preview", "Small 16", "brass", 32, 28, { name: "Preview title" });
|
|
761
|
+
const btn = box(k, pv, 152, 90, 176, 88, { name: "Preview button", fill: "panelHi", radius: 6, stroke: { color: "bronze", width: 2, align: "INSIDE" } });
|
|
762
|
+
poly(k, btn, [[20, 64], [40, 24], [60, 64]], "moss", { name: "Preview icon" });
|
|
763
|
+
label(k, btn, "Train", "Cmd 17", "parchment", 74, 18, { name: "Preview name" });
|
|
764
|
+
label(k, btn, "50 ore", "Cost 16", "brass", 74, 52, { name: "Preview cost" });
|
|
765
|
+
k.bindExpression(btn, "scaleX", `${uiScale.n} / 100`);
|
|
766
|
+
k.bindExpression(btn, "scaleY", `${uiScale.n} / 100`);
|
|
767
|
+
label(k, pv, "Camera step", "Small 16", "brass", 32, 250, { name: "Step title" });
|
|
768
|
+
const lane = box(k, pv, 32, 300, 416, 20, { name: "Step lane", fill: "bronzeDeep", radius: 10, clip: true });
|
|
769
|
+
const stepFill = k.rect(lane, 416, 20, [k.gradient({ from: "verdigrisDeep", to: "verdigris", angle: 0 })], { name: "Step fill", radius: 10, absolute: { x: 0, y: 0 } });
|
|
770
|
+
k.bindExpression(stepFill, "width", `${scroll.n} / 10 * 416`);
|
|
771
|
+
readout(k, pv, `round(${scroll.n} * 40) + " px per press"`, "200 px per press", "Value 24", "parchment", 32, 336, { w: 416, name: "Step value" });
|
|
772
|
+
label(k, pv, "The battle map pans by this much with each arrow key.", "Body 22", "dim", 32, 390, { w: 416, name: "Step note" });
|
|
773
|
+
const b = k.instance(settings, "Brass button", { Label: "Back ESC" }, { name: "Back", absolute: { x: 1620, y: 880 } });
|
|
774
|
+
k.on(b, back());
|
|
775
|
+
hintBar(settings, "\u2191 \u2193 ROW LEFT RIGHT ADJUST ENTER TOGGLE / REBIND ESC BACK");
|
|
776
|
+
}
|
|
777
|
+
{
|
|
778
|
+
menuGround(credits);
|
|
779
|
+
k.rect(credits, W, H, k.tint("void", 0.6), { name: "Wash", absolute: { x: 0, y: 0 } });
|
|
780
|
+
const roll = box(k, credits, 460, 50, 1e3, 980, { name: "Credits roll", gap: 18, align: "CENTER" });
|
|
781
|
+
k.text(roll, "Credits", { style: "Heading 60", color: "parchment", align: "CENTER", name: "Roll title" });
|
|
782
|
+
for (const [role, name] of CREDITS) {
|
|
783
|
+
const g = k.stack(roll, { gap: 2, align: "CENTER", name: "Credit" });
|
|
784
|
+
k.text(g, role, { style: "Credit role 18", color: "brass", align: "CENTER", name: "Role" });
|
|
785
|
+
k.text(g, name, { style: "Credit name 34", color: "parchment", align: "CENTER", name: "Name" });
|
|
786
|
+
}
|
|
787
|
+
k.text(roll, "Forged and grown by {{brand.studio}}", { style: "Credit role 18", color: "dim", align: "CENTER", name: "Sign-off" });
|
|
788
|
+
keys(k, roll, "translateY", [{ t: 0, v: 1080, ease: { kind: "linear" } }, { t: 11800, v: -1100 }]);
|
|
789
|
+
k.link(credits, main, "DISSOLVE", { key: "*", duration: 350 });
|
|
790
|
+
k.link(credits, main, "DISSOLVE", { duration: 350 });
|
|
791
|
+
}
|
|
792
|
+
const K = (key) => `upper($key) == ${key}`;
|
|
793
|
+
const trainCost = `(${tier.n} == 1 ? 4 : 2)`;
|
|
794
|
+
const hitSpire = (dmg) => [
|
|
795
|
+
set(coreHp.id, { expression: `max(0, ${coreHp.n} - (${dmg}))`, glide: 420 }),
|
|
796
|
+
set(coreTrail.id, { expression: coreHp.n, glide: 1300, easing: "EASE_IN_OUT" }),
|
|
797
|
+
set(camX.id, { value: camFor(CORE).x, glide: 800, easing: "EASE_IN_OUT" }),
|
|
798
|
+
set(camY.id, { value: camFor(CORE).y, glide: 800, easing: "EASE_IN_OUT" }),
|
|
799
|
+
when([{ if: `${coreHp.n} <= 0`, then: [go(victory, "ZOOM_THROUGH", { duration: 700 })] }])
|
|
800
|
+
];
|
|
801
|
+
const act = set(actions.id, { expression: `${actions.n} + 1` });
|
|
802
|
+
const COMMANDS = [
|
|
803
|
+
{
|
|
804
|
+
name: "Build",
|
|
805
|
+
key: keyBuild.n,
|
|
806
|
+
cost: '"100 ORE"',
|
|
807
|
+
afford: `${ore.n} >= 100`,
|
|
808
|
+
can: `${depots.n} < 4`,
|
|
809
|
+
cd: "Medium",
|
|
810
|
+
run: [set(ore.id, { expression: `${ore.n} - 100`, glide: 500 }), set(depots.id, { expression: `${depots.n} + 1` }), set(cap.id, { expression: `${cap.n} + 8`, glide: 500 }), act],
|
|
811
|
+
icon: (p) => {
|
|
812
|
+
poly(k, p, [[4, 20], [20, 4], [36, 20], [36, 38], [4, 38]], "brass", { name: "Icon" });
|
|
813
|
+
k.rect(p, 10, 14, "void", { name: "Icon door", absolute: { x: 15, y: 24 } });
|
|
814
|
+
}
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
name: "Train",
|
|
818
|
+
key: '"T"',
|
|
819
|
+
cost: `${tier.n} == 1 ? "120+30F" : "50 ORE"`,
|
|
820
|
+
afford: `(${tier.n} == 1 ? ${ore.n} >= 120 && ${fuel.n} >= 30 : ${ore.n} >= 50)`,
|
|
821
|
+
can: `${supply.n} + ${trainCost} <= ${cap.n}`,
|
|
822
|
+
cd: "Short",
|
|
823
|
+
run: [when([
|
|
824
|
+
{ if: `${tier.n} == 1`, then: [set(ore.id, { expression: `${ore.n} - 120`, glide: 500 }), set(fuel.id, { expression: `${fuel.n} - 30`, glide: 500 }), set(supply.id, { expression: `${supply.n} + 4`, glide: 400 }), set(thornbacks.id, { expression: `${thornbacks.n} + 1` })] },
|
|
825
|
+
{ then: [set(ore.id, { expression: `${ore.n} - 50`, glide: 500 }), set(supply.id, { expression: `${supply.n} + 2`, glide: 400 }), set(sporelings.id, { expression: `${sporelings.n} + 1` })] }
|
|
826
|
+
]), set(trained.id, { expression: `${trained.n} + 1` }), act],
|
|
827
|
+
icon: (p) => {
|
|
828
|
+
poly(k, p, [[20, 2], [38, 36], [2, 36]], "moss", { name: "Icon" });
|
|
829
|
+
k.rect(p, 14, 4, "void", { name: "Icon bar", absolute: { x: 13, y: 24 } });
|
|
830
|
+
k.rect(p, 4, 14, "void", { name: "Icon bar", absolute: { x: 18, y: 19 } });
|
|
831
|
+
}
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
name: "Strike",
|
|
835
|
+
key: keyAttack.n,
|
|
836
|
+
cost: '"20 FUEL"',
|
|
837
|
+
afford: `${fuel.n} >= 20`,
|
|
838
|
+
can: `${scout.n} >= 4 && ${coreHp.n} > 0`,
|
|
839
|
+
cd: "Medium",
|
|
840
|
+
run: [set(fuel.id, { expression: `${fuel.n} - 20`, glide: 400 }), act, ...hitSpire(`14 + 3 * min(${trained.n}, 6) + 18 * ${tier.n}`)],
|
|
841
|
+
icon: (p) => {
|
|
842
|
+
poly(k, p, [[2, 38], [26, 14], [22, 4], [38, 2], [36, 18], [26, 14], [8, 38]], "oxide", { name: "Icon" });
|
|
843
|
+
}
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
name: "Hold",
|
|
847
|
+
key: keyStop.n,
|
|
848
|
+
cost: '"BRACE"',
|
|
849
|
+
afford: "true",
|
|
850
|
+
can: `${braced.n} == 0`,
|
|
851
|
+
cd: "Long",
|
|
852
|
+
run: [set(braced.id, { value: 1 }), act],
|
|
853
|
+
icon: (p) => {
|
|
854
|
+
poly(k, p, Array.from({ length: 8 }, (_, j) => polar(20, 20, 19, j / 8 * TAU + Math.PI / 8)), "oxideDeep", { name: "Icon" });
|
|
855
|
+
k.rect(p, 20, 6, "parchment", { name: "Icon bar", absolute: { x: 10, y: 17 } });
|
|
856
|
+
}
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
name: "Gather",
|
|
860
|
+
key: '"G"',
|
|
861
|
+
cost: '"+" + ' + yieldV.n + ' + " ORE"',
|
|
862
|
+
afford: "true",
|
|
863
|
+
can: "true",
|
|
864
|
+
cd: "Short",
|
|
865
|
+
run: [set(ore.id, { expression: `${ore.n} + ${yieldV.n}`, glide: 700 }), set(fuel.id, { expression: `${fuel.n} + 20`, glide: 700 }), set(oreMined.id, { expression: `${oreMined.n} + ${yieldV.n}`, glide: 700 }), act],
|
|
866
|
+
icon: (p) => {
|
|
867
|
+
poly(k, p, [[20, 0], [34, 20], [20, 40], [6, 20]], "ore", { name: "Icon" });
|
|
868
|
+
poly(k, p, [[20, 0], [34, 20], [20, 16]], "oreLight", { name: "Icon glint" });
|
|
869
|
+
}
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
name: "Scout",
|
|
873
|
+
key: '"S"',
|
|
874
|
+
cost: '"15 FUEL"',
|
|
875
|
+
afford: `${fuel.n} >= 15`,
|
|
876
|
+
can: `${scout.n} < 4`,
|
|
877
|
+
cd: "Medium",
|
|
878
|
+
run: [set(fuel.id, { expression: `${fuel.n} - 15`, glide: 400 }), set(scout.id, { expression: `${scout.n} + 1`, glide: 1e3, easing: "EASE_IN_OUT" }), act],
|
|
879
|
+
icon: (p) => {
|
|
880
|
+
poly(k, p, [[0, 20], [20, 6], [40, 20], [20, 34]], "verdigris", { name: "Icon" });
|
|
881
|
+
k.ellipse(p, 14, "void", { name: "Icon pupil", absolute: { x: 13, y: 13 } });
|
|
882
|
+
}
|
|
883
|
+
},
|
|
884
|
+
{
|
|
885
|
+
name: "Research",
|
|
886
|
+
key: '"R"',
|
|
887
|
+
cost: '"TECH"',
|
|
888
|
+
afford: "true",
|
|
889
|
+
can: "true",
|
|
890
|
+
run: [],
|
|
891
|
+
icon: (p) => {
|
|
892
|
+
const g = poly(k, p, gearPts(20, 20, 19, 8), "brassDim", { name: "Icon" });
|
|
893
|
+
spin(k, g, 20);
|
|
894
|
+
k.ellipse(p, 12, "void", { name: "Icon hub", absolute: { x: 14, y: 14 } });
|
|
895
|
+
}
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
name: "Rootquake",
|
|
899
|
+
key: '"Q"',
|
|
900
|
+
cost: '"60 FUEL"',
|
|
901
|
+
afford: `${fuel.n} >= 60`,
|
|
902
|
+
can: `${tier.n} == 1 && ${scout.n} >= 4 && ${coreHp.n} > 0`,
|
|
903
|
+
cd: "Long",
|
|
904
|
+
run: [set(fuel.id, { expression: `${fuel.n} - 60`, glide: 400 }), act, ...hitSpire("45")],
|
|
905
|
+
icon: (p) => {
|
|
906
|
+
poly(k, p, [[4, 38], [14, 22], [10, 14], [22, 2], [20, 14], [30, 18], [18, 30], [22, 38]], "root", { name: "Icon" });
|
|
907
|
+
poly(k, p, [[14, 22], [10, 14], [22, 2], [20, 14]], "verdigris", { name: "Icon glint" });
|
|
908
|
+
}
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
name: "Repair",
|
|
912
|
+
key: '"E"',
|
|
913
|
+
cost: '"75 ORE"',
|
|
914
|
+
afford: `${ore.n} >= 75`,
|
|
915
|
+
can: `${baseHp.n} < ${baseMax.n}`,
|
|
916
|
+
cd: "Medium",
|
|
917
|
+
run: [set(ore.id, { expression: `${ore.n} - 75`, glide: 500 }), set(baseHp.id, { expression: `min(${baseMax.n}, ${baseHp.n} + 20)`, glide: 700 }), set(baseTrail.id, { expression: baseHp.n, glide: 700 }), act],
|
|
918
|
+
icon: (p) => {
|
|
919
|
+
k.rect(p, 12, 36, "verdigris", { name: "Icon", absolute: { x: 14, y: 2 } });
|
|
920
|
+
k.rect(p, 36, 12, "verdigris", { name: "Icon bar", absolute: { x: 2, y: 14 } });
|
|
921
|
+
}
|
|
922
|
+
}
|
|
923
|
+
];
|
|
924
|
+
const ok = (c) => `${K(c.key)} && ${c.afford} && ${c.can}`;
|
|
925
|
+
{
|
|
926
|
+
const view = box(k, hud, 0, 76, VIEW.w, VIEW.h, { name: "Map view", clip: true, fill: "soil" });
|
|
927
|
+
const world = box(k, view, 0, 0, WORLD.w, WORLD.h, { name: "World", fill: "soil" });
|
|
928
|
+
k.bindExpression(world, "translateX", `0 - ${camX.n}`);
|
|
929
|
+
k.bindExpression(world, "translateY", `0 - ${camY.n}`);
|
|
930
|
+
terrain(world, 1, true);
|
|
931
|
+
const rr = rng(77);
|
|
932
|
+
for (let i = 0; i < 8; i++) {
|
|
933
|
+
const a = -Math.PI * 0.9 + i / 8 * Math.PI * 1.9 + rr() * 0.2;
|
|
934
|
+
const pts = [BASE];
|
|
935
|
+
for (let s = 1; s <= 5; s++) pts.push(polar(BASE[0], BASE[1], 60 + s * 55, a + (rr() - 0.5) * 0.5));
|
|
936
|
+
const root = poly(k, world, pts, "root", { name: "Creeping root", stroke: 7 });
|
|
937
|
+
k.bindExpression(root, "visible", `${trained.n} >= ${i + 1}`);
|
|
938
|
+
poly(k, world, pts.slice(-2), "verdigris", { name: "Root tip", stroke: 3 });
|
|
939
|
+
k.bindExpression(k.named(world, "Root tip").slice(-1)[0], "visible", `${trained.n} >= ${i + 1}`);
|
|
940
|
+
}
|
|
941
|
+
const heart = box(k, world, BASE[0] - 120, BASE[1] - 150, 240, 240, { name: "Heartwood" });
|
|
942
|
+
poly(k, heart, Array.from({ length: 6 }, (_, j) => polar(120, 180, 96, j / 6 * TAU)), "bronzeDeep", { name: "Platform", effects: [glow(k, "verdigris", 24, 0.35)] });
|
|
943
|
+
poly(k, heart, Array.from({ length: 6 }, (_, j) => polar(120, 176, 80, j / 6 * TAU)), "bronze", { name: "Platform deck" });
|
|
944
|
+
poly(k, heart, [[104, 176], [110, 110], [100, 70], [140, 70], [130, 110], [136, 176]], "brassDim", { name: "Heart trunk" });
|
|
945
|
+
for (const [x, y, z, c] of [[70, 20, 70, "verdigrisDeep"], [110, 6, 80, "verdigris"], [140, 30, 66, "mossDeep"], [90, 44, 60, "moss"]]) k.ellipse(heart, z, c, { name: "Heart crown", absolute: { x, y }, opacity: 0.92 });
|
|
946
|
+
gear(heart, 120, 70, 30, 8, 30);
|
|
947
|
+
for (let i = 0; i < 3; i++) {
|
|
948
|
+
const puff = k.ellipse(heart, 22 + i * 6, "smoke", { name: "Stack smoke", absolute: { x: 176, y: 110 }, opacity: 0.4 });
|
|
949
|
+
k.behave(puff, "translateY", [{ kind: "spin", rate: -30 }, { kind: "mod", period: 120, offset: -120 + i * 40 }]);
|
|
950
|
+
drift(k, puff, "translateX", 8, 0.5, i);
|
|
951
|
+
}
|
|
952
|
+
k.rect(heart, 14, 40, "loam", { name: "Stack", absolute: { x: 180, y: 120 } });
|
|
953
|
+
const DEPOTS = [[250, 900], [590, 910], [210, 640], [620, 620]];
|
|
954
|
+
DEPOTS.forEach(([x, y], i) => {
|
|
955
|
+
const d = box(k, world, x - 40, y - 34, 80, 68, { name: "Supply depot" });
|
|
956
|
+
poly(k, d, [[0, 26], [40, 0], [80, 26], [80, 68], [0, 68]], "panelHi", { name: "Depot body" });
|
|
957
|
+
poly(k, d, [[0, 26], [40, 0], [80, 26]], "brass", { name: "Depot roof", stroke: 4 });
|
|
958
|
+
k.rect(d, 20, 24, "verdigris", { name: "Depot door", absolute: { x: 30, y: 44 } });
|
|
959
|
+
k.bindExpression(d, "visible", `${depots.n} >= ${i + 1}`);
|
|
960
|
+
});
|
|
961
|
+
const unitShape = (parent, kind, x, y, name) => {
|
|
962
|
+
if (kind === 0) {
|
|
963
|
+
poly(k, parent, [[x, y - 14], [x + 13, y + 10], [x - 13, y + 10]], "moss", { name });
|
|
964
|
+
poly(k, parent, [[x, y - 4], [x + 5, y + 5], [x - 5, y + 5]], "void", { name: `${name} eye` });
|
|
965
|
+
}
|
|
966
|
+
if (kind === 1) {
|
|
967
|
+
poly(k, parent, Array.from({ length: 6 }, (_, j) => polar(x, y, 15, j / 6 * TAU)), "brass", { name });
|
|
968
|
+
k.rect(parent, 16, 4, "void", { name: `${name} slot`, absolute: { x: x - 8, y: y - 2 } });
|
|
969
|
+
}
|
|
970
|
+
if (kind === 2) {
|
|
971
|
+
poly(k, parent, gearPts(x, y, 14, 6), "verdigris", { name });
|
|
972
|
+
k.ellipse(parent, 8, "void", { name: `${name} hub`, absolute: { x: x - 4, y: y - 4 } });
|
|
973
|
+
}
|
|
974
|
+
if (kind === 3) {
|
|
975
|
+
poly(k, parent, Array.from({ length: 6 }, (_, j) => polar(x, y, 24, j / 6 * TAU + Math.PI / 6)), "verdigrisDeep", { name });
|
|
976
|
+
poly(k, parent, [[x, y - 34], [x + 8, y - 20], [x - 8, y - 20]], "oxide", { name: `${name} spike` });
|
|
977
|
+
poly(k, parent, [[x, y - 10], [x + 10, y + 8], [x - 10, y + 8]], "brass", { name: `${name} core` });
|
|
978
|
+
}
|
|
979
|
+
};
|
|
980
|
+
SQUADS.forEach((s, i) => {
|
|
981
|
+
const [cx, cy] = s.at;
|
|
982
|
+
const g = box(k, world, cx - 110, cy - 80, 220, 160, { name: `Squad ${i + 1}` });
|
|
983
|
+
const ring = poly(k, g, ellipsePts(110, 86, 100, 58), "brass", { name: "Selection ring", stroke: 3, closed: true, effects: [glow(k, "brass", 12, 0.7)] });
|
|
984
|
+
k.bindExpression(ring, "visible", `${sel.n} == ${i + 1}`);
|
|
985
|
+
drift(k, ring, "opacity", 0.25, 1.2);
|
|
986
|
+
const slots = [[70, 70], [110, 60], [150, 70], [90, 100], [130, 100], [60, 120], [160, 120], [110, 130], [40, 90], [180, 90]];
|
|
987
|
+
for (let u = 0; u < s.size; u++) unitShape(g, i, slots[u][0], slots[u][1], "Unit");
|
|
988
|
+
if (i === 0) for (let u = 0; u < 6; u++) {
|
|
989
|
+
const extra = box(k, g, slots[s.size + u][0] - 16, slots[s.size + u][1] - 16, 32, 32, { name: "Trained unit" });
|
|
990
|
+
unitShape(extra, 0, 16, 16, "Unit");
|
|
991
|
+
k.bindExpression(extra, "visible", `${sporelings.n} >= ${u + 1}`);
|
|
992
|
+
}
|
|
993
|
+
const hb = bar(k, g, { x: 60, y: 8, w: 100, h: 8, value: hp[i].n, max: "100", back: "bronzeDeep", fill: "moss", radius: 4, name: "Squad health" });
|
|
994
|
+
k.bindExpression(hb, "visible", `${hpBars.n} == 1`);
|
|
995
|
+
drift(k, g, "translateX", 6, 0.12 + i * 0.05, i);
|
|
996
|
+
drift(k, g, "translateY", 4, 0.17 + i * 0.04, i * 2);
|
|
997
|
+
});
|
|
998
|
+
const thorn = box(k, world, 520, 480, 240, 160, { name: "Thornback line" });
|
|
999
|
+
for (let u = 0; u < 4; u++) {
|
|
1000
|
+
const w = box(k, thorn, 20 + u * 54, 40 + u % 2 * 40, 60, 70, { name: "Thornback" });
|
|
1001
|
+
unitShape(w, 3, 30, 40, "Walker");
|
|
1002
|
+
k.bindExpression(w, "visible", `${thornbacks.n} >= ${u + 1}`);
|
|
1003
|
+
drift(k, w, "translateY", 3, 0.6, u);
|
|
1004
|
+
}
|
|
1005
|
+
const raiders = box(k, world, 1640, 400, 220, 140, { name: "Choir raiders" });
|
|
1006
|
+
[[30, 40], [80, 20], [130, 50], [70, 90], [170, 80]].forEach(([x, y], i) => {
|
|
1007
|
+
const r = poly(k, raiders, [[x, y - 12], [x + 14, y + 10], [x, y + 3], [x - 14, y + 10]], "enemy", { name: "Raider" });
|
|
1008
|
+
drift(k, r, "translateX", 12, 0.3 + i * 0.07, i);
|
|
1009
|
+
drift(k, r, "translateY", 8, 0.4 + i * 0.05, i * 2);
|
|
1010
|
+
});
|
|
1011
|
+
const spire = box(k, world, CORE[0] - 110, CORE[1] - 110, 220, 220, { name: "Canker spire" });
|
|
1012
|
+
const aura = k.ellipse(spire, 220, [k.gradient({ from: "enemyGlow", to: "enemyGlow", kind: "RADIAL", fromOpacity: 0.5, toOpacity: 0 })], { name: "Spire aura", absolute: { x: 0, y: 0 } });
|
|
1013
|
+
drift(k, aura, "opacity", 0.3, 0.8);
|
|
1014
|
+
const spikes = poly(k, spire, gearPts(110, 110, 92, 12, 26), "oxideDeep", { name: "Spire thorns" });
|
|
1015
|
+
spinAbout(spikes, 110, 110, -14);
|
|
1016
|
+
poly(k, spire, Array.from({ length: 8 }, (_, j) => polar(110, 110, 62, j / 8 * TAU + Math.PI / 8)), "enemy", { name: "Spire body", effects: [glow(k, "enemy", 20, 0.6)] });
|
|
1017
|
+
poly(k, spire, Array.from({ length: 8 }, (_, j) => polar(110, 110, 40, j / 8 * TAU + Math.PI / 8)), "oxideDeep", { name: "Spire inner" });
|
|
1018
|
+
const eye = k.ellipse(spire, 34, "enemyGlow", { name: "Spire heart", absolute: { x: 93, y: 93 } });
|
|
1019
|
+
drift(k, eye, "scaleX", 0.18, 1.4);
|
|
1020
|
+
drift(k, eye, "scaleY", 0.18, 1.4);
|
|
1021
|
+
const crackA = poly(k, spire, [[70, 60], [96, 92], [88, 118], [110, 140]], "void", { name: "Spire crack", stroke: 4 });
|
|
1022
|
+
const crackB = poly(k, spire, [[150, 70], [124, 104], [140, 130], [126, 160]], "void", { name: "Spire crack", stroke: 4 });
|
|
1023
|
+
k.bindExpression(crackA, "visible", `${coreHp.n} < 80`);
|
|
1024
|
+
k.bindExpression(crackB, "visible", `${coreHp.n} < 40`);
|
|
1025
|
+
const spireHit = k.instance(spire, "Spire hit", {}, { name: "Spire hit", absolute: { x: 0, y: 0 } });
|
|
1026
|
+
const sb = bar(k, world, { x: CORE[0] - 80, y: CORE[1] - 140, w: 160, h: 10, value: coreHp.n, max: coreMax.n, back: "bronzeDeep", fill: "enemy", chip: { expression: coreTrail.n, color: "oreLight" }, radius: 5, name: "Spire health" });
|
|
1027
|
+
k.bindExpression(sb, "visible", `${hpBars.n} == 1`);
|
|
1028
|
+
FOG_R.slice(0, -1).forEach((r0, i) => {
|
|
1029
|
+
const r1 = FOG_R[i + 1];
|
|
1030
|
+
const ring = sector(k, world, BASE[0], BASE[1], r1, r0, 0, TAU, k.tint("fog", 0.9), { name: "Fog ring" });
|
|
1031
|
+
k.bindExpression(ring, "opacity", `clamp(${i} + 1 - ${scout.n}, 0, 1)`);
|
|
1032
|
+
k.bindExpression(ring, "scaleX", `1 + clamp(${scout.n} - ${i}, 0, 1) * 0.22`);
|
|
1033
|
+
k.bindExpression(ring, "scaleY", `1 + clamp(${scout.n} - ${i}, 0, 1) * 0.22`);
|
|
1034
|
+
const edge = arc(k, world, BASE[0], BASE[1], r0 + 6, 0, TAU, "mist", 14, { name: "Fog edge", opacity: 0.3 });
|
|
1035
|
+
k.bindExpression(edge, "opacity", `clamp(${i} + 1 - ${scout.n}, 0, 1) * 0.3`);
|
|
1036
|
+
k.bindExpression(edge, "scaleX", `1 + clamp(${scout.n} - ${i}, 0, 1) * 0.22`);
|
|
1037
|
+
k.bindExpression(edge, "scaleY", `1 + clamp(${scout.n} - ${i}, 0, 1) * 0.22`);
|
|
1038
|
+
for (let m = 0; m < 3; m++) {
|
|
1039
|
+
const [mx, my] = polar(BASE[0], BASE[1], (r0 + Math.min(r1, r0 + 360)) / 2, -0.9 + m * 0.9 + i * 0.3);
|
|
1040
|
+
const mist = k.ellipse(world, 220, "mist", { name: "Mist", absolute: { x: mx - 110, y: my - 110 }, opacity: 0.1 });
|
|
1041
|
+
k.bindExpression(mist, "visible", `${scout.n} < ${i + 1}`);
|
|
1042
|
+
drift(k, mist, "translateX", 40, 0.07 + m * 0.02, m + i);
|
|
1043
|
+
}
|
|
1044
|
+
});
|
|
1045
|
+
const pulse = k.instance(world, "Scan pulse", {}, { name: "Scan pulse", absolute: { x: BASE[0] - 900, y: BASE[1] - 900 } });
|
|
1046
|
+
SQUADS.forEach((s, i) => {
|
|
1047
|
+
const hot = box(k, world, s.at[0] - 110, s.at[1] - 80, 220, 160, { name: `Select squad ${i + 1}` });
|
|
1048
|
+
onAll(k, hot, selectSquad(i));
|
|
1049
|
+
});
|
|
1050
|
+
const flash = k.instance(hud, "Raid flash", {}, { name: "Raid flash", absolute: { x: 0, y: 0 } });
|
|
1051
|
+
const top = plate(hud, 0, 0, W, 76, { name: "Top bar", rivets: false });
|
|
1052
|
+
gear(top, 40, 38, 24, 8, 14);
|
|
1053
|
+
label(k, top, "Op. Rusted Canopy", "HUD 16", "brass", 78, 14, { w: 270, name: "Operation" });
|
|
1054
|
+
label(k, top, "Hollow Reach \xB7 dawn", "Small 16", "dim", 78, 40, { w: 270, name: "Operation place" });
|
|
1055
|
+
const res = (x, name, v, rest, icon) => {
|
|
1056
|
+
const g = box(k, top, x, 8, 220, 60, { name: `${name} counter` });
|
|
1057
|
+
const ic = box(k, g, 0, 12, 36, 36, { name: `${name} icon` });
|
|
1058
|
+
icon(ic);
|
|
1059
|
+
readout(k, g, `round(${v.n})`, rest, "Res 30", "parchment", 48, 2, { w: 160, name: `${name} value` });
|
|
1060
|
+
label(k, g, name, "Small 16", "dim", 48, 36, { name: `${name} label` });
|
|
1061
|
+
return g;
|
|
1062
|
+
};
|
|
1063
|
+
res(380, "Ore", ore, "400", (p) => {
|
|
1064
|
+
poly(k, p, [[18, 0], [32, 18], [18, 36], [4, 18]], "ore", { name: "Ore gem" });
|
|
1065
|
+
poly(k, p, [[18, 0], [32, 18], [18, 14]], "oreLight", { name: "Ore facet" });
|
|
1066
|
+
});
|
|
1067
|
+
res(610, "Fuel", fuel, "200", (p) => {
|
|
1068
|
+
poly(k, p, [[18, 0], [32, 22], [26, 34], [10, 34], [4, 22]], "brass", { name: "Fuel drop" });
|
|
1069
|
+
k.ellipse(p, 10, "onBrass", { name: "Fuel shine", absolute: { x: 12, y: 18 } });
|
|
1070
|
+
});
|
|
1071
|
+
const sup = box(k, top, 840, 8, 300, 60, { name: "Supply counter" });
|
|
1072
|
+
const crate = box(k, sup, 0, 12, 36, 36, { name: "Supply icon" });
|
|
1073
|
+
k.rect(crate, 32, 28, "bronze", { name: "Crate", absolute: { x: 2, y: 6 }, stroke: { color: "brass", width: 2 } });
|
|
1074
|
+
poly(k, crate, [[2, 6], [34, 34]], "brass", { name: "Crate brace", stroke: 2 });
|
|
1075
|
+
readout(k, sup, `round(${supply.n}) + " / " + round(${cap.n})`, "6 / 20", "Res 30", "parchment", 48, 2, { w: 180, name: "Supply value" });
|
|
1076
|
+
label(k, sup, "Supply", "Small 16", "dim", 48, 36, { name: "Supply label" });
|
|
1077
|
+
const supBar = bar(k, sup, { x: 150, y: 42, w: 140, h: 10, value: supply.n, max: cap.n, back: "bronzeDeep", fill: "verdigris", radius: 5, name: "Supply bar" });
|
|
1078
|
+
const supWarn = k.rect(supBar, 140, 10, "oxide", { name: "Supply bar warning", radius: 5, absolute: { x: 0, y: 0 } });
|
|
1079
|
+
k.bindExpression(supWarn, "width", `clamp(${supply.n} / ${cap.n}, 0, 1) * 140`);
|
|
1080
|
+
k.bindExpression(supWarn, "visible", `${supply.n} >= ${cap.n} - 4`);
|
|
1081
|
+
drift(k, supWarn, "opacity", 0.35, 2.2);
|
|
1082
|
+
const hw = box(k, top, 1160, 8, 440, 60, { name: "Heartwood integrity" });
|
|
1083
|
+
label(k, hw, "Heartwood", "HUD 16", "verdigris", 0, 4, { name: "Heartwood label" });
|
|
1084
|
+
bar(k, hw, { x: 0, y: 30, w: 340, h: 20, value: baseHp.n, max: baseMax.n, back: "bronzeDeep", fill: [k.gradient({ from: "verdigrisDeep", to: "verdigris", angle: 0 })], chip: { expression: baseTrail.n, color: "oxideText" }, radius: 4, name: "Base bar" });
|
|
1085
|
+
readout(k, hw, `round(${baseHp.n}) + "%"`, "100%", "Value 24", "parchment", 350, 24, { w: 86, align: "RIGHT", name: "Base value" });
|
|
1086
|
+
gear(top, 1700, 38, 26, 9, -18, "brassDim");
|
|
1087
|
+
gear(top, 1746, 22, 16, 7, 29, "brassDim");
|
|
1088
|
+
const objective = plate(hud, 20, 92, 460, 124, { name: "Objective" });
|
|
1089
|
+
label(k, objective, "Objective", "Small 16", "brass", 22, 16, { name: "Objective label" });
|
|
1090
|
+
label(k, objective, "Topple the Canker Spire", "Label 24", "parchment", 22, 40, { w: 420, name: "Objective text" });
|
|
1091
|
+
bar(k, objective, { x: 22, y: 78, w: 300, h: 12, value: coreHp.n, max: coreMax.n, back: "bronzeDeep", fill: "enemy", chip: { expression: coreTrail.n, color: "oreLight" }, radius: 6, name: "Spire bar" });
|
|
1092
|
+
readout(k, objective, `round(${coreHp.n}) + " HP"`, "120 HP", "Small 16", "oxideText", 330, 74, { w: 110, align: "RIGHT", name: "Spire value" });
|
|
1093
|
+
readout(k, objective, `"FOG " + round(${scout.n}) + " / 4 \xB7 " + (${scout.n} >= 4 ? "SPIRE IN SIGHT" : "SPIRE UNSEEN")`, "FOG 0 / 4 \xB7 SPIRE UNSEEN", "Small 16", "dim", 22, 98, { w: 420, name: "Scout status" });
|
|
1094
|
+
const warn = box(k, hud, 1480, 96, 420, 44, { name: "Supply warning", fill: "oxide", radius: 6, align: "CENTER", justify: "CENTER" });
|
|
1095
|
+
k.text(warn, "Supply near cap \u2014 build (B)", { style: "HUD 16", color: "onOxide", autoWidth: true, name: "Supply warning words" });
|
|
1096
|
+
k.bindExpression(warn, "visible", `${supply.n} >= ${cap.n} - 4`);
|
|
1097
|
+
drift(k, warn, "opacity", 0.25, 1.6);
|
|
1098
|
+
const failing = box(k, hud, 660, 300, 600, 56, { name: "Heartwood failing", fill: "oxideDeep", radius: 6, align: "CENTER", justify: "CENTER", stroke: { color: "oxideText", width: 2, align: "INSIDE" } });
|
|
1099
|
+
k.text(failing, "Heartwood failing \u2014 repair (E)", { style: "Alert 28", color: "parchment", autoWidth: true, name: "Failing words" });
|
|
1100
|
+
k.bindExpression(failing, "visible", `${baseHp.n} < 40 && ${baseHp.n} > 0`);
|
|
1101
|
+
drift(k, failing, "opacity", 0.3, 2);
|
|
1102
|
+
const legend = box(k, hud, 20, 722, 1200, 32, { name: "Controls", fill: k.tint("void", 0.86), radius: 4 });
|
|
1103
|
+
readout(k, legend, `${keyBuild.n} + " BUILD \xB7 T TRAIN \xB7 " + ${keyAttack.n} + " STRIKE \xB7 " + ${keyStop.n} + " HOLD \xB7 G GATHER \xB7 S SCOUT \xB7 R TECH \xB7 A RAID \xB7 1 2 3 SQUADS"`, "B BUILD \xB7 T TRAIN \xB7 F STRIKE \xB7 H HOLD \xB7 G GATHER \xB7 S SCOUT \xB7 R TECH \xB7 A RAID \xB7 1 2 3 SQUADS", "Small 16", "parchment", 12, 5, { w: 1176, name: "Legend" });
|
|
1104
|
+
const con = plate(hud, 0, 760, W, 320, { name: "Console", rivets: false });
|
|
1105
|
+
void con;
|
|
1106
|
+
const mm = plate(hud, 14, 772, 336, 296, { name: "Minimap panel" });
|
|
1107
|
+
label(k, mm, "Cartograph", "Small 16", "brass", 20, 14, { name: "Minimap label" });
|
|
1108
|
+
const MS = 1 / 8;
|
|
1109
|
+
const mini = box(k, mm, 18, 42, 300, 150, { name: "Minimap", fill: "soil", clip: true, stroke: { color: "brassDim", width: 2, align: "INSIDE" } });
|
|
1110
|
+
terrain(mini, MS, false);
|
|
1111
|
+
k.ellipse(mini, 12, "verdigris", { name: "Minimap base", absolute: { x: BASE[0] * MS - 6, y: BASE[1] * MS - 6 } });
|
|
1112
|
+
SQUADS.forEach((s, i) => {
|
|
1113
|
+
const d = k.ellipse(mini, 7, "moss", { name: "Minimap squad", absolute: { x: s.at[0] * MS - 3.5, y: s.at[1] * MS - 3.5 } });
|
|
1114
|
+
k.bindExpression(d, "opacity", `${sel.n} == ${i + 1} ? 1 : 0.7`);
|
|
1115
|
+
});
|
|
1116
|
+
const mcore = k.ellipse(mini, 12, "enemy", { name: "Minimap spire", absolute: { x: CORE[0] * MS - 6, y: CORE[1] * MS - 6 } });
|
|
1117
|
+
drift(k, mcore, "opacity", 0.3, 1.4);
|
|
1118
|
+
FOG_R.slice(0, -1).forEach((r0, i) => {
|
|
1119
|
+
const ring = sector(k, mini, BASE[0] * MS, BASE[1] * MS, FOG_R[i + 1] * MS, r0 * MS, 0, TAU, k.tint("fog", 0.9), { name: "Minimap fog" });
|
|
1120
|
+
k.bindExpression(ring, "opacity", `clamp(${i} + 1 - ${scout.n}, 0, 1)`);
|
|
1121
|
+
});
|
|
1122
|
+
const camRect = k.rect(mini, VIEW.w * MS, VIEW.h * MS, [], { name: "Camera frame", stroke: { color: "parchment", width: 2 }, absolute: { x: 0, y: 0 } });
|
|
1123
|
+
k.bindExpression(camRect, "x", `${camX.n} * ${MS}`);
|
|
1124
|
+
k.bindExpression(camRect, "y", `${camY.n} * ${MS}`);
|
|
1125
|
+
const pingBase = k.instance(mini, "Ping", {}, { name: "Base ping", absolute: { x: BASE[0] * MS - 36, y: BASE[1] * MS - 36 } });
|
|
1126
|
+
const pingCore = k.instance(mini, "Ping", {}, { name: "Spire ping", absolute: { x: CORE[0] * MS - 36, y: CORE[1] * MS - 36 } });
|
|
1127
|
+
for (const p of [pingBase, pingCore]) k.bindExpression(p, "visible", `${pings.n} == 1`);
|
|
1128
|
+
readout(k, mm, `"RAIDS WEATHERED " + ${raids.n}`, "RAIDS WEATHERED 0", "Small 16", "dim", 20, 206, { w: 300, name: "Raid log" });
|
|
1129
|
+
label(k, mm, "Space \xB7 jump home", "Small 16", "dim", 20, 234, { w: 300, name: "Minimap hint" });
|
|
1130
|
+
const selp = plate(hud, 362, 772, 640, 296, { name: "Selection panel" });
|
|
1131
|
+
k.patch(selp, { anchorX: 0.5, anchorY: 1 });
|
|
1132
|
+
k.bindExpression(selp, "scaleX", `${uiScale.n} / 100`);
|
|
1133
|
+
k.bindExpression(selp, "scaleY", `${uiScale.n} / 100`);
|
|
1134
|
+
const por = box(k, selp, 22, 56, 170, 170, { name: "Unit portrait", fill: "panelHi", radius: 85, clip: true, stroke: { color: "brass", width: 3, align: "INSIDE" } });
|
|
1135
|
+
SQUADS.forEach((_, i) => {
|
|
1136
|
+
const g = box(k, por, 0, 0, 170, 170, { name: `Portrait ${i + 1}` });
|
|
1137
|
+
k.bindExpression(g, "visible", `${sel.n} == ${i + 1}`);
|
|
1138
|
+
if (i === 0) {
|
|
1139
|
+
poly(k, g, [[85, 20], [150, 140], [20, 140]], "moss", { name: "Portrait art" });
|
|
1140
|
+
poly(k, g, [[85, 70], [110, 116], [60, 116]], "void", { name: "Portrait eye" });
|
|
1141
|
+
poly(k, g, [[85, 84], [98, 108], [72, 108]], "verdigris", { name: "Portrait glint" });
|
|
1142
|
+
}
|
|
1143
|
+
if (i === 1) {
|
|
1144
|
+
poly(k, g, Array.from({ length: 6 }, (_2, j) => polar(85, 88, 62, j / 6 * TAU)), "brass", { name: "Portrait art" });
|
|
1145
|
+
k.rect(g, 70, 16, "void", { name: "Portrait slot", absolute: { x: 50, y: 80 } });
|
|
1146
|
+
k.rect(g, 50, 6, "oxide", { name: "Portrait glint", absolute: { x: 60, y: 85 } });
|
|
1147
|
+
}
|
|
1148
|
+
if (i === 2) {
|
|
1149
|
+
const gg = poly(k, g, gearPts(85, 85, 64, 10), "verdigris", { name: "Portrait art" });
|
|
1150
|
+
spinAbout(gg, 85, 85, 12);
|
|
1151
|
+
k.ellipse(g, 40, "void", { name: "Portrait hub", absolute: { x: 65, y: 65 } });
|
|
1152
|
+
}
|
|
1153
|
+
});
|
|
1154
|
+
SQUADS.forEach((s, i) => {
|
|
1155
|
+
const tab = box(k, selp, 212 + i * 138, 16, 128, 32, { name: `Group tab ${i + 1}`, fill: "panelHi", radius: 4, stroke: { color: "bronzeDeep", width: 1 } });
|
|
1156
|
+
const lit = k.rect(tab, 128, 32, "brass", { name: "Tab lit", radius: 4, absolute: { x: 0, y: 0 } });
|
|
1157
|
+
k.bindExpression(lit, "opacity", `${sel.n} == ${i + 1} ? 0.3 : 0`);
|
|
1158
|
+
label(k, tab, `${s.key} ${s.tab}`, "HUD 16", "parchment", 12, 6, { name: "Tab words" });
|
|
1159
|
+
onAll(k, tab, selectSquad(i));
|
|
1160
|
+
});
|
|
1161
|
+
const pick = (f) => SQUADS.map((s, i) => `${sel.n} == ${i + 1} ? "${f(s)}"`).join(" : ") + ' : ""';
|
|
1162
|
+
readout(k, selp, pick((s) => s.name.toUpperCase()), SQUADS[0].name.toUpperCase(), "Unit 30", "parchment", 212, 60, { w: 340, name: "Unit name" });
|
|
1163
|
+
readout(k, selp, `"\xD7" + (${sel.n} == 1 ? 4 + ${sporelings.n} : ${sel.n} == 2 ? 3 : 2)`, "\xD74", "Value 24", "brass", 552, 62, { w: 70, align: "RIGHT", name: "Unit count" });
|
|
1164
|
+
readout(k, selp, pick((s) => s.role), SQUADS[0].role, "Small 16", "dim", 212, 94, { w: 410, name: "Unit role" });
|
|
1165
|
+
const hpExpr = `${sel.n} == 1 ? ${hp[0].n} : ${sel.n} == 2 ? ${hp[1].n} : ${hp[2].n}`;
|
|
1166
|
+
bar(k, selp, { x: 212, y: 126, w: 330, h: 16, value: hpExpr, max: "100", back: "bronzeDeep", fill: [k.gradient({ from: "mossDeep", to: "moss", angle: 0 })], radius: 4, name: "Unit health bar" });
|
|
1167
|
+
readout(k, selp, `round(${hpExpr}) + " HP"`, "100 HP", "Small 16", "parchment", 548, 122, { w: 76, align: "RIGHT", name: "Unit health" });
|
|
1168
|
+
[["Atk", atk], ["Arm", arm], ["Spd", spd]].forEach(([name, v], i) => {
|
|
1169
|
+
label(k, selp, name, "Small 16", "brass", 212 + i * 140, 158, { name: "Stat name" });
|
|
1170
|
+
readout(k, selp, `round(${v.n})`, String(SQUADS[0][name === "Atk" ? "atk" : name === "Arm" ? "arm" : "spd"]), "Value 24", "parchment", 262 + i * 140, 152, { w: 76, name: "Stat value" });
|
|
1171
|
+
});
|
|
1172
|
+
readout(k, selp, pick((s) => s.quip.replace(/"/g, "'")), SQUADS[0].quip.replace(/"/g, "'"), "Quote 22", "dim", 212, 192, { w: 410, name: "Unit quip" });
|
|
1173
|
+
const mid = plate(hud, 1014, 772, 326, 296, { name: "Foundry" });
|
|
1174
|
+
const gauge = (x, name, valueExpr, i) => {
|
|
1175
|
+
const g = box(k, mid, x, 128, 120, 120, { name: `${name} gauge` });
|
|
1176
|
+
k.ellipse(g, 120, "brass", { name: "Gauge rim", absolute: { x: 0, y: 0 } });
|
|
1177
|
+
k.ellipse(g, 104, "panel", { name: "Gauge face", absolute: { x: 8, y: 8 } });
|
|
1178
|
+
arc(k, g, 60, 60, 42, -Math.PI / 2 + Math.PI * 2 / 3 * 0.55, -Math.PI / 2 + Math.PI * 2 / 3, "oxide", 6, { name: "Red zone" });
|
|
1179
|
+
for (let t = 0; t <= 8; t++) {
|
|
1180
|
+
const a = -Math.PI / 2 - Math.PI * 2 / 3 + t / 8 * (Math.PI * 4) / 3;
|
|
1181
|
+
poly(k, g, [polar(60, 60, 44, a), polar(60, 60, 50, a)], "dim", { name: "Gauge tick", stroke: 2 });
|
|
1182
|
+
}
|
|
1183
|
+
const set1 = box(k, g, 0, 0, 120, 120, { name: "Needle angle" });
|
|
1184
|
+
k.bindExpression(set1, "rotation", valueExpr);
|
|
1185
|
+
const wob = box(k, set1, 0, 0, 120, 120, { name: "Needle wobble" });
|
|
1186
|
+
k.behave(wob, "rotation", [{ kind: "noise", amp: 4, freq: 1.6, seed: 11 + i }]);
|
|
1187
|
+
const needle = k.instance(wob, "Gauge needle", {}, { name: "Gauge needle", absolute: { x: 0, y: 0 } });
|
|
1188
|
+
label(k, g, name, "Small 16", "dim", 0, 72, { w: 120, align: "CENTER", name: "Gauge name" });
|
|
1189
|
+
return needle;
|
|
1190
|
+
};
|
|
1191
|
+
const needleA = gauge(22, "Boiler", `120 - clamp(${fuel.n} / 300, 0, 1) * 240`, 0);
|
|
1192
|
+
const needleB = gauge(184, "Sap", `120 - clamp(${baseHp.n} / 100, 0, 1) * 240`, 1);
|
|
1193
|
+
label(k, mid, "Foundry queue", "Small 16", "brass", 22, 16, { name: "Queue label" });
|
|
1194
|
+
readout(k, mid, `pad(${trained.n}, 2)`, "00", "Counter 48", "parchment", 22, 40, { w: 90, name: "Units trained" });
|
|
1195
|
+
readout(k, mid, `${tier.n} == 1 ? "THORNBACKS" : "SPORELINGS"`, "SPORELINGS", "HUD 16", "dim", 120, 48, { w: 190, name: "Queue unit" });
|
|
1196
|
+
label(k, mid, "Trained", "Small 16", "dim", 120, 70, { name: "Trained label" });
|
|
1197
|
+
const qback = box(k, mid, 20, 102, 288, 14, { name: "Queue track", fill: "bronzeDeep", radius: 7 });
|
|
1198
|
+
const queue = k.instance(qback, "Queue bar", {}, { name: "Queue bar", absolute: { x: 0, y: 0 } });
|
|
1199
|
+
const ready = k.instance(mid, "Unit ready", {}, { name: "Unit ready", absolute: { x: 200, y: 8 } });
|
|
1200
|
+
const card = plate(hud, 1352, 772, 560, 296, { name: "Command card" });
|
|
1201
|
+
k.patch(card, { anchorX: 1, anchorY: 1 });
|
|
1202
|
+
k.bindExpression(card, "scaleX", `${uiScale.n} / 100`);
|
|
1203
|
+
k.bindExpression(card, "scaleY", `${uiScale.n} / 100`);
|
|
1204
|
+
const cdInstances = [];
|
|
1205
|
+
COMMANDS.forEach((c, i) => {
|
|
1206
|
+
const bx = 10 + i % 3 * 184, by = 10 + Math.floor(i / 3) * 94;
|
|
1207
|
+
const b = box(k, card, bx, by, 176, 88, { name: `${c.name} button`, fill: "panelHi", radius: 6, stroke: { color: "bronze", width: 2, align: "INSIDE" } });
|
|
1208
|
+
const lit = k.rect(b, 176, 88, [k.gradient({ from: "brass", to: "brass", angle: 90, fromOpacity: 0.34, toOpacity: 0.06 })], { name: "Hover glow", radius: 6, absolute: { x: 0, y: 0 } });
|
|
1209
|
+
k.bindExpression(lit, "opacity", `${cardHover.n} == ${i} ? 1 : 0`);
|
|
1210
|
+
const face = box(k, b, 0, 0, 176, 88, { name: "Command face" });
|
|
1211
|
+
k.bindExpression(face, "opacity", `${c.afford} ? 1 : 0.35`);
|
|
1212
|
+
const icon = box(k, face, 12, 24, 40, 40, { name: "Command icon" });
|
|
1213
|
+
c.icon(icon);
|
|
1214
|
+
label(k, face, c.name, "Cmd 17", "parchment", 62, 14, { w: 108, name: "Command name" });
|
|
1215
|
+
readout(k, face, c.cost, c.name === "Build" ? "100 ORE" : c.name === "Train" ? "50 ORE" : c.name === "Strike" ? "20 FUEL" : c.name === "Hold" ? "BRACE" : c.name === "Gather" ? "+50 ORE" : c.name === "Scout" ? "15 FUEL" : c.name === "Research" ? "TECH" : c.name === "Rootquake" ? "60 FUEL" : "75 ORE", "Cost 16", "brass", 62, 54, { w: 76, name: "Command cost" });
|
|
1216
|
+
const capBox = box(k, face, 140, 50, 28, 28, { name: "Hotkey cap", fill: "void", radius: 4, stroke: { color: "brassDim", width: 1 }, align: "CENTER", justify: "CENTER" });
|
|
1217
|
+
const bound = [keyBuild, keyAttack, keyStop].find((v) => v.n === c.key);
|
|
1218
|
+
const kt = k.text(capBox, bound ? String(k.doc.variables?.[bound.id]?.valuesByMode["Mode 1"]) : c.key.replace(/"/g, ""), { style: "Small 16", color: "parchment", autoWidth: true, name: "Hotkey" });
|
|
1219
|
+
if (bound) k.bindExpression(kt, "characters", `len(${bound.n}) > 2 ? "\xB7\xB7" : ${bound.n}`);
|
|
1220
|
+
if (c.name === "Rootquake") {
|
|
1221
|
+
k.bindExpression(face, "visible", `${tier.n} == 1`);
|
|
1222
|
+
const lock = box(k, b, 0, 0, 176, 88, { name: "Locked face" });
|
|
1223
|
+
k.bindExpression(lock, "visible", `${tier.n} != 1`);
|
|
1224
|
+
k.rect(lock, 22, 18, "brassDim", { name: "Padlock", radius: 3, absolute: { x: 20, y: 38 } });
|
|
1225
|
+
arc(k, lock, 31, 38, 8, Math.PI, TAU, "brassDim", 3, { name: "Shackle" });
|
|
1226
|
+
label(k, lock, "Locked", "Cmd 17", "dim", 62, 14, { w: 108, name: "Locked name" });
|
|
1227
|
+
label(k, lock, "Needs tech", "Cost 16", "dim", 62, 54, { w: 108, name: "Locked hint" });
|
|
1228
|
+
}
|
|
1229
|
+
if (c.cd) {
|
|
1230
|
+
const cd = k.instance(b, "Cooldown", {}, { name: `Cmd ${c.name}`, absolute: { x: 0, y: 0 } });
|
|
1231
|
+
k.on(cd, set(cardHover.id, { value: i }), { trigger: "MOUSE_ENTER" });
|
|
1232
|
+
const at = (to, id) => ({ ...k.changeAction(to, 0), targetId: id });
|
|
1233
|
+
const echo = c.name === "Train" ? [at("Queue bar/Training", queue), at("Unit ready/Show", ready)] : c.name === "Strike" || c.name === "Rootquake" ? [at("Spire hit/Hit", spireHit), at("Ping/Ping", pingCore)] : c.name === "Scout" ? [at("Scan pulse/Pulse", pulse)] : [];
|
|
1234
|
+
k.on(cd, when([{ if: `${c.afford} && ${c.can}`, then: [k.changeAction(`Cooldown/${c.cd}`, 0), ...echo, ...c.run] }]));
|
|
1235
|
+
cdInstances.push({ c, id: cd });
|
|
1236
|
+
} else {
|
|
1237
|
+
const hot = box(k, b, 0, 0, 176, 88, { name: `Cmd ${c.name}` });
|
|
1238
|
+
k.on(hot, set(cardHover.id, { value: i }), { trigger: "MOUSE_ENTER" });
|
|
1239
|
+
k.on(hot, overlay(tech));
|
|
1240
|
+
}
|
|
1241
|
+
});
|
|
1242
|
+
const toast = k.instance(hud, "Order toast", {}, { name: "Order toast", absolute: { x: 610, y: 640 } });
|
|
1243
|
+
const alert = k.instance(hud, "Raid alert", {}, { name: "Raid alert", absolute: { x: 550, y: 96 } });
|
|
1244
|
+
const raid = `upper($key) == "A" && ${baseHp.n} > 0`;
|
|
1245
|
+
for (const { c, id } of cdInstances) k.on(id, when([{ if: ok(c), then: [k.changeAction(`Cooldown/${c.cd}`, 0)] }]), { key: "*" });
|
|
1246
|
+
const trainOk = ok(COMMANDS[1]);
|
|
1247
|
+
k.on(queue, when([{ if: trainOk, then: [k.changeAction("Queue bar/Training", 0)] }]), { key: "*" });
|
|
1248
|
+
k.on(ready, when([{ if: trainOk, then: [k.changeAction("Unit ready/Show", 0)] }]), { key: "*" });
|
|
1249
|
+
const strike = COMMANDS[2], quake = COMMANDS[7];
|
|
1250
|
+
k.on(spireHit, when([{ if: `(${ok(strike)}) || (${ok(quake)})`, then: [k.changeAction("Spire hit/Hit", 0)] }]), { key: "*" });
|
|
1251
|
+
k.on(pingCore, when([{ if: `(${ok(strike)}) || (${ok(quake)})`, then: [k.changeAction("Ping/Ping", 0)] }]), { key: "*" });
|
|
1252
|
+
k.on(pulse, when([{ if: ok(COMMANDS[5]), then: [k.changeAction("Scan pulse/Pulse", 0)] }]), { key: "*" });
|
|
1253
|
+
k.on(pingBase, when([{ if: raid, then: [k.changeAction("Ping/Ping", 0)] }]), { key: "*" });
|
|
1254
|
+
for (const n of [needleA, needleB]) k.on(n, when([{ if: raid, then: [k.changeAction("Gauge needle/Spike", 0)] }]), { key: "*" });
|
|
1255
|
+
k.on(alert, when([{ if: raid, then: [k.changeAction("Raid alert/Show", 0)] }]), { key: "*" });
|
|
1256
|
+
k.on(flash, when([{ if: raid, then: [k.changeAction("Raid flash/Hit", 0)] }]), { key: "*" });
|
|
1257
|
+
const withCd = COMMANDS.filter((c) => c.cd);
|
|
1258
|
+
k.on(toast, when([
|
|
1259
|
+
{ if: `(${K(strike.key)} && ${strike.afford} && ${scout.n} < 4) || (${K(quake.key)} && ${tier.n} == 1 && ${quake.afford} && ${scout.n} < 4)`, then: [k.changeAction("Order toast/Blind", 0)] },
|
|
1260
|
+
{ if: `${K('"T"')} && ${COMMANDS[1].afford} && !(${COMMANDS[1].can})`, then: [k.changeAction("Order toast/Capped", 0)] },
|
|
1261
|
+
{ if: withCd.map((c) => `(${K(c.key)} && !(${c.afford}))`).join(" || "), then: [k.changeAction("Order toast/Poor", 0)] }
|
|
1262
|
+
]), { key: "*" });
|
|
1263
|
+
const logic = box(k, hud, 0, 0, 1, 1, { name: "Game logic" });
|
|
1264
|
+
const step = `${scroll.n} * 40`;
|
|
1265
|
+
const maxX = WORLD.w - VIEW.w, maxY = WORLD.h - VIEW.h;
|
|
1266
|
+
k.on(logic, when([
|
|
1267
|
+
...withCd.map((c) => ({ if: ok(c), then: c.run })),
|
|
1268
|
+
{ if: raid, then: [
|
|
1269
|
+
set(baseHp.id, { expression: `max(0, ${baseHp.n} - (${braced.n} == 1 ? 4 : ${dmgTaken.n}))`, glide: 320 }),
|
|
1270
|
+
set(baseTrail.id, { expression: baseHp.n, glide: 1300, easing: "EASE_IN_OUT" }),
|
|
1271
|
+
set(hp[0].id, { expression: `max(12, ${hp[0].n} - 7)`, glide: 320 }),
|
|
1272
|
+
set(braced.id, { value: 0 }),
|
|
1273
|
+
set(raids.id, { expression: `${raids.n} + 1` }),
|
|
1274
|
+
when([{ if: `${baseHp.n} <= 0`, then: [go(defeat, "DISSOLVE", { duration: 900 })] }])
|
|
1275
|
+
] },
|
|
1276
|
+
...SQUADS.map((s, i) => ({ if: `$key == "${s.key}"`, then: selectSquad(i) })),
|
|
1277
|
+
{ if: '$key == "ArrowLeft"', then: [set(camX.id, { expression: `clamp(${camX.n} - ${step}, 0, ${maxX})`, glide: 360, easing: "EASE_IN_OUT" })] },
|
|
1278
|
+
{ if: '$key == "ArrowRight"', then: [set(camX.id, { expression: `clamp(${camX.n} + ${step}, 0, ${maxX})`, glide: 360, easing: "EASE_IN_OUT" })] },
|
|
1279
|
+
{ if: '$key == "ArrowUp"', then: [set(camY.id, { expression: `clamp(${camY.n} - ${step}, 0, ${maxY})`, glide: 360, easing: "EASE_IN_OUT" })] },
|
|
1280
|
+
{ if: '$key == "ArrowDown"', then: [set(camY.id, { expression: `clamp(${camY.n} + ${step}, 0, ${maxY})`, glide: 360, easing: "EASE_IN_OUT" })] },
|
|
1281
|
+
{ if: '$key == " "', then: [set(camX.id, { value: home.x, glide: 700, easing: "EASE_IN_OUT" }), set(camY.id, { value: home.y, glide: 700, easing: "EASE_IN_OUT" })] },
|
|
1282
|
+
{ if: 'upper($key) == "R"', then: [overlay(tech)] }
|
|
1283
|
+
]), { key: "*" });
|
|
1284
|
+
k.on(logic, overlay(pause), { key: "Escape" });
|
|
1285
|
+
k.cues(hud, [
|
|
1286
|
+
{ layer: "Top bar", preset: "drop-in", at: 0 },
|
|
1287
|
+
{ layer: "Objective", preset: "slide-in", at: 200, params: { direction: "left" } }
|
|
1288
|
+
]);
|
|
1289
|
+
}
|
|
1290
|
+
{
|
|
1291
|
+
label(k, tech, "Foundry of roots", "Heading 60", "parchment", 0, 60, { w: W, align: "CENTER", name: "Screen title" });
|
|
1292
|
+
readout(k, tech, `"ORE " + round(${ore.n}) + " \xB7 FUEL " + round(${fuel.n})`, "ORE 400 \xB7 FUEL 200", "Value 24", "brass", 0, 140, { w: W, align: "CENTER", name: "Tech purse" });
|
|
1293
|
+
const pipe = (x, y, w, h, v) => {
|
|
1294
|
+
k.rect(tech, w, h, "bronzeDeep", { name: "Pipe", radius: 8, absolute: { x, y }, stroke: { color: "bronze", width: 2 } });
|
|
1295
|
+
const sap = k.rect(tech, w, h, "verdigris", { name: "Sap", radius: 8, absolute: { x, y }, effects: [glow(k, "verdigris", 16)] });
|
|
1296
|
+
if (w > h) k.bindExpression(sap, "width", `max(1, ${v.n} * ${w})`);
|
|
1297
|
+
else k.bindExpression(sap, "height", `max(1, ${v.n} * ${h})`);
|
|
1298
|
+
k.bindExpression(sap, "opacity", `min(1, ${v.n} * 3)`);
|
|
1299
|
+
};
|
|
1300
|
+
pipe(432, 740, 16, 180, plating);
|
|
1301
|
+
pipe(432, 904, 348, 16, plating);
|
|
1302
|
+
pipe(1472, 740, 16, 180, taproots);
|
|
1303
|
+
pipe(1140, 904, 348, 16, taproots);
|
|
1304
|
+
pipe(432, 330, 16, 170, tier);
|
|
1305
|
+
pipe(432, 330, 328, 16, tier);
|
|
1306
|
+
const root = plate(tech, 780, 850, 360, 120, { name: "Heartwood node" });
|
|
1307
|
+
gear(root, 60, 60, 32, 8, 20);
|
|
1308
|
+
label(k, root, "Heartwood", "Card 30", "parchment", 110, 26, { w: 230, name: "Root name" });
|
|
1309
|
+
label(k, root, "Your roots", "Small 16", "dim", 110, 66, { name: "Root hint" });
|
|
1310
|
+
const NODES = [
|
|
1311
|
+
{
|
|
1312
|
+
name: "Verdigris plating",
|
|
1313
|
+
effect: "Raids chip 10 from the Heartwood, not 15.",
|
|
1314
|
+
x: 240,
|
|
1315
|
+
y: 500,
|
|
1316
|
+
v: plating,
|
|
1317
|
+
cond: `${plating.n} == 0 && ${ore.n} >= 150`,
|
|
1318
|
+
status: `${plating.n} >= 1 ? "RESEARCHED" : ${ore.n} >= 150 ? "150 ORE \xB7 ENTER" : "NEEDS 150 ORE"`,
|
|
1319
|
+
rest: "150 ORE \xB7 ENTER",
|
|
1320
|
+
run: [set(ore.id, { expression: `${ore.n} - 150`, glide: 500 }), set(plating.id, { value: 1, glide: 900, easing: "EASE_IN_OUT" }), set(dmgTaken.id, { value: 10 })]
|
|
1321
|
+
},
|
|
1322
|
+
{
|
|
1323
|
+
name: "Thornback walker",
|
|
1324
|
+
effect: "A heavy walker. Strikes bite harder; unlocks Rootquake.",
|
|
1325
|
+
x: 760,
|
|
1326
|
+
y: 200,
|
|
1327
|
+
v: tier,
|
|
1328
|
+
cond: `${tier.n} == 0 && ${plating.n} == 1 && ${ore.n} >= 200 && ${fuel.n} >= 80`,
|
|
1329
|
+
status: `${tier.n} >= 1 ? "RESEARCHED" : ${plating.n} < 1 ? "NEEDS PLATING FIRST" : ${ore.n} >= 200 && ${fuel.n} >= 80 ? "200 ORE + 80 FUEL" : "NEEDS 200 ORE + 80 FUEL"`,
|
|
1330
|
+
rest: "NEEDS PLATING FIRST",
|
|
1331
|
+
run: [set(ore.id, { expression: `${ore.n} - 200`, glide: 500 }), set(fuel.id, { expression: `${fuel.n} - 80`, glide: 500 }), set(tier.id, { value: 1, glide: 900, easing: "EASE_IN_OUT" })]
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
name: "Deep taproots",
|
|
1335
|
+
effect: "Harvesters haul 80 ore a trip instead of 50.",
|
|
1336
|
+
x: 1280,
|
|
1337
|
+
y: 500,
|
|
1338
|
+
v: taproots,
|
|
1339
|
+
cond: `${taproots.n} == 0 && ${fuel.n} >= 60`,
|
|
1340
|
+
status: `${taproots.n} >= 1 ? "RESEARCHED" : ${fuel.n} >= 60 ? "60 FUEL \xB7 ENTER" : "NEEDS 60 FUEL"`,
|
|
1341
|
+
rest: "60 FUEL \xB7 ENTER",
|
|
1342
|
+
run: [set(fuel.id, { expression: `${fuel.n} - 60`, glide: 500 }), set(taproots.id, { value: 1, glide: 900, easing: "EASE_IN_OUT" }), set(yieldV.id, { value: 80 })]
|
|
1343
|
+
}
|
|
1344
|
+
];
|
|
1345
|
+
NODES.forEach((nd, i) => {
|
|
1346
|
+
const near = `max(0, 1 - abs(${techFocus.n} - ${i}))`;
|
|
1347
|
+
const n = plate(tech, nd.x, nd.y, 400, 260, { name: "Tech node" });
|
|
1348
|
+
const hl = k.rect(n, 400, 96, [k.gradient({ from: "brass", to: "brass", angle: 90, fromOpacity: 0.3, toOpacity: 0 })], { name: "Node focus", radius: 6, absolute: { x: 0, y: 0 } });
|
|
1349
|
+
k.bindExpression(hl, "opacity", near);
|
|
1350
|
+
const done2 = k.rect(n, 400, 260, [], { name: "Node unlocked", radius: 6, stroke: { color: "verdigris", width: 4 }, absolute: { x: 0, y: 0 }, effects: [glow(k, "verdigris", 26, 0.8)] });
|
|
1351
|
+
k.bindExpression(done2, "opacity", nd.v.n);
|
|
1352
|
+
const ic = box(k, n, 24, 24, 60, 60, { name: "Node icon" });
|
|
1353
|
+
if (i === 0) {
|
|
1354
|
+
poly(k, ic, Array.from({ length: 6 }, (_, j) => polar(30, 30, 28, j / 6 * TAU + Math.PI / 6)), "verdigris", { name: "Node art" });
|
|
1355
|
+
poly(k, ic, Array.from({ length: 6 }, (_, j) => polar(30, 30, 14, j / 6 * TAU + Math.PI / 6)), "verdigrisDeep", { name: "Node art inner" });
|
|
1356
|
+
}
|
|
1357
|
+
if (i === 1) {
|
|
1358
|
+
poly(k, ic, Array.from({ length: 6 }, (_, j) => polar(30, 34, 22, j / 6 * TAU + Math.PI / 6)), "verdigrisDeep", { name: "Node art" });
|
|
1359
|
+
poly(k, ic, [[30, 0], [38, 16], [22, 16]], "oxide", { name: "Node art spike" });
|
|
1360
|
+
poly(k, ic, [[30, 24], [40, 42], [20, 42]], "brass", { name: "Node art inner" });
|
|
1361
|
+
}
|
|
1362
|
+
if (i === 2) {
|
|
1363
|
+
for (const [a, b] of [[[30, 4], [30, 56]], [[30, 30], [8, 56]], [[30, 30], [52, 56]], [[30, 44], [18, 58]]]) poly(k, ic, [a, b], "root", { name: "Node art", stroke: 6 });
|
|
1364
|
+
}
|
|
1365
|
+
label(k, n, nd.name, "Card 30", "parchment", 24, 100, { w: 352, name: "Node name" });
|
|
1366
|
+
label(k, n, nd.effect, "Body 22", "dim", 24, 146, { w: 352, name: "Node effect" });
|
|
1367
|
+
readout(k, n, nd.status, nd.rest, "Small 16", "brass", 24, 222, { w: 352, name: "Node status" });
|
|
1368
|
+
k.on(n, set(techFocus.id, { value: i, glide: 140 }), { trigger: "MOUSE_ENTER" });
|
|
1369
|
+
k.on(n, when([{ if: nd.cond, then: [...nd.run, set(actions.id, { expression: `${actions.n} + 1` })] }]));
|
|
1370
|
+
});
|
|
1371
|
+
const done = k.instance(tech, "Brass button", { Label: "Back to battle ESC" }, { name: "Back to battle", absolute: { x: 1560, y: 980 } });
|
|
1372
|
+
k.on(done, close());
|
|
1373
|
+
for (const key of ["ArrowRight", "d"]) k.on(tech, set(techFocus.id, { expression: `(${techFocus.n} + 1) % 3`, glide: 140 }), { key });
|
|
1374
|
+
for (const key of ["ArrowLeft", "a"]) k.on(tech, set(techFocus.id, { expression: `(${techFocus.n} + 2) % 3`, glide: 140 }), { key });
|
|
1375
|
+
k.on(tech, when(NODES.map((nd, i) => ({ if: `${techFocus.n} == ${i} && ${nd.cond}`, then: [...nd.run, set(actions.id, { expression: `${actions.n} + 1` })] }))), { key: "Enter" });
|
|
1376
|
+
k.on(tech, close(), { key: "Escape" });
|
|
1377
|
+
label(k, tech, "LEFT RIGHT CHOOSE ENTER RESEARCH ESC BACK", "Hint 18", "dim", 120, 1e3, { name: "Tech hints" });
|
|
1378
|
+
k.cues(tech, [{ layer: "Tech node", preset: "pop-in", at: 0, stagger: { delay: 90 } }]);
|
|
1379
|
+
}
|
|
1380
|
+
{
|
|
1381
|
+
label(k, pause, "Paused", "Heading 60", "parchment", 0, 240, { w: W, align: "CENTER", name: "Screen title" });
|
|
1382
|
+
menu(k, pause, [
|
|
1383
|
+
{ label: "Resume", actions: [close()] },
|
|
1384
|
+
{ label: "Settings", actions: [go(settings, "DISSOLVE", { duration: 300 })] },
|
|
1385
|
+
{ label: "Surrender", hint: "The roots will be severed", actions: [go(defeat, "DISSOLVE", { duration: 600 })] },
|
|
1386
|
+
{ label: "Quit to menu", actions: [go(main, "DISSOLVE", { duration: 400 })] }
|
|
1387
|
+
], { focus: pauseFocus, x: 560, y: 360, width: 800, pitch: 88, style: "Menu 38", color: "parchment", plate: k.tint("panelHi", 0.95), marker: { color: "brass" }, hintStyle: "Hint 18", escape: [close()], radius: 4 });
|
|
1388
|
+
readout(k, pause, `"UNITS " + ${trained.n} + " \xB7 ORE MINED " + round(${oreMined.n}) + " \xB7 SPIRE " + round(${coreHp.n}) + " HP"`, "UNITS 0 \xB7 ORE MINED 0 \xB7 SPIRE 120 HP", "Hint 18", "dim", 0, 740, { w: W, align: "CENTER", name: "Run stats" });
|
|
1389
|
+
}
|
|
1390
|
+
{
|
|
1391
|
+
k.rect(defeat, W, H, [k.gradient({ from: "oxideDeep", to: "void", kind: "RADIAL", fromOpacity: 0.35, toOpacity: 0, handles: [{ x: 0.5, y: 1 }, { x: 1.2, y: 1 }, { x: 0.5, y: 1.8 }] })], { name: "Embers", absolute: { x: 0, y: 0 } });
|
|
1392
|
+
const felled = box(k, defeat, 160, 640, 1600, 440, { name: "Felled tree" });
|
|
1393
|
+
poly(k, felled, [[-160, 340], [0, 330], [300, 300], [800, 320], [1200, 290], [1600, 320], [1760, 310], [1760, 440], [-160, 440]], "loam", { name: "Ground" });
|
|
1394
|
+
for (const r of [[[340, 330], [230, 380], [120, 440]], [[360, 330], [340, 400], [300, 440]], [[400, 330], [470, 390], [520, 440]]]) {
|
|
1395
|
+
poly(k, felled, r, "root", { name: "Severed root", stroke: 14 });
|
|
1396
|
+
const [a, b] = r.slice(-2);
|
|
1397
|
+
const mx = (a[0] + b[0]) / 2, my = (a[1] + b[1]) / 2;
|
|
1398
|
+
poly(k, felled, [[mx - 14, my - 6], [mx + 14, my + 6]], "oxide", { name: "Cut", stroke: 5, effects: [glow(k, "oxide", 10)] });
|
|
1399
|
+
}
|
|
1400
|
+
poly(k, felled, [[300, 340], [310, 250], [340, 262], [360, 236], [390, 258], [420, 244], [440, 340]], "bronze", { name: "Stump" });
|
|
1401
|
+
poly(k, felled, [[310, 250], [340, 262], [360, 236], [390, 258], [420, 244]], "oxideText", { name: "Stump cut", stroke: 4 });
|
|
1402
|
+
poly(k, felled, [[470, 300], [1180, 250], [1200, 290], [480, 336]], "bronzeDeep", { name: "Fallen trunk" });
|
|
1403
|
+
for (const x of [600, 760, 920, 1080]) poly(k, felled, [[x, 300 - (x - 470) * 0.07], [x + 6, 330 - (x - 470) * 0.07]], "brassDim", { name: "Trunk band", stroke: 5 });
|
|
1404
|
+
for (const [x, y, z, c] of [[1160, 200, 120, "loam"], [1260, 230, 100, "ridgeDark"], [1220, 150, 90, "loam"], [1330, 190, 80, "ridgeDark"], [1110, 250, 70, "root"]]) k.ellipse(felled, z, c, { name: "Dead crown", absolute: { x, y }, opacity: 0.95 });
|
|
1405
|
+
gear(felled, 1280, 300, 44, 9, 0, "brassDim", "void");
|
|
1406
|
+
gear(felled, 1420, 330, 26, 7, 0, "bronze", "void");
|
|
1407
|
+
for (let i = 0; i < 14; i++) {
|
|
1408
|
+
const ash = k.ellipse(defeat, 5 + i % 3 * 2, "smoke", { name: "Ash", absolute: { x: 80 + i * 130, y: -20 }, opacity: 0.5 });
|
|
1409
|
+
k.behave(ash, "translateY", [{ kind: "spin", rate: 40 + i % 4 * 10 }, { kind: "mod", period: 1100, offset: -(i * 90) % 1100 }]);
|
|
1410
|
+
drift(k, ash, "translateX", 20, 0.2 + i % 3 * 0.1, i);
|
|
1411
|
+
}
|
|
1412
|
+
const lock = k.stack(defeat, { name: "Defeat lockup", width: 1400, gap: 18, align: "CENTER", absolute: { x: 260, y: 170 } });
|
|
1413
|
+
k.text(lock, "Defeat", { style: "Small 16", color: "oxideText", align: "CENTER", name: "Defeat kicker" });
|
|
1414
|
+
k.text(lock, "The roots are severed", { style: "Epitaph 104", color: "parchment", align: "CENTER", name: "Defeat title" });
|
|
1415
|
+
const line = readout(k, defeat, `${commander.n} + " held the Heartwood through " + ${raids.n} + " raids with " + ${trained.n} + " units trained."`, "WARDEN HESPER ASHGROVE held the Heartwood through 0 raids with 0 units trained.", "Body 22", "dim", 260, 420, { w: 1400, align: "CENTER", name: "Defeat line" });
|
|
1416
|
+
void line;
|
|
1417
|
+
menu(k, defeat, [
|
|
1418
|
+
{ label: "Replant and retry", actions: [...resetRun, toBattle] },
|
|
1419
|
+
{ label: "Main menu", actions: [go(main, "DISSOLVE", { duration: 400 })] }
|
|
1420
|
+
], { focus: endFocus, x: 560, y: 500, width: 800, pitch: 88, style: "Menu 38", color: "parchment", plate: [k.gradient({ from: "oxide", to: "oxide", angle: 0, fromOpacity: 0.4, toOpacity: 0 })], marker: { color: "oxideText" }, radius: 4 });
|
|
1421
|
+
k.cues(defeat, [{ layer: "Defeat lockup", preset: "blur-in", at: 0 }, { layer: "Felled tree", preset: "rise-in", at: 300 }]);
|
|
1422
|
+
}
|
|
1423
|
+
{
|
|
1424
|
+
menuGround(victory);
|
|
1425
|
+
k.rect(victory, W, H, [k.gradient({ from: "verdigris", to: "void", kind: "RADIAL", fromOpacity: 0.22, toOpacity: 0, handles: [{ x: 0.5, y: 0.2 }, { x: 1.1, y: 0.2 }, { x: 0.5, y: 0.9 }] })], { name: "Bloom glow", absolute: { x: 0, y: 0 } });
|
|
1426
|
+
label(k, victory, "Mission complete", "Small 16", "verdigris", 0, 80, { w: W, align: "CENTER", name: "Victory kicker" });
|
|
1427
|
+
label(k, victory, "The Canker Spire has fallen", "Heading 60", "parchment", 0, 110, { w: W, align: "CENTER", name: "Screen title" });
|
|
1428
|
+
const tally = plate(victory, 260, 230, 1400, 250, { name: "Tally" });
|
|
1429
|
+
const secs = `(240 + ${actions.n} * 23)`;
|
|
1430
|
+
const STATS = [
|
|
1431
|
+
["Units trained", `pad(${trained.n}, 2)`, "00"],
|
|
1432
|
+
["Ore mined", `round(${oreMined.n})`, "0"],
|
|
1433
|
+
["Mission time", `pad(floor(${secs} / 60), 2) + ":" + pad(${secs} % 60, 2)`, "04:00"],
|
|
1434
|
+
["Orders / min", `min(240, 36 + ${actions.n} * 11)`, "36"]
|
|
1435
|
+
];
|
|
1436
|
+
STATS.forEach(([name, e, rest], i) => {
|
|
1437
|
+
label(k, tally, name, "Small 16", "brass", 60 + i * 335, 60, { name: "Tally name" });
|
|
1438
|
+
readout(k, tally, e, rest, "Stat 64", "parchment", 60 + i * 335, 100, { w: 300, name: "Tally value" });
|
|
1439
|
+
});
|
|
1440
|
+
const MEDALS = [
|
|
1441
|
+
["Iron bark", "Heartwood above 60", `${baseHp.n} >= 60`, "verdigris"],
|
|
1442
|
+
["Tallow baron", "200 ore mined", `${oreMined.n} >= 200`, "brass"],
|
|
1443
|
+
["Quick roots", "120 orders / min", `36 + ${actions.n} * 11 >= 120`, "oxide"]
|
|
1444
|
+
];
|
|
1445
|
+
MEDALS.forEach(([name, rule, cond, col], i) => {
|
|
1446
|
+
const m = plate(victory, 360 + i * 420, 530, 360, 300, { name: "Medal" });
|
|
1447
|
+
const em = box(k, m, 120, 26, 120, 120, { name: "Medal emblem" });
|
|
1448
|
+
k.ellipse(em, 120, col, { name: "Medal disc", absolute: { x: 0, y: 0 }, effects: [glow(k, col, 24, 0.6)] });
|
|
1449
|
+
k.ellipse(em, 92, "panel", { name: "Medal face", absolute: { x: 14, y: 14 } });
|
|
1450
|
+
const st = k.star(em, 64, col, { name: "Medal star", absolute: { x: 28, y: 26 } });
|
|
1451
|
+
spinAbout(st, 60, 58, 14);
|
|
1452
|
+
k.bindExpression(em, "opacity", `${cond} ? 1 : 0.25`);
|
|
1453
|
+
label(k, m, name, "Card 30", "parchment", 20, 164, { w: 320, align: "CENTER", name: "Medal name" });
|
|
1454
|
+
label(k, m, rule, "Small 16", "dim", 20, 206, { w: 320, align: "CENTER", name: "Medal rule" });
|
|
1455
|
+
readout(k, m, `${cond} ? "EARNED" : "NOT THIS TIME"`, "EARNED", "HUD 16", "brass", 20, 240, { w: 320, align: "CENTER", name: "Medal state" });
|
|
1456
|
+
});
|
|
1457
|
+
const cont = k.instance(victory, "Brass button", { Label: "Return to the war table ENTER" }, { name: "Continue", absolute: { x: 760, y: 880 } });
|
|
1458
|
+
k.on(cont, go(main, "DISSOLVE", { duration: 400 }));
|
|
1459
|
+
k.link(victory, main, "DISSOLVE", { key: "Enter", duration: 400 });
|
|
1460
|
+
k.cues(victory, [{ layer: "Tally", preset: "rise-in", at: 0 }, { layer: "Medal", preset: "pop-in", at: 500, stagger: { delay: 220 } }]);
|
|
1461
|
+
}
|
|
1462
|
+
void arcPoints;
|
|
1463
|
+
return k.finish();
|
|
1464
|
+
}
|
|
1465
|
+
});
|
|
1466
|
+
|
|
1467
|
+
export {
|
|
1468
|
+
ironroot_rts_default
|
|
1469
|
+
};
|