@popcraft/kit 0.31.0 → 0.32.0
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-LNZDZLDR.js +44 -0
- package/dist/chunks/api-SHU5H2PY.js +29 -0
- package/dist/chunks/build-AKMRSWRB.js +59 -0
- package/dist/chunks/builtin-KY56DU2Y.js +115 -0
- package/dist/chunks/check-template-OYCBJNDF.js +2277 -0
- package/dist/chunks/chunk-234GVJYA.js +109 -0
- package/dist/chunks/chunk-244VQ54U.js +358 -0
- package/dist/chunks/chunk-24VZDMPK.js +209 -0
- package/dist/chunks/chunk-26OQHOZI.js +123 -0
- package/dist/chunks/chunk-27GSJ5G5.js +278 -0
- package/dist/chunks/chunk-27X4OPQ3.js +44 -0
- package/dist/chunks/chunk-2BEHQ34I.js +270 -0
- package/dist/chunks/chunk-2BJFBFXK.js +33 -0
- package/dist/chunks/chunk-2BMJ4UG4.js +138 -0
- package/dist/chunks/chunk-2BVGM5PJ.js +33 -0
- package/dist/chunks/chunk-2CNLFCXM.js +60 -0
- package/dist/chunks/chunk-2DH2LPXQ.js +106 -0
- package/dist/chunks/chunk-2DLJ34AZ.js +77 -0
- package/dist/chunks/chunk-2DOWEP23.js +106 -0
- package/dist/chunks/chunk-2EJRSW3B.js +45 -0
- package/dist/chunks/chunk-2ETNHQDU.js +45 -0
- package/dist/chunks/chunk-2FCK73ME.js +163 -0
- package/dist/chunks/chunk-2FGU5OPW.js +33 -0
- package/dist/chunks/chunk-2HRRUKE4.js +90 -0
- package/dist/chunks/chunk-2J3PCCBE.js +33 -0
- package/dist/chunks/chunk-2J4DQY7Q.js +331 -0
- package/dist/chunks/chunk-2KEE23HU.js +152 -0
- package/dist/chunks/chunk-2KJTKSF7.js +305 -0
- package/dist/chunks/chunk-2P7ISWIA.js +1266 -0
- package/dist/chunks/chunk-2PEG56PC.js +11820 -0
- package/dist/chunks/chunk-2PYBOHPP.js +129 -0
- package/dist/chunks/chunk-2T3RXEHR.js +375 -0
- package/dist/chunks/chunk-2TIRUYXL.js +180 -0
- package/dist/chunks/chunk-2Y4IIPOE.js +228 -0
- package/dist/chunks/chunk-2ZOSBENB.js +36 -0
- package/dist/chunks/chunk-357MX4XC.js +155 -0
- package/dist/chunks/chunk-35EWVHEY.js +23 -0
- package/dist/chunks/chunk-37PXUEWP.js +150 -0
- package/dist/chunks/chunk-3A7TOUVA.js +60 -0
- package/dist/chunks/chunk-3AUXRA3F.js +149 -0
- package/dist/chunks/chunk-3BBLD65X.js +83 -0
- package/dist/chunks/chunk-3CB5FZ2F.js +399 -0
- package/dist/chunks/chunk-3DEPF3MD.js +68 -0
- package/dist/chunks/chunk-3FGWRSN5.js +178 -0
- package/dist/chunks/chunk-3G2SLNZD.js +206 -0
- package/dist/chunks/chunk-3HKODMVI.js +80 -0
- package/dist/chunks/chunk-3HSI3NPQ.js +100 -0
- package/dist/chunks/chunk-3N3DDMPA.js +88 -0
- package/dist/chunks/chunk-3N6BLOQT.js +777 -0
- package/dist/chunks/chunk-3NI5OGFT.js +558 -0
- package/dist/chunks/chunk-3OYPMUGF.js +85 -0
- package/dist/chunks/chunk-3OZNX2RW.js +362 -0
- package/dist/chunks/chunk-3QW2ZRSC.js +226 -0
- package/dist/chunks/chunk-3RR2AZWF.js +166 -0
- package/dist/chunks/chunk-3TXRGZEU.js +230 -0
- package/dist/chunks/chunk-3W3WQN2W.js +136 -0
- package/dist/chunks/chunk-3Z2ZGFT5.js +99 -0
- package/dist/chunks/chunk-3ZO43HDI.js +118 -0
- package/dist/chunks/chunk-42LFGCDX.js +42 -0
- package/dist/chunks/chunk-44NLGWX7.js +23 -0
- package/dist/chunks/chunk-46OKOUVF.js +110 -0
- package/dist/chunks/chunk-4AACDHFM.js +100 -0
- package/dist/chunks/chunk-4BGLN3US.js +23 -0
- package/dist/chunks/chunk-4CREVURI.js +1307 -0
- package/dist/chunks/chunk-4DWK6EEF.js +23 -0
- package/dist/chunks/chunk-4GG3UHQY.js +336 -0
- package/dist/chunks/chunk-4GGB33NY.js +898 -0
- package/dist/chunks/chunk-4GRUOQBH.js +685 -0
- package/dist/chunks/chunk-4H6F4SX6.js +59 -0
- package/dist/chunks/chunk-4K7VZEWL.js +45 -0
- package/dist/chunks/chunk-4S3URS6Z.js +172 -0
- package/dist/chunks/chunk-4S5TWA54.js +30 -0
- package/dist/chunks/chunk-4SPJ75RY.js +170 -0
- package/dist/chunks/chunk-4URHIHLG.js +728 -0
- package/dist/chunks/chunk-4WOXDZWL.js +152 -0
- package/dist/chunks/chunk-4X5G4QPZ.js +88 -0
- package/dist/chunks/chunk-4ZBHIQI3.js +71 -0
- package/dist/chunks/chunk-4ZI3MY6Q.js +100 -0
- package/dist/chunks/chunk-4ZWSOGLF.js +95 -0
- package/dist/chunks/chunk-52UK4HIK.js +168 -0
- package/dist/chunks/chunk-53IGZPFI.js +149 -0
- package/dist/chunks/chunk-53JDPAP4.js +263 -0
- package/dist/chunks/chunk-54K4BWHP.js +346 -0
- package/dist/chunks/chunk-55GSGQ22.js +209 -0
- package/dist/chunks/chunk-5AJJN4SZ.js +33 -0
- package/dist/chunks/chunk-5DV2UDUS.js +143 -0
- package/dist/chunks/chunk-5EHU4XFD.js +106 -0
- package/dist/chunks/chunk-5FD2PC5J.js +156 -0
- package/dist/chunks/chunk-5FPICOLV.js +89 -0
- package/dist/chunks/chunk-5FWRLBAW.js +138 -0
- package/dist/chunks/chunk-5GSRWIV2.js +33 -0
- package/dist/chunks/chunk-5ILC6R3Y.js +304 -0
- package/dist/chunks/chunk-5KR2J2CR.js +164 -0
- package/dist/chunks/chunk-5LQX4ILP.js +177 -0
- package/dist/chunks/chunk-5MEGWX5C.js +153 -0
- package/dist/chunks/chunk-5MEUN7SZ.js +303 -0
- package/dist/chunks/chunk-5NGWNEKU.js +33 -0
- package/dist/chunks/chunk-5OJA47IZ.js +99 -0
- package/dist/chunks/chunk-5PCFMR56.js +104 -0
- package/dist/chunks/chunk-5RRW5HGT.js +107 -0
- package/dist/chunks/chunk-5RWSY543.js +179 -0
- package/dist/chunks/chunk-5S23X3BA.js +163 -0
- package/dist/chunks/chunk-5SXABPXH.js +23 -0
- package/dist/chunks/chunk-5TJ6OREK.js +182 -0
- package/dist/chunks/chunk-5W3C5KDZ.js +106 -0
- package/dist/chunks/chunk-5X6DMD5A.js +503 -0
- package/dist/chunks/chunk-62MVOYLK.js +91 -0
- package/dist/chunks/chunk-62SM2ZMI.js +160 -0
- package/dist/chunks/chunk-645PFVD4.js +155 -0
- package/dist/chunks/chunk-6476X44H.js +342 -0
- package/dist/chunks/chunk-65RVTQRR.js +80 -0
- package/dist/chunks/chunk-675XJCZ4.js +261 -0
- package/dist/chunks/chunk-6AGJUNGT.js +155 -0
- package/dist/chunks/chunk-6AJHHLO6.js +185 -0
- package/dist/chunks/chunk-6CRT7IDI.js +877 -0
- package/dist/chunks/chunk-6DA3BPDG.js +119 -0
- package/dist/chunks/chunk-6EDUIURU.js +209 -0
- package/dist/chunks/chunk-6EFQ2GI6.js +117 -0
- package/dist/chunks/chunk-6EVUK5HU.js +87 -0
- package/dist/chunks/chunk-6FGA5DPZ.js +97 -0
- package/dist/chunks/chunk-6GMHLK2Q.js +80 -0
- package/dist/chunks/chunk-6HG4LBLO.js +23 -0
- package/dist/chunks/chunk-6IL7LJLA.js +136 -0
- package/dist/chunks/chunk-6KXNC2TP.js +77 -0
- package/dist/chunks/chunk-6QXJBXDE.js +200 -0
- package/dist/chunks/chunk-6REEUYWW.js +154 -0
- package/dist/chunks/chunk-6TWK3D4X.js +130 -0
- package/dist/chunks/chunk-6UEQFBWY.js +111 -0
- package/dist/chunks/chunk-6YOSXWZP.js +122 -0
- package/dist/chunks/chunk-6ZC5NWJX.js +165 -0
- package/dist/chunks/chunk-73WGEKAV.js +92 -0
- package/dist/chunks/chunk-73ZTTYZR.js +257 -0
- package/dist/chunks/chunk-74JAKKEI.js +145 -0
- package/dist/chunks/chunk-7A3MIEOO.js +33 -0
- package/dist/chunks/chunk-7A5X3MPD.js +139 -0
- package/dist/chunks/chunk-7CMEZLFV.js +23 -0
- package/dist/chunks/chunk-7CTL7VOX.js +108 -0
- package/dist/chunks/chunk-7D46BJKY.js +115 -0
- package/dist/chunks/chunk-7DIFO56V.js +82 -0
- package/dist/chunks/chunk-7DKGI65Y.js +305 -0
- package/dist/chunks/chunk-7EDUMRSP.js +63 -0
- package/dist/chunks/chunk-7IGLOKC3.js +33 -0
- package/dist/chunks/chunk-7KFQX6N5.js +33 -0
- package/dist/chunks/chunk-7L5NR427.js +117 -0
- package/dist/chunks/chunk-7RNNXZVW.js +197 -0
- package/dist/chunks/chunk-7TXYSS7Y.js +137 -0
- package/dist/chunks/chunk-7UZPG5OF.js +261 -0
- package/dist/chunks/chunk-7VKFRZUS.js +92 -0
- package/dist/chunks/chunk-7VONQLIJ.js +77 -0
- package/dist/chunks/chunk-7WZKZLHC.js +79 -0
- package/dist/chunks/chunk-7YKXBYPW.js +87 -0
- package/dist/chunks/chunk-7YWNU2LK.js +84 -0
- package/dist/chunks/chunk-A2YCZXKT.js +112 -0
- package/dist/chunks/chunk-A3VN4RGK.js +103 -0
- package/dist/chunks/chunk-A6A2JBPP.js +39 -0
- package/dist/chunks/chunk-A6W7TCYN.js +131 -0
- package/dist/chunks/chunk-A6YR7NCL.js +204 -0
- package/dist/chunks/chunk-A7B7AVJ2.js +33 -0
- package/dist/chunks/chunk-ACCEORUW.js +396 -0
- package/dist/chunks/chunk-ADBWFQST.js +140 -0
- package/dist/chunks/chunk-AE6OPGVT.js +497 -0
- package/dist/chunks/chunk-AFZSHMSN.js +247 -0
- package/dist/chunks/chunk-AIB22SFX.js +81 -0
- package/dist/chunks/chunk-AIOGZZNH.js +33 -0
- package/dist/chunks/chunk-ALGPGOMJ.js +117 -0
- package/dist/chunks/chunk-ALI2HZVF.js +327 -0
- package/dist/chunks/chunk-AMO2LCXI.js +206 -0
- package/dist/chunks/chunk-ANEDZH7A.js +45 -0
- package/dist/chunks/chunk-ANHFYSIK.js +23 -0
- package/dist/chunks/chunk-APBRV4W6.js +71 -0
- package/dist/chunks/chunk-APVJKUJP.js +10192 -0
- package/dist/chunks/chunk-AQZZ7NXG.js +33 -0
- package/dist/chunks/chunk-ARLI55LW.js +181 -0
- package/dist/chunks/chunk-AUDNQRAJ.js +170 -0
- package/dist/chunks/chunk-AWW5HNKW.js +298 -0
- package/dist/chunks/chunk-AWWZDFNO.js +112 -0
- package/dist/chunks/chunk-AXUQWEMX.js +86 -0
- package/dist/chunks/chunk-AYUZ47JD.js +98 -0
- package/dist/chunks/chunk-AYXXSKQH.js +23 -0
- package/dist/chunks/chunk-B4KCU67P.js +94 -0
- package/dist/chunks/chunk-B6SHLME3.js +47 -0
- package/dist/chunks/chunk-B7R4D5GQ.js +311 -0
- package/dist/chunks/chunk-BBYOVJQJ.js +98 -0
- package/dist/chunks/chunk-BC3MIZCD.js +111 -0
- package/dist/chunks/chunk-BCH6FNXB.js +50 -0
- package/dist/chunks/chunk-BDTCY5RE.js +190 -0
- package/dist/chunks/chunk-BH5MTM45.js +170 -0
- package/dist/chunks/chunk-BHT7E57Y.js +149 -0
- package/dist/chunks/chunk-BJ7KIGYV.js +170 -0
- package/dist/chunks/chunk-BJHWDQRI.js +109 -0
- package/dist/chunks/chunk-BKY75AW2.js +119 -0
- package/dist/chunks/chunk-BMWLLWMV.js +307 -0
- package/dist/chunks/chunk-BOR6OVBL.js +174 -0
- package/dist/chunks/chunk-BPQCEJLQ.js +298 -0
- package/dist/chunks/chunk-BRHNGS57.js +84 -0
- package/dist/chunks/chunk-BRLE5NZW.js +124 -0
- package/dist/chunks/chunk-BT4SHCEP.js +163 -0
- package/dist/chunks/chunk-BWB2TS4H.js +250 -0
- package/dist/chunks/chunk-BXSQ774Z.js +121 -0
- package/dist/chunks/chunk-BZFCSLR7.js +200 -0
- package/dist/chunks/chunk-C4STXVSA.js +23 -0
- package/dist/chunks/chunk-C5HM5OJJ.js +150 -0
- package/dist/chunks/chunk-C63WDV67.js +97 -0
- package/dist/chunks/chunk-C7X4DDSU.js +97 -0
- package/dist/chunks/chunk-CAL2ZF6M.js +198 -0
- package/dist/chunks/chunk-CAMZPMB7.js +209 -0
- package/dist/chunks/chunk-CCGTARBV.js +46 -0
- package/dist/chunks/chunk-CCJN5ULY.js +83 -0
- package/dist/chunks/chunk-CCPZIE73.js +161 -0
- package/dist/chunks/chunk-CEUH436H.js +105 -0
- package/dist/chunks/chunk-CGLFDWFM.js +99 -0
- package/dist/chunks/chunk-CGNNKKW7.js +70 -0
- package/dist/chunks/chunk-CHOXN3SQ.js +208 -0
- package/dist/chunks/chunk-CHWB4U2K.js +33 -0
- package/dist/chunks/chunk-CITKZJUF.js +109 -0
- package/dist/chunks/chunk-CKBPEGTH.js +260 -0
- package/dist/chunks/chunk-CL4K63NB.js +266 -0
- package/dist/chunks/chunk-CMBEGDWH.js +176 -0
- package/dist/chunks/chunk-CMOG7TOU.js +224 -0
- package/dist/chunks/chunk-CNVC6EPP.js +89 -0
- package/dist/chunks/chunk-COJM27N2.js +73 -0
- package/dist/chunks/chunk-CPRCZAB3.js +74 -0
- package/dist/chunks/chunk-CPZGUNKV.js +283 -0
- package/dist/chunks/chunk-CQYSUE36.js +324 -0
- package/dist/chunks/chunk-CR4OGLU2.js +23 -0
- package/dist/chunks/chunk-CR7Q7NTM.js +213 -0
- package/dist/chunks/chunk-CRTQZXSF.js +224 -0
- package/dist/chunks/chunk-CSS3B3N4.js +165 -0
- package/dist/chunks/chunk-CSW2CAUK.js +112 -0
- package/dist/chunks/chunk-CT35IIMQ.js +109 -0
- package/dist/chunks/chunk-CU3KVW5H.js +55 -0
- package/dist/chunks/chunk-CUMWJVNP.js +170 -0
- package/dist/chunks/chunk-CV6QBO5D.js +81 -0
- package/dist/chunks/chunk-CVB5F7FJ.js +92 -0
- package/dist/chunks/chunk-CVWKXDFH.js +102 -0
- package/dist/chunks/chunk-CX26P7IA.js +277 -0
- package/dist/chunks/chunk-CZCXFTP5.js +23 -0
- package/dist/chunks/chunk-D3U4EHJR.js +47 -0
- package/dist/chunks/chunk-D6J2AGZU.js +53 -0
- package/dist/chunks/chunk-D6VGJK6W.js +157 -0
- package/dist/chunks/chunk-DBSMVIXL.js +266 -0
- package/dist/chunks/chunk-DF5IDTZB.js +33 -0
- package/dist/chunks/chunk-DFZWVEGU.js +251 -0
- package/dist/chunks/chunk-DGK3MB6Y.js +85 -0
- package/dist/chunks/chunk-DHFFPZN7.js +193 -0
- package/dist/chunks/chunk-DHPPMW7M.js +33 -0
- package/dist/chunks/chunk-DIBT2Z4X.js +287 -0
- package/dist/chunks/chunk-DJ3F6EOL.js +86 -0
- package/dist/chunks/chunk-DJCBRATX.js +151 -0
- package/dist/chunks/chunk-DLNC4SLW.js +145 -0
- package/dist/chunks/chunk-DNH4D4JI.js +198 -0
- package/dist/chunks/chunk-DO6PZVWR.js +232 -0
- package/dist/chunks/chunk-DPH7UHGV.js +92 -0
- package/dist/chunks/chunk-DQ7AF2R5.js +217 -0
- package/dist/chunks/chunk-DQJKVQV4.js +163 -0
- package/dist/chunks/chunk-DQMCRGYD.js +589 -0
- package/dist/chunks/chunk-DRV5Z4KL.js +224 -0
- package/dist/chunks/chunk-DSTX54J4.js +330 -0
- package/dist/chunks/chunk-DUH7ZATR.js +283 -0
- package/dist/chunks/chunk-DVD56API.js +574 -0
- package/dist/chunks/chunk-DWUKOW7L.js +260 -0
- package/dist/chunks/chunk-DXR52ENL.js +122 -0
- package/dist/chunks/chunk-DYADJS4Y.js +39 -0
- package/dist/chunks/chunk-DZATVMBB.js +181 -0
- package/dist/chunks/chunk-DZIPU2Q4.js +201 -0
- package/dist/chunks/chunk-E2JZ2RZI.js +231 -0
- package/dist/chunks/chunk-E4KDI2GV.js +169 -0
- package/dist/chunks/chunk-E5IDXYQD.js +77 -0
- package/dist/chunks/chunk-EALHKOFS.js +23 -0
- package/dist/chunks/chunk-ECPRSOPE.js +80 -0
- package/dist/chunks/chunk-ECVD7DCS.js +225 -0
- package/dist/chunks/chunk-EFX2ICNU.js +100 -0
- package/dist/chunks/chunk-EJ66FNLZ.js +197 -0
- package/dist/chunks/chunk-ELVKOJH7.js +177 -0
- package/dist/chunks/chunk-EPMLMUXF.js +146 -0
- package/dist/chunks/chunk-ERIQ7JIJ.js +85 -0
- package/dist/chunks/chunk-ESBLUILZ.js +41 -0
- package/dist/chunks/chunk-ESV3AAQ4.js +103 -0
- package/dist/chunks/chunk-EWZRJTLT.js +108 -0
- package/dist/chunks/chunk-EX6OREVZ.js +141 -0
- package/dist/chunks/chunk-EXRI6KN5.js +45 -0
- package/dist/chunks/chunk-EZJNGKZ7.js +249 -0
- package/dist/chunks/chunk-F2RLM473.js +157 -0
- package/dist/chunks/chunk-F32ETZYX.js +33 -0
- package/dist/chunks/chunk-F47ZTZ2M.js +141 -0
- package/dist/chunks/chunk-F4EFW5XG.js +130 -0
- package/dist/chunks/chunk-F4UGIRWU.js +128 -0
- package/dist/chunks/chunk-F4X5MJ7O.js +204 -0
- package/dist/chunks/chunk-F5OWF2ZE.js +317 -0
- package/dist/chunks/chunk-F7SDLYHJ.js +79 -0
- package/dist/chunks/chunk-FC2FGSU2.js +564 -0
- package/dist/chunks/chunk-FCEF3YK4.js +86 -0
- package/dist/chunks/chunk-FCQR5LL4.js +134 -0
- package/dist/chunks/chunk-FFD46KYF.js +209 -0
- package/dist/chunks/chunk-FGJRVCXO.js +303 -0
- package/dist/chunks/chunk-FGKE26E7.js +196 -0
- package/dist/chunks/chunk-FGOZMT45.js +305 -0
- package/dist/chunks/chunk-FGWPOJZU.js +93 -0
- package/dist/chunks/chunk-FIBQTDOW.js +135 -0
- package/dist/chunks/chunk-FIE7F2FK.js +174 -0
- package/dist/chunks/chunk-FIHCLHSP.js +333 -0
- package/dist/chunks/chunk-FIYHEMRZ.js +282 -0
- package/dist/chunks/chunk-FLGMO3U4.js +142 -0
- package/dist/chunks/chunk-FM2YY4RI.js +33 -0
- package/dist/chunks/chunk-FMOZ3GG5.js +85 -0
- package/dist/chunks/chunk-FOBKKGOO.js +290 -0
- package/dist/chunks/chunk-FPG2DJ7G.js +55 -0
- package/dist/chunks/chunk-FPIWEYRR.js +55 -0
- package/dist/chunks/chunk-FPXJR73J.js +171 -0
- package/dist/chunks/chunk-FRAUSF6D.js +161 -0
- package/dist/chunks/chunk-FSFVNV3M.js +360 -0
- package/dist/chunks/chunk-FSHYNBWP.js +142 -0
- package/dist/chunks/chunk-FSMMRN2T.js +256 -0
- package/dist/chunks/chunk-FTJEGDDE.js +119 -0
- package/dist/chunks/chunk-FTLNZSGG.js +214 -0
- package/dist/chunks/chunk-FYWRH6KA.js +1417 -0
- package/dist/chunks/chunk-G2COC3YD.js +86 -0
- package/dist/chunks/chunk-G3FXK7V4.js +114 -0
- package/dist/chunks/chunk-G3ZJPXTX.js +69 -0
- package/dist/chunks/chunk-G7O24N7X.js +166 -0
- package/dist/chunks/chunk-GAZ57RX2.js +90 -0
- package/dist/chunks/chunk-GBR2VR7S.js +152 -0
- package/dist/chunks/chunk-GDJSAXPF.js +140 -0
- package/dist/chunks/chunk-GDSNX2LF.js +196 -0
- package/dist/chunks/chunk-GF6N47NL.js +199 -0
- package/dist/chunks/chunk-GFOGKCPL.js +129 -0
- package/dist/chunks/chunk-GG5FVHP3.js +23 -0
- package/dist/chunks/chunk-GHUS6F5D.js +94 -0
- package/dist/chunks/chunk-GIQH7FWT.js +153 -0
- package/dist/chunks/chunk-GIVNETXM.js +166 -0
- package/dist/chunks/chunk-GJXNZPEF.js +190 -0
- package/dist/chunks/chunk-GKEINFGS.js +178 -0
- package/dist/chunks/chunk-GLNDN2NE.js +172 -0
- package/dist/chunks/chunk-GMIR2QGA.js +171 -0
- package/dist/chunks/chunk-GN5W7TJD.js +90 -0
- package/dist/chunks/chunk-GOCBCU3X.js +284 -0
- package/dist/chunks/chunk-GPBPXMHK.js +78 -0
- package/dist/chunks/chunk-GQWCRSGC.js +79 -0
- package/dist/chunks/chunk-GRCLKQKE.js +188 -0
- package/dist/chunks/chunk-GU66LHPX.js +106 -0
- package/dist/chunks/chunk-GUVLFC76.js +169 -0
- package/dist/chunks/chunk-GVD3F2P2.js +102 -0
- package/dist/chunks/chunk-GWBJN7TJ.js +181 -0
- package/dist/chunks/chunk-GWFXO7P2.js +270 -0
- package/dist/chunks/chunk-GWSEQROS.js +1403 -0
- package/dist/chunks/chunk-GWSUQG2Q.js +158 -0
- package/dist/chunks/chunk-GY4NONBY.js +336 -0
- package/dist/chunks/chunk-H2EE57GO.js +1469 -0
- package/dist/chunks/chunk-H2M6VLML.js +78 -0
- package/dist/chunks/chunk-H4NDCUJZ.js +191 -0
- package/dist/chunks/chunk-H7NBNZMI.js +103 -0
- package/dist/chunks/chunk-H7RWKOFN.js +101 -0
- package/dist/chunks/chunk-HBPURYPZ.js +28 -0
- package/dist/chunks/chunk-HFHT5TR5.js +121 -0
- package/dist/chunks/chunk-HFTJ567N.js +115 -0
- package/dist/chunks/chunk-HIGV7NIT.js +344 -0
- package/dist/chunks/chunk-HIJBW52G.js +107 -0
- package/dist/chunks/chunk-HJCFC5IM.js +140 -0
- package/dist/chunks/chunk-HLOF7XSN.js +226 -0
- package/dist/chunks/chunk-HN2A65AT.js +75 -0
- package/dist/chunks/chunk-HRGTYCSS.js +79 -0
- package/dist/chunks/chunk-HRHP22IQ.js +195 -0
- package/dist/chunks/chunk-HUF4ZI5K.js +106 -0
- package/dist/chunks/chunk-HUOXOEYM.js +178 -0
- package/dist/chunks/chunk-HUSCHQZF.js +131 -0
- package/dist/chunks/chunk-HVWYS2FD.js +151 -0
- package/dist/chunks/chunk-HXWUGNFG.js +90 -0
- package/dist/chunks/chunk-HY7R464Y.js +164 -0
- package/dist/chunks/chunk-HYRSOXJU.js +114 -0
- package/dist/chunks/chunk-HZ4ATNWF.js +172 -0
- package/dist/chunks/chunk-I26ADZE5.js +234 -0
- package/dist/chunks/chunk-I4YJJX24.js +81 -0
- package/dist/chunks/chunk-I56YVBSU.js +149 -0
- package/dist/chunks/chunk-I6GZB3SS.js +76 -0
- package/dist/chunks/chunk-I6PRN3UI.js +351 -0
- package/dist/chunks/chunk-ICGYGLXG.js +30 -0
- package/dist/chunks/chunk-ICON2DHX.js +53 -0
- package/dist/chunks/chunk-IDYGA6JB.js +84 -0
- package/dist/chunks/chunk-IEWXITI5.js +60 -0
- package/dist/chunks/chunk-IEYDZGFE.js +81 -0
- package/dist/chunks/chunk-IFKULHJ3.js +80 -0
- package/dist/chunks/chunk-IJ7FBOET.js +84 -0
- package/dist/chunks/chunk-ILV22EPF.js +261 -0
- package/dist/chunks/chunk-INNLMWHT.js +100 -0
- package/dist/chunks/chunk-INREWU77.js +155 -0
- package/dist/chunks/chunk-IOX6VN3U.js +118 -0
- package/dist/chunks/chunk-IOXWI4IK.js +105 -0
- package/dist/chunks/chunk-IPMPNYBF.js +261 -0
- package/dist/chunks/chunk-IPRJUV2O.js +45 -0
- package/dist/chunks/chunk-IRET5WGV.js +78 -0
- package/dist/chunks/chunk-IROY6E3L.js +141 -0
- package/dist/chunks/chunk-IRTOBVAO.js +41 -0
- package/dist/chunks/chunk-ITYA32ZG.js +115 -0
- package/dist/chunks/chunk-IW5CQX6Y.js +378 -0
- package/dist/chunks/chunk-J3KDXPZA.js +358 -0
- package/dist/chunks/chunk-J3YVD5F6.js +133 -0
- package/dist/chunks/chunk-J4OWTFYV.js +123 -0
- package/dist/chunks/chunk-J7PAXPJN.js +1845 -0
- package/dist/chunks/chunk-J7YPJUR5.js +105 -0
- package/dist/chunks/chunk-JEGKI2RV.js +55 -0
- package/dist/chunks/chunk-JF2CGUPE.js +122 -0
- package/dist/chunks/chunk-JF5DTC5Z.js +152 -0
- package/dist/chunks/chunk-JFP52GVM.js +122 -0
- package/dist/chunks/chunk-JGOE6KRX.js +149 -0
- package/dist/chunks/chunk-JGQO3EKK.js +390 -0
- package/dist/chunks/chunk-JGZIQ3UI.js +70 -0
- package/dist/chunks/chunk-JHNVXMSM.js +331 -0
- package/dist/chunks/chunk-JIBAJIHB.js +218 -0
- package/dist/chunks/chunk-JIXBDRKL.js +320 -0
- package/dist/chunks/chunk-JJEXCQFJ.js +159 -0
- package/dist/chunks/chunk-JJTSI5Q5.js +108 -0
- package/dist/chunks/chunk-JNWUYMQ5.js +92 -0
- package/dist/chunks/chunk-JP3ATO2V.js +127 -0
- package/dist/chunks/chunk-JR5B76ZO.js +82 -0
- package/dist/chunks/chunk-JRQ4ZPRK.js +199 -0
- package/dist/chunks/chunk-JSM2H22F.js +95 -0
- package/dist/chunks/chunk-JTFFE573.js +97 -0
- package/dist/chunks/chunk-JTLL324P.js +66 -0
- package/dist/chunks/chunk-JW2VRSZ2.js +73 -0
- package/dist/chunks/chunk-JW37DZWL.js +23 -0
- package/dist/chunks/chunk-JXWHUS7L.js +189 -0
- package/dist/chunks/chunk-K36YCZO2.js +135 -0
- package/dist/chunks/chunk-K3QP3IUF.js +43 -0
- package/dist/chunks/chunk-K3ZYALMC.js +297 -0
- package/dist/chunks/chunk-K4QJ4SKU.js +231 -0
- package/dist/chunks/chunk-K5R3TTQD.js +173 -0
- package/dist/chunks/chunk-K65XPQAM.js +104 -0
- package/dist/chunks/chunk-K74MZQA2.js +161 -0
- package/dist/chunks/chunk-KCHDGEZ5.js +123 -0
- package/dist/chunks/chunk-KD2IEKAU.js +134 -0
- package/dist/chunks/chunk-KF3BSBC5.js +91 -0
- package/dist/chunks/chunk-KGCLVD34.js +104 -0
- package/dist/chunks/chunk-KIC5TSOB.js +83 -0
- package/dist/chunks/chunk-KKVSPEJA.js +62 -0
- package/dist/chunks/chunk-KLITWGKP.js +179 -0
- package/dist/chunks/chunk-KMTMJ264.js +156 -0
- package/dist/chunks/chunk-KMWE5QZ3.js +125 -0
- package/dist/chunks/chunk-KMYTBU7F.js +217 -0
- package/dist/chunks/chunk-KNXHE7SX.js +36 -0
- package/dist/chunks/chunk-KO5UAPHF.js +152 -0
- package/dist/chunks/chunk-KOEQLLOE.js +238 -0
- package/dist/chunks/chunk-KQ3JSNMU.js +96 -0
- package/dist/chunks/chunk-KRIM23HE.js +87 -0
- package/dist/chunks/chunk-KVFMQFQS.js +44 -0
- package/dist/chunks/chunk-KWH46HMO.js +140 -0
- package/dist/chunks/chunk-KWXWK2LA.js +36 -0
- package/dist/chunks/chunk-L3443FVX.js +147 -0
- package/dist/chunks/chunk-L3IYFCO4.js +130 -0
- package/dist/chunks/chunk-L4SKFLWD.js +192 -0
- package/dist/chunks/chunk-L6NNGCPO.js +50 -0
- package/dist/chunks/chunk-L6P7VDPV.js +71 -0
- package/dist/chunks/chunk-LBYNGWDZ.js +225 -0
- package/dist/chunks/chunk-LCPMHFRA.js +33 -0
- package/dist/chunks/chunk-LDQHBHU6.js +220 -0
- package/dist/chunks/chunk-LDXVA6PI.js +118 -0
- package/dist/chunks/chunk-LFBA5NUC.js +172 -0
- package/dist/chunks/chunk-LFQHGS2U.js +80 -0
- package/dist/chunks/chunk-LGDMAOXC.js +112 -0
- package/dist/chunks/chunk-LGDPZSDI.js +231 -0
- package/dist/chunks/chunk-LJF5M45X.js +210 -0
- package/dist/chunks/chunk-LOP6LDGQ.js +23 -0
- package/dist/chunks/chunk-LOQNCZFE.js +33 -0
- package/dist/chunks/chunk-LOTIIDDC.js +150 -0
- package/dist/chunks/chunk-LOUPBPQV.js +38 -0
- package/dist/chunks/chunk-LOZFDMQ2.js +82 -0
- package/dist/chunks/chunk-LPLI7CZR.js +110 -0
- package/dist/chunks/chunk-LPTGYYJP.js +169 -0
- package/dist/chunks/chunk-LQXV2SMI.js +250 -0
- package/dist/chunks/chunk-LS2DJ73W.js +23 -0
- package/dist/chunks/chunk-LT4ZFOAZ.js +206 -0
- package/dist/chunks/chunk-LVPOJ7EN.js +1309 -0
- package/dist/chunks/chunk-LX7EN665.js +23 -0
- package/dist/chunks/chunk-M2LWLS56.js +65 -0
- package/dist/chunks/chunk-M4FLYVZW.js +262 -0
- package/dist/chunks/chunk-M55GTXRW.js +166 -0
- package/dist/chunks/chunk-M6EOYUH3.js +315 -0
- package/dist/chunks/chunk-M7MIEQQJ.js +184 -0
- package/dist/chunks/chunk-MC4TU2YF.js +23 -0
- package/dist/chunks/chunk-MCD4ANE7.js +147 -0
- package/dist/chunks/chunk-MDVFISSB.js +139 -0
- package/dist/chunks/chunk-MEZ4SJUC.js +123 -0
- package/dist/chunks/chunk-MFPMMKHP.js +471 -0
- package/dist/chunks/chunk-MIZALSOT.js +222 -0
- package/dist/chunks/chunk-MJAYRERD.js +187 -0
- package/dist/chunks/chunk-MJSGJ6I4.js +65 -0
- package/dist/chunks/chunk-MNN76UQS.js +45 -0
- package/dist/chunks/chunk-MNVIAHOR.js +632 -0
- package/dist/chunks/chunk-MO7SQVMT.js +607 -0
- package/dist/chunks/chunk-MOVYLHBM.js +166 -0
- package/dist/chunks/chunk-MQJCN4M2.js +107 -0
- package/dist/chunks/chunk-MQOEQ4PC.js +23 -0
- package/dist/chunks/chunk-MSZ56S57.js +100 -0
- package/dist/chunks/chunk-MTMYLQWH.js +77 -0
- package/dist/chunks/chunk-MTVWZHE7.js +213 -0
- package/dist/chunks/chunk-MVCG76O6.js +33 -0
- package/dist/chunks/chunk-MVFUNXDH.js +191 -0
- package/dist/chunks/chunk-MVXFBGSB.js +23 -0
- package/dist/chunks/chunk-MXA2ETB3.js +36 -0
- package/dist/chunks/chunk-MYOJ2OUX.js +197 -0
- package/dist/chunks/chunk-MYTNLU6I.js +198 -0
- package/dist/chunks/chunk-MYZZPQU7.js +83 -0
- package/dist/chunks/chunk-MZSHZR4Y.js +207 -0
- package/dist/chunks/chunk-N2GXKXLR.js +160 -0
- package/dist/chunks/chunk-N2RBQBUE.js +11335 -0
- package/dist/chunks/chunk-N3SFUPHB.js +50 -0
- package/dist/chunks/chunk-N4APWKFW.js +287 -0
- package/dist/chunks/chunk-N6AWPVJ5.js +95 -0
- package/dist/chunks/chunk-N6MHOOB4.js +366 -0
- package/dist/chunks/chunk-NAHYH77A.js +93 -0
- package/dist/chunks/chunk-NB7EFSGY.js +94 -0
- package/dist/chunks/chunk-NE3UFFDY.js +1574 -0
- package/dist/chunks/chunk-NF3NXIQX.js +23 -0
- package/dist/chunks/chunk-NGVIYWK2.js +23 -0
- package/dist/chunks/chunk-NIKVFWDD.js +115 -0
- package/dist/chunks/chunk-NKGRJ4YD.js +112 -0
- package/dist/chunks/chunk-NOUWP3JK.js +158 -0
- package/dist/chunks/chunk-NTK3OXDK.js +226 -0
- package/dist/chunks/chunk-NTLYUEUQ.js +181 -0
- package/dist/chunks/chunk-NTWARAQQ.js +101 -0
- package/dist/chunks/chunk-NVBXTTEP.js +167 -0
- package/dist/chunks/chunk-NVPOIW4X.js +33 -0
- package/dist/chunks/chunk-NVY6SKE7.js +23 -0
- package/dist/chunks/chunk-NWFJLNAB.js +258 -0
- package/dist/chunks/chunk-NXBJDJKI.js +23 -0
- package/dist/chunks/chunk-NXNYN5TK.js +168 -0
- package/dist/chunks/chunk-NZB7XVRQ.js +105 -0
- package/dist/chunks/chunk-O2PKNDJG.js +139 -0
- package/dist/chunks/chunk-O2YIXIIW.js +135 -0
- package/dist/chunks/chunk-O3DCF2UM.js +244 -0
- package/dist/chunks/chunk-O3IVQ2F2.js +55 -0
- package/dist/chunks/chunk-O3UIIR6C.js +139 -0
- package/dist/chunks/chunk-O3W7HYS7.js +173 -0
- package/dist/chunks/chunk-O57R5OPE.js +104 -0
- package/dist/chunks/chunk-O6GMQ677.js +98 -0
- package/dist/chunks/chunk-O7QM4M5E.js +93 -0
- package/dist/chunks/chunk-OBTEVYZG.js +462 -0
- package/dist/chunks/chunk-OGDQ45BC.js +177 -0
- package/dist/chunks/chunk-OGZJE5X2.js +103 -0
- package/dist/chunks/chunk-OJSQNIHS.js +180 -0
- package/dist/chunks/chunk-OKLEUGZK.js +177 -0
- package/dist/chunks/chunk-OMWE4ML4.js +104 -0
- package/dist/chunks/chunk-OO27NDKX.js +161 -0
- package/dist/chunks/chunk-OPY6APVX.js +121 -0
- package/dist/chunks/chunk-OQLS4TOY.js +124 -0
- package/dist/chunks/chunk-OR4XXQMG.js +128 -0
- package/dist/chunks/chunk-ORTGNUHE.js +128 -0
- package/dist/chunks/chunk-OSLU6VYJ.js +194 -0
- package/dist/chunks/chunk-OSWMUR34.js +163 -0
- package/dist/chunks/chunk-OT5B7QDA.js +150 -0
- package/dist/chunks/chunk-OTE6EUWP.js +122 -0
- package/dist/chunks/chunk-OU52A4YW.js +165 -0
- package/dist/chunks/chunk-OVBTNR7U.js +23 -0
- package/dist/chunks/chunk-OXI222BA.js +54 -0
- package/dist/chunks/chunk-OYTQYBKJ.js +120 -0
- package/dist/chunks/chunk-P23KECK3.js +57 -0
- package/dist/chunks/chunk-P2OKKR5E.js +320 -0
- package/dist/chunks/chunk-P373HJEQ.js +153 -0
- package/dist/chunks/chunk-P5M5QCAJ.js +95 -0
- package/dist/chunks/chunk-PASNOILA.js +150 -0
- package/dist/chunks/chunk-PC4CRN7J.js +23 -0
- package/dist/chunks/chunk-PCSLYXTW.js +163 -0
- package/dist/chunks/chunk-PEDQKANG.js +33 -0
- package/dist/chunks/chunk-PFRPEJQ7.js +45 -0
- package/dist/chunks/chunk-PGC3HCFT.js +147 -0
- package/dist/chunks/chunk-PJY3DG52.js +317 -0
- package/dist/chunks/chunk-PKNRS7V7.js +94 -0
- package/dist/chunks/chunk-PLJJVVVO.js +201 -0
- package/dist/chunks/chunk-PNLEEGKA.js +33 -0
- package/dist/chunks/chunk-POZOGQG7.js +424 -0
- package/dist/chunks/chunk-PP45QTQ6.js +108 -0
- package/dist/chunks/chunk-PPRSMIGM.js +152 -0
- package/dist/chunks/chunk-PTRN7H4N.js +42 -0
- package/dist/chunks/chunk-PVMSTID2.js +23 -0
- package/dist/chunks/chunk-PWZ5TPBQ.js +100 -0
- package/dist/chunks/chunk-PYXHPAZX.js +738 -0
- package/dist/chunks/chunk-Q2ASEGWN.js +41 -0
- package/dist/chunks/chunk-Q3B5SHXG.js +45 -0
- package/dist/chunks/chunk-Q4DPRHT2.js +106 -0
- package/dist/chunks/chunk-Q63RQCF6.js +144 -0
- package/dist/chunks/chunk-Q7KAXGAK.js +120 -0
- package/dist/chunks/chunk-QBGTS5T7.js +138 -0
- package/dist/chunks/chunk-QCDV2YDY.js +217 -0
- package/dist/chunks/chunk-QF7A6T4H.js +279 -0
- package/dist/chunks/chunk-QGE2XW66.js +1649 -0
- package/dist/chunks/chunk-QHX6GEAS.js +150 -0
- package/dist/chunks/chunk-QMJCMJ4H.js +146 -0
- package/dist/chunks/chunk-QOR3X7UR.js +54 -0
- package/dist/chunks/chunk-QP7AFE5R.js +97 -0
- package/dist/chunks/chunk-QPL45ZDN.js +183 -0
- package/dist/chunks/chunk-QPUNDLA4.js +301 -0
- package/dist/chunks/chunk-QQL5ADGN.js +283 -0
- package/dist/chunks/chunk-QQMSM7EK.js +36 -0
- package/dist/chunks/chunk-QRSB6IKM.js +358 -0
- package/dist/chunks/chunk-QU2265DN.js +97 -0
- package/dist/chunks/chunk-QV5G6ISE.js +159 -0
- package/dist/chunks/chunk-QY5U725A.js +47 -0
- package/dist/chunks/chunk-QYBYPMVF.js +182 -0
- package/dist/chunks/chunk-R4KIPVK4.js +326 -0
- package/dist/chunks/chunk-R4Q47A2J.js +108 -0
- package/dist/chunks/chunk-R6FAPIVP.js +33 -0
- package/dist/chunks/chunk-R7VJXBUC.js +23 -0
- package/dist/chunks/chunk-RBS4AOLB.js +90 -0
- package/dist/chunks/chunk-RCAHZSQD.js +151 -0
- package/dist/chunks/chunk-RD2D2IIU.js +36 -0
- package/dist/chunks/chunk-REFDALWU.js +23 -0
- package/dist/chunks/chunk-RF3GVBXN.js +220 -0
- package/dist/chunks/chunk-RFA7INNF.js +45 -0
- package/dist/chunks/chunk-RFPREMKF.js +237 -0
- package/dist/chunks/chunk-RG563GJX.js +127 -0
- package/dist/chunks/chunk-RGG5GUS6.js +162 -0
- package/dist/chunks/chunk-RH7SANM5.js +180 -0
- package/dist/chunks/chunk-RHVN4HHJ.js +169 -0
- package/dist/chunks/chunk-RI6O4MTA.js +111 -0
- package/dist/chunks/chunk-RLAWIZTT.js +153 -0
- package/dist/chunks/chunk-RLTRN3YR.js +163 -0
- package/dist/chunks/chunk-RNCZVDXJ.js +102 -0
- package/dist/chunks/chunk-RNDHDUNJ.js +183 -0
- package/dist/chunks/chunk-ROIB32SA.js +87 -0
- package/dist/chunks/chunk-RPCYL3NK.js +260 -0
- package/dist/chunks/chunk-RTAG5GOL.js +184 -0
- package/dist/chunks/chunk-RWPOBQP7.js +33 -0
- package/dist/chunks/chunk-RX5SBRA2.js +1393 -0
- package/dist/chunks/chunk-RXJJAE3K.js +273 -0
- package/dist/chunks/chunk-RYUI74FY.js +101 -0
- package/dist/chunks/chunk-RZODBL5L.js +329 -0
- package/dist/chunks/chunk-S25774X3.js +242 -0
- package/dist/chunks/chunk-S45ZJFU2.js +104 -0
- package/dist/chunks/chunk-S4P43PZI.js +97 -0
- package/dist/chunks/chunk-S4Y3VMQH.js +887 -0
- package/dist/chunks/chunk-S57NBFBJ.js +152 -0
- package/dist/chunks/chunk-S6FNCLMU.js +108 -0
- package/dist/chunks/chunk-SBEKJIPH.js +162 -0
- package/dist/chunks/chunk-SC5RIAEC.js +362 -0
- package/dist/chunks/chunk-SDQESNSE.js +23 -0
- package/dist/chunks/chunk-SE3U4XYH.js +173 -0
- package/dist/chunks/chunk-SFRBQ2PK.js +95 -0
- package/dist/chunks/chunk-SGQ6HMGV.js +90 -0
- package/dist/chunks/chunk-SHP6NA5E.js +195 -0
- package/dist/chunks/chunk-SI3ZOUV3.js +50 -0
- package/dist/chunks/chunk-SKXTP74D.js +112 -0
- package/dist/chunks/chunk-SLC4C6NW.js +327 -0
- package/dist/chunks/chunk-SLFNBUMG.js +95 -0
- package/dist/chunks/chunk-SLHKGUXQ.js +106 -0
- package/dist/chunks/chunk-SMAOJZT3.js +97 -0
- package/dist/chunks/chunk-SNIXUPKT.js +145 -0
- package/dist/chunks/chunk-SNLKRCRD.js +89 -0
- package/dist/chunks/chunk-SOZ24MX4.js +106 -0
- package/dist/chunks/chunk-SPGXS7V6.js +239 -0
- package/dist/chunks/chunk-SRSUY2WG.js +265 -0
- package/dist/chunks/chunk-SSWFRDJZ.js +122 -0
- package/dist/chunks/chunk-ST4K264N.js +252 -0
- package/dist/chunks/chunk-SURNQA2T.js +110 -0
- package/dist/chunks/chunk-SX3BZRNE.js +45 -0
- package/dist/chunks/chunk-SXAEFH2P.js +260 -0
- package/dist/chunks/chunk-SXBITE3O.js +111 -0
- package/dist/chunks/chunk-SZXW5SHY.js +117 -0
- package/dist/chunks/chunk-T324DBIE.js +52 -0
- package/dist/chunks/chunk-T5EL32RC.js +133 -0
- package/dist/chunks/chunk-T6LDAWRN.js +23 -0
- package/dist/chunks/chunk-T6QWDC3F.js +49 -0
- package/dist/chunks/chunk-T6T6C5WX.js +215 -0
- package/dist/chunks/chunk-T6YFBUX5.js +179 -0
- package/dist/chunks/chunk-T7OCDXH3.js +84 -0
- package/dist/chunks/chunk-TASIFSPI.js +237 -0
- package/dist/chunks/chunk-TBIZI5NH.js +33 -0
- package/dist/chunks/chunk-TBVBI4EN.js +41 -0
- package/dist/chunks/chunk-TEEIKA7J.js +88 -0
- package/dist/chunks/chunk-TFWGUTYX.js +272 -0
- package/dist/chunks/chunk-TGEZ6XE4.js +81 -0
- package/dist/chunks/chunk-TI24GNCW.js +53 -0
- package/dist/chunks/chunk-TKYYND5Y.js +51 -0
- package/dist/chunks/chunk-TLUNM2TF.js +125 -0
- package/dist/chunks/chunk-TM5RDBI3.js +119 -0
- package/dist/chunks/chunk-TO2G6M5V.js +86 -0
- package/dist/chunks/chunk-TOP6QIZY.js +146 -0
- package/dist/chunks/chunk-TOZ7ELK3.js +192 -0
- package/dist/chunks/chunk-TQGA2XPO.js +174 -0
- package/dist/chunks/chunk-TRDR2HTF.js +192 -0
- package/dist/chunks/chunk-TTFJSFYE.js +45 -0
- package/dist/chunks/chunk-TTV6D6WE.js +80 -0
- package/dist/chunks/chunk-TUAADYK6.js +198 -0
- package/dist/chunks/chunk-TUGJBNNZ.js +122 -0
- package/dist/chunks/chunk-TUNKWS22.js +167 -0
- package/dist/chunks/chunk-TUTKS5P3.js +45 -0
- package/dist/chunks/chunk-TVEKOSL6.js +84 -0
- package/dist/chunks/chunk-TW2YBHAS.js +175 -0
- package/dist/chunks/chunk-TYBWMK2R.js +194 -0
- package/dist/chunks/chunk-TYDS5EEV.js +187 -0
- package/dist/chunks/chunk-TYZPQWCO.js +382 -0
- package/dist/chunks/chunk-U2USBF33.js +77 -0
- package/dist/chunks/chunk-UALZ77YU.js +101 -0
- package/dist/chunks/chunk-UBT4DZYW.js +304 -0
- package/dist/chunks/chunk-UCCRKS3X.js +102 -0
- package/dist/chunks/chunk-UD57CHXN.js +204 -0
- package/dist/chunks/chunk-UDKGYTJF.js +23 -0
- package/dist/chunks/chunk-UENEUEO4.js +78 -0
- package/dist/chunks/chunk-UFM7YDUK.js +72 -0
- package/dist/chunks/chunk-UFRPKZMD.js +33 -0
- package/dist/chunks/chunk-UGFV3A35.js +315 -0
- package/dist/chunks/chunk-UHQ6VJHC.js +215 -0
- package/dist/chunks/chunk-UJCH2M3Y.js +91 -0
- package/dist/chunks/chunk-UJTTWR5P.js +71 -0
- package/dist/chunks/chunk-UKJMBB65.js +304 -0
- package/dist/chunks/chunk-ULNC47JX.js +78 -0
- package/dist/chunks/chunk-ULOS6YOR.js +36 -0
- package/dist/chunks/chunk-UMGBNVBJ.js +97 -0
- package/dist/chunks/chunk-UMQJM2ZI.js +61 -0
- package/dist/chunks/chunk-UNAAYJKD.js +218 -0
- package/dist/chunks/chunk-UNP33F6D.js +23 -0
- package/dist/chunks/chunk-UNTH3AOH.js +176 -0
- package/dist/chunks/chunk-UP6M77DM.js +77 -0
- package/dist/chunks/chunk-UPJ5IXGA.js +293 -0
- package/dist/chunks/chunk-UPUIW6WL.js +240 -0
- package/dist/chunks/chunk-URCFHJXT.js +94 -0
- package/dist/chunks/chunk-URXKBGNG.js +304 -0
- package/dist/chunks/chunk-USOSAINL.js +94 -0
- package/dist/chunks/chunk-UTFC2DI3.js +49 -0
- package/dist/chunks/chunk-UVAM6572.js +23 -0
- package/dist/chunks/chunk-UWAMU3QI.js +345 -0
- package/dist/chunks/chunk-UWP5NEDG.js +267 -0
- package/dist/chunks/chunk-UWVAGRTP.js +113 -0
- package/dist/chunks/chunk-UXG3CC3X.js +103 -0
- package/dist/chunks/chunk-UYGTT3GT.js +157 -0
- package/dist/chunks/chunk-UYRIP57W.js +95 -0
- package/dist/chunks/chunk-V26DPHXS.js +93 -0
- package/dist/chunks/chunk-V2KZMUUV.js +52 -0
- package/dist/chunks/chunk-V4LR6DUQ.js +75 -0
- package/dist/chunks/chunk-V5OW4YFE.js +165 -0
- package/dist/chunks/chunk-V75VJKG5.js +299 -0
- package/dist/chunks/chunk-V7CW4BMC.js +105 -0
- package/dist/chunks/chunk-VD3VUBIQ.js +363 -0
- package/dist/chunks/chunk-VDZROQIV.js +102 -0
- package/dist/chunks/chunk-VEI66U2U.js +261 -0
- package/dist/chunks/chunk-VF4FO65C.js +102 -0
- package/dist/chunks/chunk-VIDB76SW.js +133 -0
- package/dist/chunks/chunk-VKC33NBX.js +33 -0
- package/dist/chunks/chunk-VM244NG3.js +76 -0
- package/dist/chunks/chunk-VMVVBNLQ.js +160 -0
- package/dist/chunks/chunk-VPI2II5W.js +161 -0
- package/dist/chunks/chunk-VRAGG32Y.js +49 -0
- package/dist/chunks/chunk-VS357YGY.js +176 -0
- package/dist/chunks/chunk-VS7JIEBJ.js +126 -0
- package/dist/chunks/chunk-VU4PV747.js +146 -0
- package/dist/chunks/chunk-VUBEGZJN.js +221 -0
- package/dist/chunks/chunk-VX7BKOHM.js +133 -0
- package/dist/chunks/chunk-VXZUNEFN.js +277 -0
- package/dist/chunks/chunk-VZJWTDTS.js +23 -0
- package/dist/chunks/chunk-VZTZJTPP.js +961 -0
- package/dist/chunks/chunk-W4LZGH6W.js +94 -0
- package/dist/chunks/chunk-W4NW4MP5.js +235 -0
- package/dist/chunks/chunk-W6CK5MYV.js +276 -0
- package/dist/chunks/chunk-WBK2DOWJ.js +23 -0
- package/dist/chunks/chunk-WBNQ7HAG.js +147 -0
- package/dist/chunks/chunk-WCHHYVVZ.js +141 -0
- package/dist/chunks/chunk-WCIXWIIL.js +93 -0
- package/dist/chunks/chunk-WCJZKLEY.js +23 -0
- package/dist/chunks/chunk-WDDXAXMY.js +45 -0
- package/dist/chunks/chunk-WDQAG2RE.js +100 -0
- package/dist/chunks/chunk-WDTBZJGD.js +198 -0
- package/dist/chunks/chunk-WDTDVTAN.js +45 -0
- package/dist/chunks/chunk-WEG6EAC7.js +23 -0
- package/dist/chunks/chunk-WGWVKCBU.js +84 -0
- package/dist/chunks/chunk-WJCJNPOX.js +159 -0
- package/dist/chunks/chunk-WJR5S6MQ.js +147 -0
- package/dist/chunks/chunk-WKKHCEXN.js +10429 -0
- package/dist/chunks/chunk-WLLGREOU.js +202 -0
- package/dist/chunks/chunk-WLMST5BF.js +93 -0
- package/dist/chunks/chunk-WM6ZEBNM.js +120 -0
- package/dist/chunks/chunk-WQBUPC5U.js +312 -0
- package/dist/chunks/chunk-WQD3M4SM.js +77 -0
- package/dist/chunks/chunk-WR75D2J2.js +274 -0
- package/dist/chunks/chunk-WSGRGT5E.js +145 -0
- package/dist/chunks/chunk-WT5F3ZNI.js +182 -0
- package/dist/chunks/chunk-WUSKZV2W.js +115 -0
- package/dist/chunks/chunk-WYNTEDM3.js +172 -0
- package/dist/chunks/chunk-X22CGIKE.js +75 -0
- package/dist/chunks/chunk-X2BAGHES.js +112 -0
- package/dist/chunks/chunk-X2BEN4S5.js +136 -0
- package/dist/chunks/chunk-X4EJUV3X.js +91 -0
- package/dist/chunks/chunk-X4HN5LP7.js +118 -0
- package/dist/chunks/chunk-X4UI5JKC.js +74 -0
- package/dist/chunks/chunk-X7SXUJNU.js +255 -0
- package/dist/chunks/chunk-XBOSHQH2.js +95 -0
- package/dist/chunks/chunk-XDK3FCKJ.js +215 -0
- package/dist/chunks/chunk-XE3WNWN6.js +30 -0
- package/dist/chunks/chunk-XE5PHXFW.js +36 -0
- package/dist/chunks/chunk-XID46XN3.js +45 -0
- package/dist/chunks/chunk-XIIFQUWN.js +48 -0
- package/dist/chunks/chunk-XIOZFBZ5.js +304 -0
- package/dist/chunks/chunk-XIRI5JXO.js +123 -0
- package/dist/chunks/chunk-XJUSSPSN.js +66 -0
- package/dist/chunks/chunk-XJYGS6YQ.js +131 -0
- package/dist/chunks/chunk-XL2QEXIR.js +83 -0
- package/dist/chunks/chunk-XLH3LH35.js +84 -0
- package/dist/chunks/chunk-XMBY4GQC.js +120 -0
- package/dist/chunks/chunk-XNCBJGF3.js +214 -0
- package/dist/chunks/chunk-XNIGSGRA.js +137 -0
- package/dist/chunks/chunk-XNMDDRTY.js +48 -0
- package/dist/chunks/chunk-XNXQIO3C.js +415 -0
- package/dist/chunks/chunk-XQJ2VVC6.js +69 -0
- package/dist/chunks/chunk-XS6WFGSH.js +110 -0
- package/dist/chunks/chunk-XTFV46GB.js +115 -0
- package/dist/chunks/chunk-XUZP6ZDB.js +113 -0
- package/dist/chunks/chunk-XW2CG5WK.js +122 -0
- package/dist/chunks/chunk-XY2UVFSV.js +33 -0
- package/dist/chunks/chunk-Y2JQPDHW.js +242 -0
- package/dist/chunks/chunk-Y3MKKFJV.js +97 -0
- package/dist/chunks/chunk-Y46TF5JZ.js +66 -0
- package/dist/chunks/chunk-Y4ZOHJT2.js +1136 -0
- package/dist/chunks/chunk-Y6DHN37V.js +98 -0
- package/dist/chunks/chunk-Y7F6GN5L.js +126 -0
- package/dist/chunks/chunk-YAKOWHWE.js +361 -0
- package/dist/chunks/chunk-YB6MELXO.js +196 -0
- package/dist/chunks/chunk-YDC5K6NX.js +130 -0
- package/dist/chunks/chunk-YDHKVZ4N.js +115 -0
- package/dist/chunks/chunk-YDNHZZGU.js +74 -0
- package/dist/chunks/chunk-YFWLU5WW.js +23 -0
- package/dist/chunks/chunk-YHMT5KEW.js +212 -0
- package/dist/chunks/chunk-YHTLNVXJ.js +23 -0
- package/dist/chunks/chunk-YI7HCLNY.js +200 -0
- package/dist/chunks/chunk-YIEUMY43.js +262 -0
- package/dist/chunks/chunk-YIMHLXXF.js +146 -0
- package/dist/chunks/chunk-YJSCKSNY.js +366 -0
- package/dist/chunks/chunk-YJYGAWBS.js +391 -0
- package/dist/chunks/chunk-YMVKPMZO.js +368 -0
- package/dist/chunks/chunk-YNAICOB2.js +187 -0
- package/dist/chunks/chunk-YOUKVCGZ.js +127 -0
- package/dist/chunks/chunk-YOYWFBRJ.js +651 -0
- package/dist/chunks/chunk-YPBD7EUC.js +146 -0
- package/dist/chunks/chunk-YPFYJKMM.js +118 -0
- package/dist/chunks/chunk-YPHNGRQP.js +175 -0
- package/dist/chunks/chunk-YPLJSTUA.js +97 -0
- package/dist/chunks/chunk-YQEP6YFO.js +78 -0
- package/dist/chunks/chunk-YRRB5QDQ.js +229 -0
- package/dist/chunks/chunk-YRZJ4QPG.js +626 -0
- package/dist/chunks/chunk-YSEL45TN.js +135 -0
- package/dist/chunks/chunk-YTS6PXTH.js +197 -0
- package/dist/chunks/chunk-YWNLZHPX.js +164 -0
- package/dist/chunks/chunk-YX2HWYPO.js +135 -0
- package/dist/chunks/chunk-YZVCBFAG.js +23 -0
- package/dist/chunks/chunk-Z257MZVJ.js +49 -0
- package/dist/chunks/chunk-Z2YHJW5G.js +221 -0
- package/dist/chunks/chunk-Z2ZTQOKM.js +78 -0
- package/dist/chunks/chunk-ZAYVCDGB.js +163 -0
- package/dist/chunks/chunk-ZBFR7DBR.js +70 -0
- package/dist/chunks/chunk-ZCLJADSE.js +154 -0
- package/dist/chunks/chunk-ZFUNZPIN.js +156 -0
- package/dist/chunks/chunk-ZGLXMJRC.js +290 -0
- package/dist/chunks/chunk-ZHMHZSPX.js +255 -0
- package/dist/chunks/chunk-ZJ2SB5ZT.js +33 -0
- package/dist/chunks/chunk-ZJS37D5Z.js +337 -0
- package/dist/chunks/chunk-ZLVYZPUR.js +87 -0
- package/dist/chunks/chunk-ZN7FO3G7.js +79 -0
- package/dist/chunks/chunk-ZOEQCG3C.js +147 -0
- package/dist/chunks/chunk-ZOGSIPQC.js +156 -0
- package/dist/chunks/chunk-ZOY44347.js +96 -0
- package/dist/chunks/chunk-ZPXL7YPT.js +282 -0
- package/dist/chunks/chunk-ZRN2UMCM.js +95 -0
- package/dist/chunks/chunk-ZSEPLVD5.js +105 -0
- package/dist/chunks/chunk-ZSJLSN7C.js +130 -0
- package/dist/chunks/chunk-ZU2EO2TX.js +172 -0
- package/dist/chunks/chunk-ZUQGVYN3.js +151 -0
- package/dist/chunks/chunk-ZVTRB4ZH.js +251 -0
- package/dist/chunks/chunk-ZW5QQB3F.js +100 -0
- package/dist/chunks/chunk-ZW7KTUDU.js +157 -0
- package/dist/chunks/chunk-ZY3DR3P6.js +63 -0
- package/dist/chunks/chunk-ZYNF7B6N.js +70 -0
- package/dist/chunks/client-ORABD53R.js +167 -0
- package/dist/chunks/client-YF3PYAFZ.js +44 -0
- package/dist/chunks/client-YOSPARZX.js +31 -0
- package/dist/chunks/client-actions-LYJHQ4IE.js +160 -0
- package/dist/chunks/dangerous-VCZB63L6.js +117 -0
- package/dist/chunks/editor-seams-4PF6BD4R.js +161 -0
- package/dist/chunks/editor-store-UAEROYSB.js +139 -0
- package/dist/chunks/export-QMP2HMKB.js +67 -0
- package/dist/chunks/export-watermark-2N7ALJXN.js +146 -0
- package/dist/chunks/eyedropper-3P75IZGM.js +349 -0
- package/dist/chunks/generate-media-DYXU4BZL.js +253 -0
- package/dist/chunks/host-J4QG5WB7.js +171 -0
- package/dist/chunks/integrations-KGJ2HE6V.js +115 -0
- package/dist/chunks/kit-modules-4HQU5EI2.js +18 -0
- package/dist/chunks/libraries-NIRTR2IA.js +302 -0
- package/dist/chunks/library-previews-IXWFHUTJ.js +199 -0
- package/dist/chunks/live-XZKNAJ2I.js +312 -0
- package/dist/chunks/lottie-DXGDMMEK.js +86 -0
- package/dist/chunks/media-tool-YFIYMYI5.js +332 -0
- package/dist/chunks/new-file-RNWHN4S6.js +129 -0
- package/dist/chunks/page-thumbnails-QUBYIFNT.js +137 -0
- package/dist/chunks/pdf-EM7WHNE5.js +1217 -0
- package/dist/chunks/player-check-PKCQDTMR.js +114 -0
- package/dist/chunks/plugin-AN5GLVH5.js +124 -0
- package/dist/chunks/plugin-import-J5ZNYSIY.js +666 -0
- package/dist/chunks/presence-YNSLRFAM.js +127 -0
- package/dist/chunks/preview-media-TOIQAI26.js +122 -0
- package/dist/chunks/project-HSN7DOPK.js +1653 -0
- package/dist/chunks/publish-site-T2C4IDD2.js +158 -0
- package/dist/chunks/publish-store-I2FOGDDF.js +93 -0
- package/dist/chunks/raster-actions-IVIGDYQU.js +229 -0
- package/dist/chunks/reference-images-GBFOIOAM.js +62 -0
- package/dist/chunks/resolvers-ONCAKSTL.js +139 -0
- package/dist/chunks/runner-IOXTGHBT.js +1233 -0
- package/dist/chunks/runtime-ZFSHTK76.js +32 -0
- package/dist/chunks/shader-preview-ZYBQBOJQ.js +518 -0
- package/dist/chunks/sites-XV7IK35R.js +33 -0
- package/dist/chunks/store-ZVOK3773.js +224 -0
- package/dist/chunks/storefront-MZM2W5DF.js +329 -0
- package/dist/chunks/storefront-prepare-WKX3DJCF.js +33 -0
- package/dist/chunks/svg-export-FP7NTL2M.js +81 -0
- package/dist/chunks/sync-XT2ZCTVE.js +153 -0
- package/dist/chunks/tabs-RIIW7KNI.js +311 -0
- package/dist/chunks/team-KM3FZ6AU.js +44 -0
- package/dist/chunks/team-client-2EXJKRDB.js +157 -0
- package/dist/chunks/templates-IIOLUAAI.js +181 -0
- package/dist/chunks/tools-5ISIPPXP.js +35 -0
- package/dist/chunks/ui-commands-GYCIF7UQ.js +269 -0
- package/dist/chunks/versions-JCQTXXUB.js +311 -0
- package/dist/chunks/video-GRV7TEX4.js +75 -0
- package/dist/fonts/chars.txt +1 -1
- package/dist/index.js +16 -16
- package/dist/lib/fonts/runtime.js +1 -1
- package/dist/lib/templates/capabilities.js +2 -2
- package/dist/lib/templates/finish.js +2 -2
- package/dist/lib/templates/upload.js +2 -2
- package/dist/lib/templates/vocabulary.js +2 -2
- package/dist/migrations/brand-media.js +6 -6
- package/dist/migrations/categories.js +2 -2
- package/dist/migrations/index.js +17 -17
- package/dist/migrations/timeline-facets.js +2 -2
- package/dist/seed/files.json +1 -1
- package/dist/seed/popcraft.comic-nested.json.gz +0 -0
- package/dist/seed/popcraft.comic-pinup.json.gz +0 -0
- package/dist/templates/anime/character.js +9 -9
- package/dist/templates/anime/duel.js +12 -12
- package/dist/templates/anime/morning.js +12 -12
- package/dist/templates/anime/rain.js +12 -12
- package/dist/templates/anime/shared.js +10 -10
- package/dist/templates/anime/starlight.js +12 -12
- package/dist/templates/anime/titan.js +12 -12
- package/dist/templates/app/festival-presale-electronic-ticket.js +11 -11
- package/dist/templates/app/festival-presale-family-ticket.js +11 -11
- package/dist/templates/app/festival-presale-folk-ticket.js +11 -11
- package/dist/templates/app/festival-presale-food-ticket.js +11 -11
- package/dist/templates/app/festival-presale-jazz-ticket.js +11 -11
- package/dist/templates/app/festival-presale-street-ticket.js +11 -11
- package/dist/templates/app/music/build.js +6 -6
- package/dist/templates/app/music-grove.js +9 -9
- package/dist/templates/app/music-nightline.js +9 -9
- package/dist/templates/app/music-orbit.js +9 -9
- package/dist/templates/app/music-undertow.js +9 -9
- package/dist/templates/app/onboarding-carousel.js +8 -8
- package/dist/templates/app/saas-store-paywall.js +8 -8
- package/dist/templates/app/splash.js +8 -8
- package/dist/templates/app/success-confetti.js +8 -8
- package/dist/templates/app/tour-tickets-june-ticket.js +8 -8
- package/dist/templates/app/tour-tickets-tide-ticket.js +8 -8
- package/dist/templates/app/tour-tickets-wreck-ticket.js +8 -8
- package/dist/templates/build.js +2 -2
- package/dist/templates/cards/index.js +10 -10
- package/dist/templates/cards/shared.js +8 -8
- package/dist/templates/cards/themes.js +9 -9
- package/dist/templates/count.js +3 -3
- package/dist/templates/data/bars.js +8 -8
- package/dist/templates/data/countdown-story.js +8 -8
- package/dist/templates/data/counters.js +8 -8
- package/dist/templates/data/donut.js +8 -8
- package/dist/templates/data/line.js +8 -8
- package/dist/templates/data/year-in-review.js +8 -8
- package/dist/templates/effects/glass-intro.js +8 -8
- package/dist/templates/effects/glass-promo.js +8 -8
- package/dist/templates/effects/grain-story.js +8 -8
- package/dist/templates/effects/grid-intro.js +8 -8
- package/dist/templates/effects/halftone-story.js +8 -8
- package/dist/templates/effects/mesh-story.js +8 -8
- package/dist/templates/effects/shader-title.js +8 -8
- package/dist/templates/email/april-fools-header.js +10 -10
- package/dist/templates/email/art-deco-invitation.js +9 -9
- package/dist/templates/email/autumn-harvest-header.js +9 -9
- package/dist/templates/email/back-to-school-header.js +9 -9
- package/dist/templates/email/black-friday-coupons-header.js +9 -9
- package/dist/templates/email/black-friday-header.js +9 -9
- package/dist/templates/email/black-friday-neon-header.js +9 -9
- package/dist/templates/email/black-friday-scratch-header.js +9 -9
- package/dist/templates/email/black-friday-ticker-header.js +9 -9
- package/dist/templates/email/broadsheet-weekly-edition-header.js +9 -9
- package/dist/templates/email/claymation-header.js +9 -9
- package/dist/templates/email/countdown-gif.js +9 -9
- package/dist/templates/email/cyberpunk-header.js +9 -9
- package/dist/templates/email/diwali-header.js +9 -9
- package/dist/templates/email/earth-day-header.js +9 -9
- package/dist/templates/email/festival-presale-electronic-header.js +11 -11
- package/dist/templates/email/festival-presale-family-header.js +11 -11
- package/dist/templates/email/festival-presale-folk-header.js +11 -11
- package/dist/templates/email/festival-presale-food-header.js +11 -11
- package/dist/templates/email/festival-presale-jazz-header.js +11 -11
- package/dist/templates/email/festival-presale-street-header.js +11 -11
- package/dist/templates/email/gothic-header.js +9 -9
- package/dist/templates/email/halloween-header.js +9 -9
- package/dist/templates/email/header-launch.js +9 -9
- package/dist/templates/email/header-newsletter.js +9 -9
- package/dist/templates/email/header-sale.js +9 -9
- package/dist/templates/email/lunar-new-year-header.js +9 -9
- package/dist/templates/email/manuscript-chronicle-header.js +9 -9
- package/dist/templates/email/new-year-header.js +9 -9
- package/dist/templates/email/noir-header.js +9 -9
- package/dist/templates/email/psychedelic-header.js +9 -9
- package/dist/templates/email/riso-zine-changelog-header.js +9 -9
- package/dist/templates/email/saas-mail-changelog.js +11 -11
- package/dist/templates/email/saas-mail-day-one.js +10 -10
- package/dist/templates/email/saas-mail-day-three.js +10 -10
- package/dist/templates/email/saas-mail-launch.js +10 -10
- package/dist/templates/email/saas-mail-payment-failed.js +10 -10
- package/dist/templates/email/saas-mail-sign-in-code.js +10 -10
- package/dist/templates/email/saas-mail-trial-ending.js +10 -10
- package/dist/templates/email/saas-mail-waitlist.js +10 -10
- package/dist/templates/email/shared.js +6 -6
- package/dist/templates/email/singles-day-header.js +9 -9
- package/dist/templates/email/solarpunk-header.js +9 -9
- package/dist/templates/email/space-opera-header.js +9 -9
- package/dist/templates/email/spring-bloom-header.js +9 -9
- package/dist/templates/email/style-bento-header.js +9 -9
- package/dist/templates/email/style-brutalist-header.js +9 -9
- package/dist/templates/email/style-dark-header.js +9 -9
- package/dist/templates/email/style-data-header.js +9 -9
- package/dist/templates/email/style-editorial-header.js +9 -9
- package/dist/templates/email/style-glass-header.js +9 -9
- package/dist/templates/email/style-gradient-header.js +9 -9
- package/dist/templates/email/style-maximal-header.js +9 -9
- package/dist/templates/email/style-pastel-header.js +9 -9
- package/dist/templates/email/style-sketch-header.js +9 -9
- package/dist/templates/email/style-swiss-header.js +9 -9
- package/dist/templates/email/style-terminal-header.js +9 -9
- package/dist/templates/email/summer-heatwave-header.js +9 -9
- package/dist/templates/email/tour-tickets-june-header.js +9 -9
- package/dist/templates/email/tour-tickets-tide-header.js +9 -9
- package/dist/templates/email/tour-tickets-wreck-header.js +9 -9
- package/dist/templates/email/transit-map-service-update.js +9 -9
- package/dist/templates/email/ukiyo-e-greeting-header.js +9 -9
- package/dist/templates/email/valentines-header.js +9 -9
- package/dist/templates/email/winter-cosy-header.js +9 -9
- package/dist/templates/email/winter-holidays-header.js +9 -9
- package/dist/templates/game/blossom-bash-puzzle.js +9 -9
- package/dist/templates/game/deckbound-roguelike.js +9 -9
- package/dist/templates/game/emberfall-rpg.js +9 -9
- package/dist/templates/game/hearthmoor-farm.js +9 -9
- package/dist/templates/game/index.js +22 -22
- package/dist/templates/game/iron-lotus-fighter.js +9 -9
- package/dist/templates/game/ironroot-rts.js +9 -9
- package/dist/templates/game/mossy-hollow-platformer.js +11 -11
- package/dist/templates/game/neon-apex-racing.js +9 -9
- package/dist/templates/game/platformer.js +10 -10
- package/dist/templates/game/pulse-riot-rhythm.js +9 -9
- package/dist/templates/game/shared.js +6 -6
- package/dist/templates/game/sprout-quest-pixel-platformer.js +11 -11
- package/dist/templates/game/vanta-fps.js +9 -9
- package/dist/templates/index.js +840 -826
- package/dist/templates/index.json +340 -0
- package/dist/templates/kinetic/letters.js +8 -8
- package/dist/templates/kinetic/lines.js +8 -8
- package/dist/templates/kinetic/typewriter.js +8 -8
- package/dist/templates/kinetic/word-swap.js +8 -8
- package/dist/templates/kinetic/words.js +8 -8
- package/dist/templates/kit.js +5 -5
- package/dist/templates/libraries/audio-reactive.js +8 -8
- package/dist/templates/libraries/loaders.js +8 -8
- package/dist/templates/libraries/micro-interactions.js +8 -8
- package/dist/templates/libraries/motion-essentials.js +8 -8
- package/dist/templates/libraries/toasts.js +8 -8
- package/dist/templates/lottie/ai.js +9 -9
- package/dist/templates/lottie/climate.js +9 -9
- package/dist/templates/lottie/commerce.js +9 -9
- package/dist/templates/lottie/education.js +9 -9
- package/dist/templates/lottie/fintech.js +9 -9
- package/dist/templates/lottie/food.js +9 -9
- package/dist/templates/lottie/health.js +9 -9
- package/dist/templates/lottie/index.js +33 -33
- package/dist/templates/lottie/lottie-kit.js +8 -8
- package/dist/templates/lottie/realestate.js +9 -9
- package/dist/templates/lottie/saas-ui-checklist.js +10 -10
- package/dist/templates/lottie/saas-ui-dashboard-hero.js +10 -10
- package/dist/templates/lottie/saas-ui-empty-data.js +10 -10
- package/dist/templates/lottie/saas-ui-empty-search.js +10 -10
- package/dist/templates/lottie/saas-ui-error-retry.js +10 -10
- package/dist/templates/lottie/saas-ui-file-upload.js +10 -10
- package/dist/templates/lottie/saas-ui-streaming-answer.js +10 -10
- package/dist/templates/lottie/saas-ui-sync-connected.js +10 -10
- package/dist/templates/lottie/saas-ui-trial-timeline.js +10 -10
- package/dist/templates/lottie/saas-ui-upgrade-unlocked.js +10 -10
- package/dist/templates/lottie/saas-ui.js +20 -20
- package/dist/templates/lottie/saas.js +9 -9
- package/dist/templates/lottie/security.js +9 -9
- package/dist/templates/lottie/techniques.js +9 -9
- package/dist/templates/lottie/travel.js +9 -9
- package/dist/templates/motion/ambient-loop.js +8 -8
- package/dist/templates/motion/app-icon-sting.js +8 -8
- package/dist/templates/motion/april-fools-infomercial-reel.js +10 -10
- package/dist/templates/motion/arcade-high-score.js +8 -8
- package/dist/templates/motion/art-deco-grand-opening.js +8 -8
- package/dist/templates/motion/autumn-harvest-year-reel.js +8 -8
- package/dist/templates/motion/back-to-school-timetable-reel.js +8 -8
- package/dist/templates/motion/bauhaus-launch-reel.js +8 -8
- package/dist/templates/motion/black-friday-coupons-deal-reel.js +8 -8
- package/dist/templates/motion/black-friday-coupons-last-day.js +8 -8
- package/dist/templates/motion/black-friday-deal-drop.js +8 -8
- package/dist/templates/motion/black-friday-neon-deal-reel.js +8 -8
- package/dist/templates/motion/black-friday-neon-last-day.js +8 -8
- package/dist/templates/motion/black-friday-scratch-countdown.js +8 -8
- package/dist/templates/motion/black-friday-scratch-deal-reel.js +8 -8
- package/dist/templates/motion/black-friday-scratch-last-day.js +8 -8
- package/dist/templates/motion/black-friday-ticker-deal-drop.js +8 -8
- package/dist/templates/motion/black-friday-ticker-last-call.js +8 -8
- package/dist/templates/motion/blueprint-rev-b-reel.js +8 -8
- package/dist/templates/motion/broadsheet-launch-reel.js +8 -8
- package/dist/templates/motion/broadsheet-milestone-post.js +9 -9
- package/dist/templates/motion/claymation-launch-reel.js +8 -8
- package/dist/templates/motion/comic-book-issue-reel.js +8 -8
- package/dist/templates/motion/countdown.js +8 -8
- package/dist/templates/motion/cyberpunk-lock-on-reel.js +8 -8
- package/dist/templates/motion/departure-board-reel.js +8 -8
- package/dist/templates/motion/diwali-lamps-reel.js +8 -8
- package/dist/templates/motion/earth-day-footprint-reel.js +8 -8
- package/dist/templates/motion/earth-day-pledge-post.js +8 -8
- package/dist/templates/motion/festival-presale-electronic-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-electronic-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-electronic-reel.js +11 -11
- package/dist/templates/motion/festival-presale-electronic-tier.js +11 -11
- package/dist/templates/motion/festival-presale-family-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-family-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-family-reel.js +11 -11
- package/dist/templates/motion/festival-presale-family-tier.js +11 -11
- package/dist/templates/motion/festival-presale-folk-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-folk-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-folk-reel.js +11 -11
- package/dist/templates/motion/festival-presale-folk-tier.js +11 -11
- package/dist/templates/motion/festival-presale-food-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-food-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-food-reel.js +11 -11
- package/dist/templates/motion/festival-presale-food-tier.js +11 -11
- package/dist/templates/motion/festival-presale-jazz-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-jazz-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-jazz-reel.js +11 -11
- package/dist/templates/motion/festival-presale-jazz-tier.js +11 -11
- package/dist/templates/motion/festival-presale-street-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-street-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-street-reel.js +11 -11
- package/dist/templates/motion/festival-presale-street-tier.js +11 -11
- package/dist/templates/motion/gothic-launch-reel.js +8 -8
- package/dist/templates/motion/halloween-graveyard-reel.js +8 -8
- package/dist/templates/motion/instagram-promo.js +8 -8
- package/dist/templates/motion/kinetic-headline.js +8 -8
- package/dist/templates/motion/landing-hero/index.js +11 -11
- package/dist/templates/motion/launch-trailer/document.js +840 -826
- package/dist/templates/motion/launch-trailer/index.js +11 -11
- package/dist/templates/motion/launch-trailer/scenes.js +10 -10
- package/dist/templates/motion/logo-reveal.js +8 -8
- package/dist/templates/motion/lower-third.js +8 -8
- package/dist/templates/motion/lunar-new-year-envelope-reel.js +8 -8
- package/dist/templates/motion/machined-trailer.js +10 -10
- package/dist/templates/motion/manuscript-launch-reel.js +8 -8
- package/dist/templates/motion/new-year-ball-drop-reel.js +8 -8
- package/dist/templates/motion/noir-case-reel.js +8 -8
- package/dist/templates/motion/pitch-title.js +8 -8
- package/dist/templates/motion/psychedelic-gig-reel.js +8 -8
- package/dist/templates/motion/riso-zine-launch-reel.js +8 -8
- package/dist/templates/motion/saas-ai-prompt.js +8 -8
- package/dist/templates/motion/saas-before-after.js +8 -8
- package/dist/templates/motion/saas-changelog-drop.js +8 -8
- package/dist/templates/motion/saas-film-webinar-opener.js +8 -8
- package/dist/templates/motion/saas-hook-features.js +8 -8
- package/dist/templates/motion/saas-mrr-milestone.js +8 -8
- package/dist/templates/motion/saas-screen-demo.js +8 -8
- package/dist/templates/motion/saas-store-install-ad.js +9 -9
- package/dist/templates/motion/saas-testimonial.js +8 -8
- package/dist/templates/motion/saas-vs-comparison.js +8 -8
- package/dist/templates/motion/singles-day-flash-post.js +8 -8
- package/dist/templates/motion/singles-day-live-reel.js +8 -8
- package/dist/templates/motion/smooth-loop.js +8 -8
- package/dist/templates/motion/solarpunk-rooftop-reel.js +8 -8
- package/dist/templates/motion/space-opera-countdown-reel.js +8 -8
- package/dist/templates/motion/spring-bloom-first-hundred-post.js +8 -8
- package/dist/templates/motion/spring-bloom-first-shoots-reel.js +8 -8
- package/dist/templates/motion/stat-pop.js +8 -8
- package/dist/templates/motion/style-bento-feature-demo.js +8 -8
- package/dist/templates/motion/style-bento-launch-reel.js +8 -8
- package/dist/templates/motion/style-brutalist-feature-demo.js +8 -8
- package/dist/templates/motion/style-brutalist-launch-reel.js +8 -8
- package/dist/templates/motion/style-dark-feature-demo.js +8 -8
- package/dist/templates/motion/style-dark-launch-reel.js +8 -8
- package/dist/templates/motion/style-data-feature-demo.js +8 -8
- package/dist/templates/motion/style-data-launch-reel.js +8 -8
- package/dist/templates/motion/style-editorial-feature-demo.js +8 -8
- package/dist/templates/motion/style-editorial-launch-reel.js +8 -8
- package/dist/templates/motion/style-glass-feature-demo.js +8 -8
- package/dist/templates/motion/style-glass-launch-reel.js +8 -8
- package/dist/templates/motion/style-gradient-feature-demo.js +8 -8
- package/dist/templates/motion/style-gradient-launch-reel.js +8 -8
- package/dist/templates/motion/style-maximal-feature-demo.js +8 -8
- package/dist/templates/motion/style-maximal-launch-reel.js +8 -8
- package/dist/templates/motion/style-pastel-feature-demo.js +8 -8
- package/dist/templates/motion/style-pastel-launch-reel.js +8 -8
- package/dist/templates/motion/style-sketch-feature-demo.js +8 -8
- package/dist/templates/motion/style-sketch-launch-reel.js +8 -8
- package/dist/templates/motion/style-swiss-feature-demo.js +8 -8
- package/dist/templates/motion/style-swiss-launch-reel.js +8 -8
- package/dist/templates/motion/style-terminal-feature-demo.js +8 -8
- package/dist/templates/motion/style-terminal-launch-reel.js +8 -8
- package/dist/templates/motion/summer-heatwave-lido-reel.js +8 -8
- package/dist/templates/motion/template-wall.js +9 -9
- package/dist/templates/motion/title-card-3d.js +8 -8
- package/dist/templates/motion/tour-tickets-june-city.js +8 -8
- package/dist/templates/motion/tour-tickets-june-dates.js +8 -8
- package/dist/templates/motion/tour-tickets-june-final.js +8 -8
- package/dist/templates/motion/tour-tickets-june-reel.js +8 -8
- package/dist/templates/motion/tour-tickets-tide-city.js +8 -8
- package/dist/templates/motion/tour-tickets-tide-dates.js +8 -8
- package/dist/templates/motion/tour-tickets-tide-final.js +8 -8
- package/dist/templates/motion/tour-tickets-tide-reel.js +8 -8
- package/dist/templates/motion/tour-tickets-wreck-city.js +8 -8
- package/dist/templates/motion/tour-tickets-wreck-dates.js +8 -8
- package/dist/templates/motion/tour-tickets-wreck-final.js +8 -8
- package/dist/templates/motion/tour-tickets-wreck-reel.js +8 -8
- package/dist/templates/motion/transit-map-line-opening.js +8 -8
- package/dist/templates/motion/transit-map-milestone-post.js +8 -8
- package/dist/templates/motion/ukiyo-e-launch-reel.js +8 -8
- package/dist/templates/motion/valentines-breakup-reel.js +8 -8
- package/dist/templates/motion/vaporwave-launch-reel.js +9 -9
- package/dist/templates/motion/winter-cosy-heads-down-post.js +8 -8
- package/dist/templates/motion/winter-cosy-hibernation-reel.js +8 -8
- package/dist/templates/motion/winter-holidays-advent-reel.js +8 -8
- package/dist/templates/motion-qa.js +6 -6
- package/dist/templates/motion3d/app-store-preview.js +9 -9
- package/dist/templates/motion3d/before-after-swing.js +9 -9
- package/dist/templates/motion3d/burger-reveal.js +9 -9
- package/dist/templates/motion3d/coverflow.js +9 -9
- package/dist/templates/motion3d/exploded-ui.js +9 -9
- package/dist/templates/motion3d/feature-flip.js +9 -9
- package/dist/templates/motion3d/kinetic-reveal.js +9 -9
- package/dist/templates/motion3d/laptop-reveal.js +9 -9
- package/dist/templates/motion3d/logo-extrude.js +9 -9
- package/dist/templates/motion3d/parallax-cascade.js +9 -9
- package/dist/templates/motion3d/phone-orbit.js +9 -9
- package/dist/templates/motion3d/pricing-fan.js +9 -9
- package/dist/templates/motion3d/product-turntable.js +9 -9
- package/dist/templates/motion3d/saas-film-cinematic-trailer.js +10 -10
- package/dist/templates/motion3d/screen-wall.js +9 -9
- package/dist/templates/motion3d/stage.js +6 -6
- package/dist/templates/motion3d/vertical-promo.js +9 -9
- package/dist/templates/music/edm-drop.js +9 -9
- package/dist/templates/music/festival-lineup.js +9 -9
- package/dist/templates/music/hiphop-lyrics.js +9 -9
- package/dist/templates/music/indie-poster.js +9 -9
- package/dist/templates/music/lofi-loop.js +9 -9
- package/dist/templates/music/podcast-audiogram.js +9 -9
- package/dist/templates/music/shared.js +6 -6
- package/dist/templates/music/synthwave-tunnel.js +9 -9
- package/dist/templates/print/comic-hero-cascade.js +100 -0
- package/dist/templates/print/comic-hero-chase.js +100 -0
- package/dist/templates/print/comic-hero-cover-modern.js +100 -0
- package/dist/templates/print/comic-hero-grid-break.js +100 -0
- package/dist/templates/print/comic-hero-interrogation.js +100 -0
- package/dist/templates/print/comic-hero-issue.js +109 -0
- package/dist/templates/print/comic-hero-manga-action.js +100 -0
- package/dist/templates/print/comic-hero-nested.js +100 -0
- package/dist/templates/print/comic-hero-overlap.js +100 -0
- package/dist/templates/print/comic-hero-parallel.js +100 -0
- package/dist/templates/print/comic-hero-pinup.js +100 -0
- package/dist/templates/print/comic-hero-widescreen.js +100 -0
- package/dist/templates/print/comic-modern-action-slant.js +8 -8
- package/dist/templates/print/comic-modern-cover-pulp.js +8 -8
- package/dist/templates/print/comic-modern-flashback.js +8 -8
- package/dist/templates/print/comic-modern-issue.js +17 -17
- package/dist/templates/print/comic-modern-nine-grid.js +8 -8
- package/dist/templates/print/comic-modern-page-classic.js +8 -8
- package/dist/templates/print/comic-modern-polyptych.js +8 -8
- package/dist/templates/print/comic-modern-radial.js +8 -8
- package/dist/templates/print/comic-modern-splash.js +8 -8
- package/dist/templates/print/comic-modern-spread.js +8 -8
- package/dist/templates/print/everyday-save-the-date.js +8 -8
- package/dist/templates/print/everyday-specials-board.js +8 -8
- package/dist/templates/print/holidays-christmas-church-newsletter.js +8 -8
- package/dist/templates/print/holidays-christmas-eve-invitation.js +8 -8
- package/dist/templates/print/holidays-christmas-gift-tags.js +8 -8
- package/dist/templates/print/holidays-diwali-party-invitation.js +8 -8
- package/dist/templates/print/holidays-easter-activity-sheet.js +8 -8
- package/dist/templates/print/holidays-easter-egg-hunt-flyer.js +8 -8
- package/dist/templates/print/holidays-eid-dinner-invitation.js +8 -8
- package/dist/templates/print/holidays-eid-gift-tags.js +8 -8
- package/dist/templates/print/holidays-halloween-party-invitation.js +8 -8
- package/dist/templates/print/holidays-halloween-treat-labels.js +8 -8
- package/dist/templates/print/holidays-halloween-trunk-or-treat-poster.js +8 -8
- package/dist/templates/print/holidays-hanukkah-activity-sheet.js +8 -8
- package/dist/templates/print/holidays-hanukkah-party-invitation.js +8 -8
- package/dist/templates/print/holidays-lunar-new-year-banquet-menu.js +8 -8
- package/dist/templates/print/holidays-new-years-eve-poster.js +8 -8
- package/dist/templates/print/holidays-thanksgiving-dinner-menu.js +8 -8
- package/dist/templates/print/holidays-thanksgiving-place-cards.js +8 -8
- package/dist/templates/print/holidays-valentines-dinner-menu.js +8 -8
- package/dist/templates/print/printshop-booklet-open-day.js +9 -9
- package/dist/templates/print/printshop-brochure-community.js +9 -9
- package/dist/templates/print/printshop-brochure-dental.js +9 -9
- package/dist/templates/print/printshop-brochure-gym.js +9 -9
- package/dist/templates/print/printshop-brochure-landscaping.js +9 -9
- package/dist/templates/print/printshop-brochure-travel.js +9 -9
- package/dist/templates/print/printshop-card-architect.js +9 -9
- package/dist/templates/print/printshop-card-barber.js +9 -9
- package/dist/templates/print/printshop-card-cafe.js +9 -9
- package/dist/templates/print/printshop-card-developer.js +9 -9
- package/dist/templates/print/printshop-card-florist.js +9 -9
- package/dist/templates/print/printshop-card-lawyer.js +9 -9
- package/dist/templates/print/printshop-card-photographer.js +9 -9
- package/dist/templates/print/printshop-card-plumber.js +9 -9
- package/dist/templates/print/printshop-card-realtor.js +9 -9
- package/dist/templates/print/printshop-card-yoga.js +9 -9
- package/dist/templates/print/printshop-flyer-charity-run.js +9 -9
- package/dist/templates/print/printshop-flyer-farmers-market.js +9 -9
- package/dist/templates/print/printshop-flyer-garage-sale.js +9 -9
- package/dist/templates/print/printshop-flyer-grand-opening.js +9 -9
- package/dist/templates/print/printshop-flyer-lost-pet.js +9 -9
- package/dist/templates/print/printshop-flyer-tutoring.js +9 -9
- package/dist/templates/print/printshop-flyer-yard-work.js +9 -9
- package/dist/templates/print/printshop-poster-live-music.js +9 -9
- package/dist/templates/print/studio-class-timetable-poster.js +8 -8
- package/dist/templates/print/studio-portfolio-booklet.js +8 -8
- package/dist/templates/saas/email-decks-shared.js +9 -9
- package/dist/templates/saas/email-decks.js +21 -21
- package/dist/templates/saas/index.js +194 -194
- package/dist/templates/saas/launch-kit.js +17 -17
- package/dist/templates/saas/launch-video.js +16 -16
- package/dist/templates/saas/lottie-shared.js +9 -9
- package/dist/templates/saas/stores-shared.js +6 -6
- package/dist/templates/saas/stores.js +19 -19
- package/dist/templates/saas/style-bento.js +18 -18
- package/dist/templates/saas/style-brutalist.js +18 -18
- package/dist/templates/saas/style-dark.js +18 -18
- package/dist/templates/saas/style-data.js +18 -18
- package/dist/templates/saas/style-editorial.js +18 -18
- package/dist/templates/saas/style-glass.js +18 -18
- package/dist/templates/saas/style-gradient.js +18 -18
- package/dist/templates/saas/style-maximal.js +18 -18
- package/dist/templates/saas/style-pastel.js +18 -18
- package/dist/templates/saas/style-sketch.js +18 -18
- package/dist/templates/saas/style-swiss.js +18 -18
- package/dist/templates/saas/style-terminal.js +18 -18
- package/dist/templates/saas/video.js +16 -16
- package/dist/templates/saas/web.js +20 -20
- package/dist/templates/scenes/before-after.js +8 -8
- package/dist/templates/scenes/carousel-video.js +9 -9
- package/dist/templates/scenes/saas-film-app-preview.js +9 -9
- package/dist/templates/scenes/saas-film-bright-trailer.js +9 -9
- package/dist/templates/scenes/saas-film-product-hunt-launch.js +9 -9
- package/dist/templates/scenes/saas-film-youtube-demo-kit.js +9 -9
- package/dist/templates/scenes/shared.js +6 -6
- package/dist/templates/scenes/story-ad.js +9 -9
- package/dist/templates/scenes/story-bakery.js +9 -9
- package/dist/templates/scenes/story-fitness.js +9 -9
- package/dist/templates/scenes/story-hotel.js +9 -9
- package/dist/templates/scenes/transitions-pack.js +9 -9
- package/dist/templates/scenes/web-scroll.js +9 -9
- package/dist/templates/slides/agenda.js +9 -9
- package/dist/templates/slides/deck.js +8 -8
- package/dist/templates/slides/education.js +9 -9
- package/dist/templates/slides/launch.js +9 -9
- package/dist/templates/slides/layouts.js +9 -9
- package/dist/templates/slides/pitch.js +9 -9
- package/dist/templates/slides/report.js +9 -9
- package/dist/templates/slides/saas-mail-investor-update.js +10 -10
- package/dist/templates/slides/saas-mail-seed-pitch.js +10 -10
- package/dist/templates/slides/sales.js +9 -9
- package/dist/templates/slides/section-divider.js +9 -9
- package/dist/templates/slides/title-card.js +9 -9
- package/dist/templates/slides/training.js +9 -9
- package/dist/templates/slides/webinar.js +9 -9
- package/dist/templates/slideshow/adoption.js +10 -10
- package/dist/templates/slideshow/baby.js +10 -10
- package/dist/templates/slideshow/birthday.js +10 -10
- package/dist/templates/slideshow/graduation.js +10 -10
- package/dist/templates/slideshow/holiday.js +10 -10
- package/dist/templates/slideshow/home.js +10 -10
- package/dist/templates/slideshow/index.js +17 -17
- package/dist/templates/slideshow/lease.js +10 -10
- package/dist/templates/slideshow/memorial.js +10 -10
- package/dist/templates/slideshow/portfolio.js +10 -10
- package/dist/templates/slideshow/product.js +10 -10
- package/dist/templates/slideshow/recipe.js +10 -10
- package/dist/templates/slideshow/shared.js +9 -9
- package/dist/templates/slideshow/team.js +10 -10
- package/dist/templates/slideshow/travel.js +10 -10
- package/dist/templates/slideshow/wedding.js +10 -10
- package/dist/templates/slideshow/year.js +10 -10
- package/dist/templates/social/april-fools-link-preview.js +10 -10
- package/dist/templates/social/april-fools-price-slash-post.js +10 -10
- package/dist/templates/social/arcade-boss-fight.js +8 -8
- package/dist/templates/social/arcade-level-up.js +8 -8
- package/dist/templates/social/art-deco-link-preview.js +8 -8
- package/dist/templates/social/art-deco-premiere-post.js +8 -8
- package/dist/templates/social/autumn-harvest-link-preview.js +8 -8
- package/dist/templates/social/autumn-harvest-thanks-post.js +8 -8
- package/dist/templates/social/back-to-school-link-preview.js +8 -8
- package/dist/templates/social/back-to-school-report-card-post.js +8 -8
- package/dist/templates/social/bauhaus-drift-post.js +8 -8
- package/dist/templates/social/bauhaus-link-preview.js +8 -8
- package/dist/templates/social/bauhaus-pricing-post.js +8 -8
- package/dist/templates/social/black-friday-ads.js +8 -8
- package/dist/templates/social/black-friday-countdown.js +8 -8
- package/dist/templates/social/black-friday-coupons-ads.js +8 -8
- package/dist/templates/social/black-friday-coupons-countdown.js +8 -8
- package/dist/templates/social/black-friday-neon-ads.js +8 -8
- package/dist/templates/social/black-friday-neon-countdown.js +8 -8
- package/dist/templates/social/black-friday-scratch-ads.js +8 -8
- package/dist/templates/social/black-friday-ticker-ads.js +8 -8
- package/dist/templates/social/black-friday-ticker-countdown.js +8 -8
- package/dist/templates/social/blueprint-dimension-post.js +8 -8
- package/dist/templates/social/blueprint-link-preview.js +8 -8
- package/dist/templates/social/blueprint-parts-list-post.js +8 -8
- package/dist/templates/social/broadsheet-hiring-classifieds.js +8 -8
- package/dist/templates/social/broadsheet-link-preview.js +8 -8
- package/dist/templates/social/claymation-link-preview.js +8 -8
- package/dist/templates/social/claymation-streak-post.js +8 -8
- package/dist/templates/social/comic-book-cover-preview.js +8 -8
- package/dist/templates/social/comic-book-strip-post.js +8 -8
- package/dist/templates/social/cyberpunk-implant-post.js +8 -8
- package/dist/templates/social/cyberpunk-link-preview.js +8 -8
- package/dist/templates/social/departure-board-pass-ad.js +8 -8
- package/dist/templates/social/departure-board-store-set.js +8 -8
- package/dist/templates/social/departure-board-thanks-post.js +8 -8
- package/dist/templates/social/diwali-link-preview.js +8 -8
- package/dist/templates/social/diwali-thanks-post.js +8 -8
- package/dist/templates/social/earth-day-link-preview.js +8 -8
- package/dist/templates/social/everyday-save-the-date-post.js +8 -8
- package/dist/templates/social/festival-presale-electronic-ads.js +11 -11
- package/dist/templates/social/festival-presale-family-ads.js +11 -11
- package/dist/templates/social/festival-presale-folk-ads.js +11 -11
- package/dist/templates/social/festival-presale-food-ads.js +11 -11
- package/dist/templates/social/festival-presale-jazz-ads.js +11 -11
- package/dist/templates/social/festival-presale-street-ads.js +11 -11
- package/dist/templates/social/gothic-feature-post.js +8 -8
- package/dist/templates/social/gothic-link-preview.js +8 -8
- package/dist/templates/social/halloween-link-preview.js +8 -8
- package/dist/templates/social/halloween-offer-post.js +8 -8
- package/dist/templates/social/holidays-diwali-sweet-shop-post.js +8 -8
- package/dist/templates/social/holidays-lunar-new-year-bakery-post.js +8 -8
- package/dist/templates/social/holidays-new-years-eve-shop-hours.js +8 -8
- package/dist/templates/social/holidays-thanksgiving-pie-orders-post.js +8 -8
- package/dist/templates/social/holidays-valentines-florist-post.js +8 -8
- package/dist/templates/social/lunar-new-year-greeting-post.js +8 -8
- package/dist/templates/social/lunar-new-year-link-preview.js +8 -8
- package/dist/templates/social/machined-link-preview.js +10 -10
- package/dist/templates/social/machined-plate-post.js +10 -10
- package/dist/templates/social/manuscript-chapter-post.js +8 -8
- package/dist/templates/social/manuscript-link-preview.js +8 -8
- package/dist/templates/social/new-year-link-preview.js +8 -8
- package/dist/templates/social/new-year-resolutions-post.js +8 -8
- package/dist/templates/social/noir-case-file.js +8 -8
- package/dist/templates/social/noir-feature-post.js +8 -8
- package/dist/templates/social/post-announcement.js +8 -8
- package/dist/templates/social/post-event.js +8 -8
- package/dist/templates/social/post-podcast.js +8 -8
- package/dist/templates/social/post-quote.js +8 -8
- package/dist/templates/social/post-sale.js +8 -8
- package/dist/templates/social/post-stat.js +8 -8
- package/dist/templates/social/post-testimonial.js +8 -8
- package/dist/templates/social/promo-announcement.js +8 -8
- package/dist/templates/social/promo-beat-drop.js +8 -8
- package/dist/templates/social/promo-event.js +8 -8
- package/dist/templates/social/promo-new-product.js +8 -8
- package/dist/templates/social/promo-quote-reveal.js +8 -8
- package/dist/templates/social/promo-sale-drop.js +8 -8
- package/dist/templates/social/promo-tip-list.js +8 -8
- package/dist/templates/social/psychedelic-lineup-post.js +8 -8
- package/dist/templates/social/psychedelic-link-preview.js +8 -8
- package/dist/templates/social/riso-zine-link-preview.js +8 -8
- package/dist/templates/social/riso-zine-mrr-poster.js +8 -8
- package/dist/templates/social/saas-kit-carousel.js +8 -8
- package/dist/templates/social/saas-kit-countdown-post.js +8 -8
- package/dist/templates/social/saas-kit-feature-drop.js +8 -8
- package/dist/templates/social/saas-kit-link-preview.js +8 -8
- package/dist/templates/social/saas-kit-live-post.js +8 -8
- package/dist/templates/social/saas-kit-mrr-card.js +8 -8
- package/dist/templates/social/saas-kit-ph-gallery.js +8 -8
- package/dist/templates/social/saas-kit-ph-thumb.js +8 -8
- package/dist/templates/social/saas-kit-youtube-thumbs.js +8 -8
- package/dist/templates/social/saas-store-b2b-ads.js +9 -9
- package/dist/templates/social/saas-store-caption-set.js +9 -9
- package/dist/templates/social/saas-store-chrome-kit.js +9 -9
- package/dist/templates/social/saas-store-ipad-set.js +9 -9
- package/dist/templates/social/saas-store-panorama.js +10 -10
- package/dist/templates/social/saas-store-play-kit.js +8 -8
- package/dist/templates/social/saas-store-story.js +9 -9
- package/dist/templates/social/singles-day-link-preview.js +8 -8
- package/dist/templates/social/solarpunk-impact-post.js +8 -8
- package/dist/templates/social/solarpunk-link-preview.js +8 -8
- package/dist/templates/social/space-opera-link-preview.js +8 -8
- package/dist/templates/social/space-opera-mission-patch-post.js +8 -8
- package/dist/templates/social/spring-bloom-link-preview.js +8 -8
- package/dist/templates/social/studio-class-timetable.js +8 -8
- package/dist/templates/social/studio-podcast-cover.js +8 -8
- package/dist/templates/social/style-bento-announcement.js +8 -8
- package/dist/templates/social/style-bento-link-preview.js +8 -8
- package/dist/templates/social/style-bento-milestone.js +8 -8
- package/dist/templates/social/style-bento-testimonial.js +8 -8
- package/dist/templates/social/style-brutalist-announcement.js +8 -8
- package/dist/templates/social/style-brutalist-link-preview.js +8 -8
- package/dist/templates/social/style-brutalist-milestone.js +8 -8
- package/dist/templates/social/style-brutalist-testimonial.js +8 -8
- package/dist/templates/social/style-dark-announcement.js +8 -8
- package/dist/templates/social/style-dark-link-preview.js +8 -8
- package/dist/templates/social/style-dark-milestone.js +8 -8
- package/dist/templates/social/style-dark-testimonial.js +8 -8
- package/dist/templates/social/style-data-announcement.js +8 -8
- package/dist/templates/social/style-data-link-preview.js +8 -8
- package/dist/templates/social/style-data-milestone.js +8 -8
- package/dist/templates/social/style-data-testimonial.js +8 -8
- package/dist/templates/social/style-editorial-announcement.js +8 -8
- package/dist/templates/social/style-editorial-link-preview.js +8 -8
- package/dist/templates/social/style-editorial-milestone.js +8 -8
- package/dist/templates/social/style-editorial-testimonial.js +8 -8
- package/dist/templates/social/style-glass-announcement.js +8 -8
- package/dist/templates/social/style-glass-link-preview.js +8 -8
- package/dist/templates/social/style-glass-milestone.js +8 -8
- package/dist/templates/social/style-glass-testimonial.js +8 -8
- package/dist/templates/social/style-gradient-announcement.js +8 -8
- package/dist/templates/social/style-gradient-link-preview.js +8 -8
- package/dist/templates/social/style-gradient-milestone.js +8 -8
- package/dist/templates/social/style-gradient-testimonial.js +8 -8
- package/dist/templates/social/style-maximal-announcement.js +8 -8
- package/dist/templates/social/style-maximal-link-preview.js +8 -8
- package/dist/templates/social/style-maximal-milestone.js +8 -8
- package/dist/templates/social/style-maximal-testimonial.js +8 -8
- package/dist/templates/social/style-pastel-announcement.js +8 -8
- package/dist/templates/social/style-pastel-link-preview.js +8 -8
- package/dist/templates/social/style-pastel-milestone.js +8 -8
- package/dist/templates/social/style-pastel-testimonial.js +8 -8
- package/dist/templates/social/style-sketch-announcement.js +8 -8
- package/dist/templates/social/style-sketch-link-preview.js +8 -8
- package/dist/templates/social/style-sketch-milestone.js +8 -8
- package/dist/templates/social/style-sketch-testimonial.js +8 -8
- package/dist/templates/social/style-swiss-announcement.js +8 -8
- package/dist/templates/social/style-swiss-link-preview.js +8 -8
- package/dist/templates/social/style-swiss-milestone.js +8 -8
- package/dist/templates/social/style-swiss-testimonial.js +8 -8
- package/dist/templates/social/style-terminal-announcement.js +8 -8
- package/dist/templates/social/style-terminal-link-preview.js +8 -8
- package/dist/templates/social/style-terminal-milestone.js +8 -8
- package/dist/templates/social/style-terminal-testimonial.js +8 -8
- package/dist/templates/social/summer-heatwave-link-preview.js +8 -8
- package/dist/templates/social/summer-heatwave-lolly-post.js +8 -8
- package/dist/templates/social/tour-tickets-june-ads.js +8 -8
- package/dist/templates/social/tour-tickets-tide-ads.js +8 -8
- package/dist/templates/social/tour-tickets-wreck-ads.js +8 -8
- package/dist/templates/social/transit-map-link-preview.js +8 -8
- package/dist/templates/social/ukiyo-e-link-preview.js +8 -8
- package/dist/templates/social/ukiyo-e-spike-post.js +8 -8
- package/dist/templates/social/valentines-link-preview.js +8 -8
- package/dist/templates/social/valentines-poem-post.js +8 -8
- package/dist/templates/social/vaporwave-feature-drop.js +8 -8
- package/dist/templates/social/vaporwave-link-preview.js +8 -8
- package/dist/templates/social/winter-cosy-link-preview.js +8 -8
- package/dist/templates/social/winter-holidays-link-preview.js +8 -8
- package/dist/templates/social/winter-holidays-thanks-post.js +8 -8
- package/dist/templates/stings/line-reveal.js +8 -8
- package/dist/templates/stings/sting-blur.js +8 -8
- package/dist/templates/stings/sting-pop.js +8 -8
- package/dist/templates/stings/sting-rise.js +8 -8
- package/dist/templates/stings/sting-shimmer.js +8 -8
- package/dist/templates/stings/word-swap.js +8 -8
- package/dist/templates/text/stat-counter.js +8 -8
- package/dist/templates/text/word-quote.js +8 -8
- package/dist/templates/themes/april-fools-shared.js +7 -7
- package/dist/templates/themes/april-fools.js +15 -15
- package/dist/templates/themes/arcade.js +12 -12
- package/dist/templates/themes/art-deco.js +14 -14
- package/dist/templates/themes/autumn-harvest.js +14 -14
- package/dist/templates/themes/back-to-school.js +14 -14
- package/dist/templates/themes/bauhaus.js +13 -13
- package/dist/templates/themes/black-friday-coupons.js +15 -15
- package/dist/templates/themes/black-friday-neon.js +15 -15
- package/dist/templates/themes/black-friday-scratch.js +15 -15
- package/dist/templates/themes/black-friday-ticker.js +15 -15
- package/dist/templates/themes/black-friday.js +14 -14
- package/dist/templates/themes/blueprint.js +13 -13
- package/dist/templates/themes/broadsheet.js +15 -15
- package/dist/templates/themes/claymation.js +14 -14
- package/dist/templates/themes/comic-book.js +22 -22
- package/dist/templates/themes/comic-hero-art.js +20 -0
- package/dist/templates/themes/comic-hero-page.js +67 -0
- package/dist/templates/themes/comic-hero.js +97 -1
- package/dist/templates/themes/comic-indie.js +8 -8
- package/dist/templates/themes/cyberpunk.js +14 -14
- package/dist/templates/themes/departure-board.js +13 -13
- package/dist/templates/themes/diwali.js +14 -14
- package/dist/templates/themes/earth-day.js +14 -14
- package/dist/templates/themes/everyday.js +15 -15
- package/dist/templates/themes/festival-presale-electronic-kit.js +10 -10
- package/dist/templates/themes/festival-presale-family-a-shared.js +9 -9
- package/dist/templates/themes/festival-presale-family-a.js +34 -34
- package/dist/templates/themes/festival-presale-family-b-shared.js +9 -9
- package/dist/templates/themes/festival-presale-family-b.js +34 -34
- package/dist/templates/themes/festival-presale-family-kit.js +10 -10
- package/dist/templates/themes/festival-presale-folk-kit.js +10 -10
- package/dist/templates/themes/festival-presale-food-kit.js +10 -10
- package/dist/templates/themes/festival-presale-jazz-kit.js +10 -10
- package/dist/templates/themes/festival-presale-street-kit.js +10 -10
- package/dist/templates/themes/festival-presale.js +14 -14
- package/dist/templates/themes/gothic.js +14 -14
- package/dist/templates/themes/halloween.js +14 -14
- package/dist/templates/themes/holidays.js +31 -31
- package/dist/templates/themes/index.js +434 -420
- package/dist/templates/themes/lunar-new-year.js +14 -14
- package/dist/templates/themes/machined-shared.js +7 -7
- package/dist/templates/themes/machined.js +14 -14
- package/dist/templates/themes/manuscript.js +14 -14
- package/dist/templates/themes/memories.js +18 -18
- package/dist/templates/themes/new-year.js +14 -14
- package/dist/templates/themes/noir.js +14 -14
- package/dist/templates/themes/printshop-shared.js +6 -6
- package/dist/templates/themes/printshop.js +33 -33
- package/dist/templates/themes/psychedelic.js +14 -14
- package/dist/templates/themes/riso-zine.js +14 -14
- package/dist/templates/themes/singles-day.js +14 -14
- package/dist/templates/themes/solarpunk.js +14 -14
- package/dist/templates/themes/space-opera.js +14 -14
- package/dist/templates/themes/spring-bloom.js +14 -14
- package/dist/templates/themes/studio.js +13 -13
- package/dist/templates/themes/summer-heatwave.js +14 -14
- package/dist/templates/themes/tour-tickets.js +33 -33
- package/dist/templates/themes/transit-map.js +14 -14
- package/dist/templates/themes/ukiyo-e.js +14 -14
- package/dist/templates/themes/valentines.js +14 -14
- package/dist/templates/themes/vaporwave.js +13 -13
- package/dist/templates/themes/winter-cosy.js +14 -14
- package/dist/templates/themes/winter-holidays.js +14 -14
- package/dist/templates/video/youtube-chapter.js +8 -8
- package/dist/templates/video/youtube-end-screen.js +8 -8
- package/dist/templates/video/youtube-intro.js +8 -8
- package/dist/templates/video/youtube-subscribe.js +8 -8
- package/dist/templates/web/app-ui.js +7 -7
- package/dist/templates/web/april-fools-landing.js +10 -10
- package/dist/templates/web/arcade-landing.js +8 -8
- package/dist/templates/web/art-deco-landing.js +8 -8
- package/dist/templates/web/autumn-harvest-landing.js +8 -8
- package/dist/templates/web/back-to-school-landing.js +8 -8
- package/dist/templates/web/bauhaus-landing.js +8 -8
- package/dist/templates/web/black-friday-coupons-landing.js +8 -8
- package/dist/templates/web/black-friday-landing.js +8 -8
- package/dist/templates/web/black-friday-neon-landing.js +8 -8
- package/dist/templates/web/black-friday-scratch-landing.js +8 -8
- package/dist/templates/web/black-friday-ticker-landing.js +8 -8
- package/dist/templates/web/blog-post.js +8 -8
- package/dist/templates/web/blueprint-landing.js +8 -8
- package/dist/templates/web/broadsheet-landing.js +8 -8
- package/dist/templates/web/claymation-landing.js +8 -8
- package/dist/templates/web/comic-book-landing.js +8 -8
- package/dist/templates/web/coming-soon-page.js +9 -9
- package/dist/templates/web/coming-soon.js +8 -8
- package/dist/templates/web/contact.js +9 -9
- package/dist/templates/web/cyberpunk-landing.js +8 -8
- package/dist/templates/web/daybreak-app.js +10 -10
- package/dist/templates/web/departure-board-download.js +8 -8
- package/dist/templates/web/diwali-landing.js +8 -8
- package/dist/templates/web/earth-day-landing.js +8 -8
- package/dist/templates/web/everyday-cafe.js +8 -8
- package/dist/templates/web/everyday-hotel.js +8 -8
- package/dist/templates/web/everyday-wedding.js +9 -9
- package/dist/templates/web/festival-presale-electronic.js +8 -8
- package/dist/templates/web/festival-presale-family.js +8 -8
- package/dist/templates/web/festival-presale-folk.js +8 -8
- package/dist/templates/web/festival-presale-food.js +8 -8
- package/dist/templates/web/festival-presale-jazz.js +8 -8
- package/dist/templates/web/festival-presale-street.js +8 -8
- package/dist/templates/web/forms.js +6 -6
- package/dist/templates/web/gothic-landing.js +8 -8
- package/dist/templates/web/halloween-landing.js +8 -8
- package/dist/templates/web/hero-animated.js +8 -8
- package/dist/templates/web/kindling-app.js +10 -10
- package/dist/templates/web/launch-waitlist.js +9 -9
- package/dist/templates/web/lunar-new-year-landing.js +8 -8
- package/dist/templates/web/machined-hero.js +10 -10
- package/dist/templates/web/manuscript-landing.js +8 -8
- package/dist/templates/web/marginalia-app.js +10 -10
- package/dist/templates/web/new-year-landing.js +8 -8
- package/dist/templates/web/noir-landing.js +8 -8
- package/dist/templates/web/page-404.js +8 -8
- package/dist/templates/web/portfolio-architect.js +9 -9
- package/dist/templates/web/portfolio-card-deck.js +9 -9
- package/dist/templates/web/portfolio-case-folio.js +9 -9
- package/dist/templates/web/portfolio-cube-gallery.js +9 -9
- package/dist/templates/web/portfolio-depth-tunnel.js +9 -9
- package/dist/templates/web/portfolio-editorial.js +9 -9
- package/dist/templates/web/portfolio-flip-wall.js +9 -9
- package/dist/templates/web/portfolio-index-list.js +9 -9
- package/dist/templates/web/portfolio-photographer.js +9 -9
- package/dist/templates/web/portfolio-reel-carousel.js +9 -9
- package/dist/templates/web/portfolio-shared.js +6 -6
- package/dist/templates/web/portfolio-sketchbook.js +9 -9
- package/dist/templates/web/portfolio-studio-grid.js +9 -9
- package/dist/templates/web/portfolio.js +8 -8
- package/dist/templates/web/portfolios.js +21 -21
- package/dist/templates/web/potluck-app.js +10 -10
- package/dist/templates/web/pricing-toggle.js +8 -8
- package/dist/templates/web/product-page.js +8 -8
- package/dist/templates/web/psychedelic-landing.js +8 -8
- package/dist/templates/web/riso-zine-landing.js +8 -8
- package/dist/templates/web/rsvp-invite.js +9 -9
- package/dist/templates/web/saas-ai-landing.js +8 -8
- package/dist/templates/web/saas-app-download.js +8 -8
- package/dist/templates/web/saas-case-study.js +8 -8
- package/dist/templates/web/saas-changelog.js +8 -8
- package/dist/templates/web/saas-comparison.js +8 -8
- package/dist/templates/web/saas-data-landing.js +8 -8
- package/dist/templates/web/saas-dev-landing.js +8 -8
- package/dist/templates/web/saas-indie-landing.js +8 -8
- package/dist/templates/web/saas-integrations.js +8 -8
- package/dist/templates/web/saas-security.js +8 -8
- package/dist/templates/web/saas-signup.js +8 -8
- package/dist/templates/web/saas-waitlist.js +8 -8
- package/dist/templates/web/saffron-app.js +10 -10
- package/dist/templates/web/shop-bloom.js +10 -10
- package/dist/templates/web/shop-circuit.js +10 -10
- package/dist/templates/web/shop-fieldwork.js +10 -10
- package/dist/templates/web/shop-greenhouse.js +10 -10
- package/dist/templates/web/shop-kiln.js +10 -10
- package/dist/templates/web/shop-marginalia.js +10 -10
- package/dist/templates/web/shop-ode.js +10 -10
- package/dist/templates/web/shop-shared.js +7 -7
- package/dist/templates/web/shop-static.js +10 -10
- package/dist/templates/web/shop-summit.js +10 -10
- package/dist/templates/web/shops.js +19 -19
- package/dist/templates/web/singles-day-landing.js +8 -8
- package/dist/templates/web/solarpunk-landing.js +8 -8
- package/dist/templates/web/space-opera-landing.js +8 -8
- package/dist/templates/web/spring-bloom-landing.js +8 -8
- package/dist/templates/web/studio-careers.js +8 -8
- package/dist/templates/web/style-bento-landing.js +8 -8
- package/dist/templates/web/style-bento-pricing.js +8 -8
- package/dist/templates/web/style-brutalist-landing.js +8 -8
- package/dist/templates/web/style-brutalist-pricing.js +8 -8
- package/dist/templates/web/style-dark-landing.js +8 -8
- package/dist/templates/web/style-dark-pricing.js +8 -8
- package/dist/templates/web/style-data-landing.js +8 -8
- package/dist/templates/web/style-data-pricing.js +8 -8
- package/dist/templates/web/style-editorial-landing.js +8 -8
- package/dist/templates/web/style-editorial-pricing.js +8 -8
- package/dist/templates/web/style-glass-landing.js +8 -8
- package/dist/templates/web/style-glass-pricing.js +8 -8
- package/dist/templates/web/style-gradient-landing.js +8 -8
- package/dist/templates/web/style-gradient-pricing.js +8 -8
- package/dist/templates/web/style-maximal-landing.js +8 -8
- package/dist/templates/web/style-maximal-pricing.js +8 -8
- package/dist/templates/web/style-pastel-landing.js +8 -8
- package/dist/templates/web/style-pastel-pricing.js +8 -8
- package/dist/templates/web/style-sketch-landing.js +8 -8
- package/dist/templates/web/style-sketch-pricing.js +8 -8
- package/dist/templates/web/style-swiss-landing.js +8 -8
- package/dist/templates/web/style-swiss-pricing.js +8 -8
- package/dist/templates/web/style-terminal-landing.js +8 -8
- package/dist/templates/web/style-terminal-pricing.js +8 -8
- package/dist/templates/web/summer-heatwave-landing.js +8 -8
- package/dist/templates/web/tempo-app.js +10 -10
- package/dist/templates/web/tour-tickets-june-landing.js +8 -8
- package/dist/templates/web/tour-tickets-tide-landing.js +8 -8
- package/dist/templates/web/tour-tickets-wreck-landing.js +8 -8
- package/dist/templates/web/transit-map-landing.js +8 -8
- package/dist/templates/web/ukiyo-e-landing.js +8 -8
- package/dist/templates/web/valentines-landing.js +8 -8
- package/dist/templates/web/vaporwave-landing.js +8 -8
- package/dist/templates/web/wayfarer-app.js +10 -10
- package/dist/templates/web/winter-cosy-landing.js +8 -8
- package/dist/templates/web/winter-holidays-landing.js +8 -8
- package/package.json +1 -1
- package/src/templates/print/comic-hero-cascade.ts +42 -0
- package/src/templates/print/comic-hero-chase.ts +42 -0
- package/src/templates/print/comic-hero-cover-modern.ts +34 -0
- package/src/templates/print/comic-hero-grid-break.ts +39 -0
- package/src/templates/print/comic-hero-interrogation.ts +41 -0
- package/src/templates/print/comic-hero-issue.ts +44 -0
- package/src/templates/print/comic-hero-manga-action.ts +38 -0
- package/src/templates/print/comic-hero-nested.ts +39 -0
- package/src/templates/print/comic-hero-overlap.ts +40 -0
- package/src/templates/print/comic-hero-parallel.ts +40 -0
- package/src/templates/print/comic-hero-pinup.ts +29 -0
- package/src/templates/print/comic-hero-widescreen.ts +35 -0
- package/src/templates/themes/comic-hero-art.ts +66 -0
- package/src/templates/themes/comic-hero-page.ts +326 -0
- package/src/templates/themes/comic-hero.ts +15 -2
- package/src/templates/themes/comic-indie.ts +51 -6
- package/types/templates/src/print/comic-hero-cascade.d.ts +5 -0
- package/types/templates/src/print/comic-hero-chase.d.ts +5 -0
- package/types/templates/src/print/comic-hero-cover-modern.d.ts +5 -0
- package/types/templates/src/print/comic-hero-grid-break.d.ts +5 -0
- package/types/templates/src/print/comic-hero-interrogation.d.ts +5 -0
- package/types/templates/src/print/comic-hero-issue.d.ts +2 -0
- package/types/templates/src/print/comic-hero-manga-action.d.ts +5 -0
- package/types/templates/src/print/comic-hero-nested.d.ts +5 -0
- package/types/templates/src/print/comic-hero-overlap.d.ts +5 -0
- package/types/templates/src/print/comic-hero-parallel.d.ts +5 -0
- package/types/templates/src/print/comic-hero-pinup.d.ts +5 -0
- package/types/templates/src/print/comic-hero-widescreen.d.ts +5 -0
- package/types/templates/src/themes/comic-hero-art.d.ts +318 -0
- package/types/templates/src/themes/comic-hero-page.d.ts +177 -0
- package/dist/chunks/agent-I67C3L25.js +0 -44
- package/dist/chunks/api-XSKQO3D7.js +0 -29
- package/dist/chunks/build-MXLGAHTQ.js +0 -59
- package/dist/chunks/builtin-FVINDQGX.js +0 -115
- package/dist/chunks/check-template-OT4C3B3V.js +0 -2277
- package/dist/chunks/chunk-22ALSAUF.js +0 -320
- package/dist/chunks/chunk-22BD4G3N.js +0 -23
- package/dist/chunks/chunk-255JUHQN.js +0 -738
- package/dist/chunks/chunk-26NYEW7U.js +0 -206
- package/dist/chunks/chunk-26TKS4S5.js +0 -94
- package/dist/chunks/chunk-272AJ6UC.js +0 -177
- package/dist/chunks/chunk-2AHLXHUM.js +0 -47
- package/dist/chunks/chunk-2AMD2WSX.js +0 -104
- package/dist/chunks/chunk-2B7LNTA5.js +0 -170
- package/dist/chunks/chunk-2DPZ5Z5H.js +0 -60
- package/dist/chunks/chunk-2FDNFAJ3.js +0 -170
- package/dist/chunks/chunk-2FGNJ4RL.js +0 -75
- package/dist/chunks/chunk-2GHHXYWJ.js +0 -187
- package/dist/chunks/chunk-2HR2MOFY.js +0 -88
- package/dist/chunks/chunk-2IOAJTVY.js +0 -89
- package/dist/chunks/chunk-2JLOWPDO.js +0 -255
- package/dist/chunks/chunk-2KLLLGJV.js +0 -60
- package/dist/chunks/chunk-2M3C7SJI.js +0 -147
- package/dist/chunks/chunk-2NDC42O2.js +0 -122
- package/dist/chunks/chunk-2O56UAP2.js +0 -73
- package/dist/chunks/chunk-2PYGZUEN.js +0 -232
- package/dist/chunks/chunk-2QSR37YI.js +0 -173
- package/dist/chunks/chunk-2UNKDIN3.js +0 -93
- package/dist/chunks/chunk-2YQ5O73Q.js +0 -224
- package/dist/chunks/chunk-2YVC6XTZ.js +0 -47
- package/dist/chunks/chunk-2ZLV775A.js +0 -298
- package/dist/chunks/chunk-2ZMOXL2T.js +0 -206
- package/dist/chunks/chunk-32DIQSFW.js +0 -102
- package/dist/chunks/chunk-32YK2WKX.js +0 -121
- package/dist/chunks/chunk-33BBMYOA.js +0 -196
- package/dist/chunks/chunk-36NHEW4G.js +0 -62
- package/dist/chunks/chunk-36OMZN2K.js +0 -139
- package/dist/chunks/chunk-37EN4AN6.js +0 -115
- package/dist/chunks/chunk-3BEYE2JO.js +0 -106
- package/dist/chunks/chunk-3E6KGWGF.js +0 -183
- package/dist/chunks/chunk-3EHNPIQT.js +0 -97
- package/dist/chunks/chunk-3ERQONC4.js +0 -152
- package/dist/chunks/chunk-3GROBTLG.js +0 -169
- package/dist/chunks/chunk-3HS2BHRT.js +0 -97
- package/dist/chunks/chunk-3KWUH3R3.js +0 -198
- package/dist/chunks/chunk-3LUFEE5M.js +0 -45
- package/dist/chunks/chunk-3MEQKW6I.js +0 -95
- package/dist/chunks/chunk-3NK4DDCZ.js +0 -215
- package/dist/chunks/chunk-3QCZYXZZ.js +0 -94
- package/dist/chunks/chunk-3QE57IDQ.js +0 -77
- package/dist/chunks/chunk-3QM22WL7.js +0 -49
- package/dist/chunks/chunk-3QQJIOTB.js +0 -262
- package/dist/chunks/chunk-3QRHKZKU.js +0 -497
- package/dist/chunks/chunk-3RT3CFL5.js +0 -195
- package/dist/chunks/chunk-3SFUI5UE.js +0 -36
- package/dist/chunks/chunk-3UWNAE5R.js +0 -209
- package/dist/chunks/chunk-3Y3BXWHH.js +0 -78
- package/dist/chunks/chunk-3YWQKJBC.js +0 -415
- package/dist/chunks/chunk-3YX4MMBD.js +0 -235
- package/dist/chunks/chunk-3ZY43WNP.js +0 -140
- package/dist/chunks/chunk-43AOMJX6.js +0 -396
- package/dist/chunks/chunk-44IVI5DJ.js +0 -326
- package/dist/chunks/chunk-45QICAHN.js +0 -180
- package/dist/chunks/chunk-4BPKUDBB.js +0 -129
- package/dist/chunks/chunk-4CYGEWXL.js +0 -23
- package/dist/chunks/chunk-4EPTPP5E.js +0 -93
- package/dist/chunks/chunk-4FDG4732.js +0 -225
- package/dist/chunks/chunk-4KAZVZFI.js +0 -174
- package/dist/chunks/chunk-4KJ6JXKZ.js +0 -95
- package/dist/chunks/chunk-4MKU3YJW.js +0 -278
- package/dist/chunks/chunk-4N7IKZHK.js +0 -79
- package/dist/chunks/chunk-4Q6IPKHH.js +0 -100
- package/dist/chunks/chunk-4UDU3LKV.js +0 -23
- package/dist/chunks/chunk-4VK6BP4B.js +0 -86
- package/dist/chunks/chunk-4WCN2SFF.js +0 -187
- package/dist/chunks/chunk-4WH454OB.js +0 -240
- package/dist/chunks/chunk-4XUDD2QY.js +0 -105
- package/dist/chunks/chunk-4XVLYGW4.js +0 -23
- package/dist/chunks/chunk-4ZCPJJVW.js +0 -94
- package/dist/chunks/chunk-4ZKXZRDC.js +0 -176
- package/dist/chunks/chunk-4ZWVLNWJ.js +0 -126
- package/dist/chunks/chunk-54SYFOSU.js +0 -120
- package/dist/chunks/chunk-56TDYGPU.js +0 -120
- package/dist/chunks/chunk-572QBW5I.js +0 -43
- package/dist/chunks/chunk-57BPIIH2.js +0 -607
- package/dist/chunks/chunk-5A3PRCRQ.js +0 -44
- package/dist/chunks/chunk-5ARBBS5L.js +0 -263
- package/dist/chunks/chunk-5BZFDLJ4.js +0 -100
- package/dist/chunks/chunk-5CK5HD6C.js +0 -283
- package/dist/chunks/chunk-5EDFBGOY.js +0 -33
- package/dist/chunks/chunk-5F36HTT3.js +0 -199
- package/dist/chunks/chunk-5HE7FX36.js +0 -66
- package/dist/chunks/chunk-5IPYX6VN.js +0 -165
- package/dist/chunks/chunk-5J4HX34C.js +0 -146
- package/dist/chunks/chunk-5K22XDQY.js +0 -115
- package/dist/chunks/chunk-5LX67OGK.js +0 -108
- package/dist/chunks/chunk-5P6B4D7H.js +0 -140
- package/dist/chunks/chunk-5QX572FE.js +0 -260
- package/dist/chunks/chunk-5RRLWHRR.js +0 -170
- package/dist/chunks/chunk-5UKXMYXO.js +0 -149
- package/dist/chunks/chunk-5WGLK2H5.js +0 -138
- package/dist/chunks/chunk-5X4YUKC4.js +0 -139
- package/dist/chunks/chunk-5XX3DRCS.js +0 -109
- package/dist/chunks/chunk-5ZDMK5WM.js +0 -284
- package/dist/chunks/chunk-5ZXGYEXW.js +0 -244
- package/dist/chunks/chunk-62LXN5HJ.js +0 -217
- package/dist/chunks/chunk-62MCZLXS.js +0 -70
- package/dist/chunks/chunk-63QVET22.js +0 -399
- package/dist/chunks/chunk-65NQ7TUS.js +0 -49
- package/dist/chunks/chunk-67G5BJT6.js +0 -33
- package/dist/chunks/chunk-6A74VDRQ.js +0 -55
- package/dist/chunks/chunk-6AB5B2ZJ.js +0 -1403
- package/dist/chunks/chunk-6AEB24YZ.js +0 -45
- package/dist/chunks/chunk-6BMMHDIR.js +0 -133
- package/dist/chunks/chunk-6CVPVVA3.js +0 -23
- package/dist/chunks/chunk-6ER5O6QK.js +0 -78
- package/dist/chunks/chunk-6I7CJJS2.js +0 -11335
- package/dist/chunks/chunk-6IPEOPJN.js +0 -23
- package/dist/chunks/chunk-6K7HYKRD.js +0 -107
- package/dist/chunks/chunk-6KUHSJ75.js +0 -84
- package/dist/chunks/chunk-6LMN4O2K.js +0 -210
- package/dist/chunks/chunk-6MQXGMKX.js +0 -728
- package/dist/chunks/chunk-6NPE5ABC.js +0 -201
- package/dist/chunks/chunk-6NTZRNPY.js +0 -276
- package/dist/chunks/chunk-6Q5QWTLH.js +0 -83
- package/dist/chunks/chunk-6QUHFY76.js +0 -95
- package/dist/chunks/chunk-6RZ4273P.js +0 -471
- package/dist/chunks/chunk-6UH7PVU4.js +0 -163
- package/dist/chunks/chunk-6WQXPIWB.js +0 -117
- package/dist/chunks/chunk-6YGEJAYA.js +0 -114
- package/dist/chunks/chunk-73FP3ZKL.js +0 -36
- package/dist/chunks/chunk-74UTAFMU.js +0 -239
- package/dist/chunks/chunk-75B6LDBT.js +0 -23
- package/dist/chunks/chunk-75C3QUPK.js +0 -23
- package/dist/chunks/chunk-75EZYRDM.js +0 -128
- package/dist/chunks/chunk-767QNG4R.js +0 -168
- package/dist/chunks/chunk-7BGQYMOU.js +0 -155
- package/dist/chunks/chunk-7C3MDH7N.js +0 -84
- package/dist/chunks/chunk-7DBVFWSZ.js +0 -178
- package/dist/chunks/chunk-7GIYVCVA.js +0 -119
- package/dist/chunks/chunk-7HHUIXQZ.js +0 -136
- package/dist/chunks/chunk-7HLD2F6B.js +0 -178
- package/dist/chunks/chunk-7LPIFDZY.js +0 -261
- package/dist/chunks/chunk-7LUOHZN5.js +0 -33
- package/dist/chunks/chunk-7MJBTQQ5.js +0 -45
- package/dist/chunks/chunk-7MKYLNPP.js +0 -77
- package/dist/chunks/chunk-7MSW2WTI.js +0 -81
- package/dist/chunks/chunk-7MZYUT7F.js +0 -125
- package/dist/chunks/chunk-7O35XSME.js +0 -38
- package/dist/chunks/chunk-7PFG5FCQ.js +0 -97
- package/dist/chunks/chunk-7PT5TCDM.js +0 -112
- package/dist/chunks/chunk-7RBFZ2ZP.js +0 -53
- package/dist/chunks/chunk-7SK2OFM6.js +0 -86
- package/dist/chunks/chunk-7VKTLJ5X.js +0 -131
- package/dist/chunks/chunk-7W4H3I72.js +0 -33
- package/dist/chunks/chunk-7XRJDJIW.js +0 -108
- package/dist/chunks/chunk-7YCOM3UJ.js +0 -231
- package/dist/chunks/chunk-7YLMIL5P.js +0 -30
- package/dist/chunks/chunk-A2OAK4IM.js +0 -163
- package/dist/chunks/chunk-A5PHXOJB.js +0 -279
- package/dist/chunks/chunk-A7ILKATD.js +0 -135
- package/dist/chunks/chunk-A7QAGGS4.js +0 -55
- package/dist/chunks/chunk-A7ZOEBUT.js +0 -360
- package/dist/chunks/chunk-ABZKL6BW.js +0 -10192
- package/dist/chunks/chunk-ACQWJWJ6.js +0 -247
- package/dist/chunks/chunk-ADLBFJRD.js +0 -78
- package/dist/chunks/chunk-AE6ROZA4.js +0 -146
- package/dist/chunks/chunk-AKQOIYDF.js +0 -162
- package/dist/chunks/chunk-ALCEPQPQ.js +0 -33
- package/dist/chunks/chunk-ALFYZCGL.js +0 -204
- package/dist/chunks/chunk-ALLNKI5W.js +0 -83
- package/dist/chunks/chunk-ANID7MDG.js +0 -179
- package/dist/chunks/chunk-APRQRJ32.js +0 -85
- package/dist/chunks/chunk-AQJM76ZK.js +0 -23
- package/dist/chunks/chunk-ARXMCHG5.js +0 -558
- package/dist/chunks/chunk-ASHATMUU.js +0 -209
- package/dist/chunks/chunk-ASTGMJ5S.js +0 -242
- package/dist/chunks/chunk-ASZTMVL4.js +0 -193
- package/dist/chunks/chunk-ATEECJLR.js +0 -18
- package/dist/chunks/chunk-AULEK4AI.js +0 -327
- package/dist/chunks/chunk-AZDLHEAY.js +0 -42
- package/dist/chunks/chunk-AZGDLYQU.js +0 -90
- package/dist/chunks/chunk-AZTLLNXL.js +0 -105
- package/dist/chunks/chunk-AZY4L6GX.js +0 -163
- package/dist/chunks/chunk-B2QYPRG7.js +0 -96
- package/dist/chunks/chunk-B3F5EMKD.js +0 -200
- package/dist/chunks/chunk-B3LQAWFG.js +0 -317
- package/dist/chunks/chunk-BAJLG3G7.js +0 -135
- package/dist/chunks/chunk-BBFJWGSR.js +0 -135
- package/dist/chunks/chunk-BBUAYMM7.js +0 -175
- package/dist/chunks/chunk-BCFEHRVZ.js +0 -48
- package/dist/chunks/chunk-BERGAM7M.js +0 -33
- package/dist/chunks/chunk-BF7ZBREJ.js +0 -133
- package/dist/chunks/chunk-BGR5WOWO.js +0 -208
- package/dist/chunks/chunk-BH5M54GQ.js +0 -84
- package/dist/chunks/chunk-BHCYTL37.js +0 -1417
- package/dist/chunks/chunk-BJ27GCLG.js +0 -220
- package/dist/chunks/chunk-BJDFFBBE.js +0 -157
- package/dist/chunks/chunk-BK6ZSMMB.js +0 -120
- package/dist/chunks/chunk-BL3RXZCH.js +0 -177
- package/dist/chunks/chunk-BPEDJCYE.js +0 -106
- package/dist/chunks/chunk-BSST5JMJ.js +0 -103
- package/dist/chunks/chunk-BUI4OOJG.js +0 -206
- package/dist/chunks/chunk-BUUZVJW2.js +0 -77
- package/dist/chunks/chunk-BUYHCJC4.js +0 -79
- package/dist/chunks/chunk-BWH22TJF.js +0 -209
- package/dist/chunks/chunk-BYKNZYGS.js +0 -777
- package/dist/chunks/chunk-BYWHR3JB.js +0 -113
- package/dist/chunks/chunk-C2MKR4VE.js +0 -136
- package/dist/chunks/chunk-C2STPWQC.js +0 -33
- package/dist/chunks/chunk-C4ZXGRKL.js +0 -105
- package/dist/chunks/chunk-C5GEQLQR.js +0 -221
- package/dist/chunks/chunk-C5PWCDGO.js +0 -178
- package/dist/chunks/chunk-C5UUYHI5.js +0 -174
- package/dist/chunks/chunk-C7UYXQXR.js +0 -72
- package/dist/chunks/chunk-CBRROZXI.js +0 -122
- package/dist/chunks/chunk-CBYUSQER.js +0 -151
- package/dist/chunks/chunk-CGAXX3QH.js +0 -95
- package/dist/chunks/chunk-CH2QQK6H.js +0 -197
- package/dist/chunks/chunk-CJZKCIYK.js +0 -366
- package/dist/chunks/chunk-CMK27OOU.js +0 -105
- package/dist/chunks/chunk-CNBIXJOG.js +0 -141
- package/dist/chunks/chunk-COIMIZHZ.js +0 -100
- package/dist/chunks/chunk-CPPJLF4P.js +0 -194
- package/dist/chunks/chunk-CR7DI7JZ.js +0 -99
- package/dist/chunks/chunk-CRMY4SRE.js +0 -172
- package/dist/chunks/chunk-CRTCG6CP.js +0 -283
- package/dist/chunks/chunk-CRTINW44.js +0 -137
- package/dist/chunks/chunk-CSMRSUJK.js +0 -221
- package/dist/chunks/chunk-CUK3ZDE3.js +0 -161
- package/dist/chunks/chunk-CV2RYQFE.js +0 -351
- package/dist/chunks/chunk-CVE65WWQ.js +0 -101
- package/dist/chunks/chunk-CWESIIOG.js +0 -242
- package/dist/chunks/chunk-CYYBMHWK.js +0 -198
- package/dist/chunks/chunk-CZVHIHKI.js +0 -503
- package/dist/chunks/chunk-D4GCZWGB.js +0 -165
- package/dist/chunks/chunk-D5NRDMOB.js +0 -122
- package/dist/chunks/chunk-D64CUY4W.js +0 -146
- package/dist/chunks/chunk-D6Y42WMC.js +0 -61
- package/dist/chunks/chunk-D7HK6GFW.js +0 -111
- package/dist/chunks/chunk-D7TGZGSI.js +0 -78
- package/dist/chunks/chunk-DCUOY7TT.js +0 -106
- package/dist/chunks/chunk-DEV4X3BC.js +0 -97
- package/dist/chunks/chunk-DFYCFAOB.js +0 -80
- package/dist/chunks/chunk-DHTO4K5U.js +0 -153
- package/dist/chunks/chunk-DIY7FEQG.js +0 -115
- package/dist/chunks/chunk-DKPNU7SW.js +0 -139
- package/dist/chunks/chunk-DMSQYZ5Y.js +0 -45
- package/dist/chunks/chunk-DMUD43OC.js +0 -23
- package/dist/chunks/chunk-DQKOYN5G.js +0 -304
- package/dist/chunks/chunk-DSGAOQAD.js +0 -23
- package/dist/chunks/chunk-DSSR7MTS.js +0 -230
- package/dist/chunks/chunk-DTPYNJKK.js +0 -122
- package/dist/chunks/chunk-DXOXBACU.js +0 -45
- package/dist/chunks/chunk-DXQIA62X.js +0 -301
- package/dist/chunks/chunk-DYSDUGRK.js +0 -36
- package/dist/chunks/chunk-DZ4GEQYH.js +0 -98
- package/dist/chunks/chunk-E2F5OVMQ.js +0 -23
- package/dist/chunks/chunk-E2NMG7YP.js +0 -228
- package/dist/chunks/chunk-E3JYQMGH.js +0 -110
- package/dist/chunks/chunk-E3KRGKDY.js +0 -36
- package/dist/chunks/chunk-E3O4RS7P.js +0 -181
- package/dist/chunks/chunk-E5MBDUQU.js +0 -109
- package/dist/chunks/chunk-E6BP7WGV.js +0 -202
- package/dist/chunks/chunk-E7SCSHJA.js +0 -23
- package/dist/chunks/chunk-EC5HOSB7.js +0 -118
- package/dist/chunks/chunk-EER3ZIOO.js +0 -140
- package/dist/chunks/chunk-EGCMRVUM.js +0 -307
- package/dist/chunks/chunk-EHFO2H5F.js +0 -94
- package/dist/chunks/chunk-EHJCAVRM.js +0 -362
- package/dist/chunks/chunk-EIUEZJNL.js +0 -100
- package/dist/chunks/chunk-EJDOCTLY.js +0 -80
- package/dist/chunks/chunk-EKHOAL4B.js +0 -362
- package/dist/chunks/chunk-EKZSZ5CT.js +0 -84
- package/dist/chunks/chunk-EL56LS7Z.js +0 -147
- package/dist/chunks/chunk-EM7RKDEK.js +0 -33
- package/dist/chunks/chunk-EMTPEXVV.js +0 -84
- package/dist/chunks/chunk-EMWDTGCM.js +0 -382
- package/dist/chunks/chunk-EO73IDCD.js +0 -287
- package/dist/chunks/chunk-EPSM6MKE.js +0 -30
- package/dist/chunks/chunk-EQ2YYW66.js +0 -23
- package/dist/chunks/chunk-ER4Q2QMN.js +0 -141
- package/dist/chunks/chunk-ESSLVDNS.js +0 -23
- package/dist/chunks/chunk-ET5REO6W.js +0 -251
- package/dist/chunks/chunk-ETTVYJPY.js +0 -45
- package/dist/chunks/chunk-EUZTWLRL.js +0 -177
- package/dist/chunks/chunk-EXLFMMUW.js +0 -358
- package/dist/chunks/chunk-F3IGXNV5.js +0 -320
- package/dist/chunks/chunk-F5VBU7WB.js +0 -172
- package/dist/chunks/chunk-F62VB44V.js +0 -1574
- package/dist/chunks/chunk-F7TQZRXN.js +0 -260
- package/dist/chunks/chunk-FCMZFHSX.js +0 -212
- package/dist/chunks/chunk-FCWRBIH6.js +0 -190
- package/dist/chunks/chunk-FDM6CL6Z.js +0 -41
- package/dist/chunks/chunk-FDMERRYK.js +0 -23
- package/dist/chunks/chunk-FE4O5TBQ.js +0 -231
- package/dist/chunks/chunk-FENNER3R.js +0 -176
- package/dist/chunks/chunk-FF2FRKH4.js +0 -143
- package/dist/chunks/chunk-FHJ6A5V7.js +0 -23
- package/dist/chunks/chunk-FK374Y3N.js +0 -23
- package/dist/chunks/chunk-FKJSFVK7.js +0 -92
- package/dist/chunks/chunk-FOE5HJTW.js +0 -165
- package/dist/chunks/chunk-FPDWP3W2.js +0 -50
- package/dist/chunks/chunk-FXIYE3XH.js +0 -49
- package/dist/chunks/chunk-FYQOQLVX.js +0 -77
- package/dist/chunks/chunk-G4GSFWV2.js +0 -33
- package/dist/chunks/chunk-G4P3BVBA.js +0 -93
- package/dist/chunks/chunk-G5TVYUEE.js +0 -156
- package/dist/chunks/chunk-G6OWNTWC.js +0 -23
- package/dist/chunks/chunk-G6WNVRXL.js +0 -81
- package/dist/chunks/chunk-G7F6PELH.js +0 -164
- package/dist/chunks/chunk-GCHL6JA4.js +0 -161
- package/dist/chunks/chunk-GE4TE7OJ.js +0 -23
- package/dist/chunks/chunk-GENWMOHR.js +0 -133
- package/dist/chunks/chunk-GEWFQS3X.js +0 -378
- package/dist/chunks/chunk-GGCHSKEM.js +0 -589
- package/dist/chunks/chunk-GGZMQ2JO.js +0 -33
- package/dist/chunks/chunk-GIDRMUUA.js +0 -151
- package/dist/chunks/chunk-GLERM3QE.js +0 -106
- package/dist/chunks/chunk-GMPIEAOG.js +0 -47
- package/dist/chunks/chunk-GO5ORWTY.js +0 -23
- package/dist/chunks/chunk-GPCMAEBF.js +0 -213
- package/dist/chunks/chunk-GS3ALS3C.js +0 -33
- package/dist/chunks/chunk-GTFBPQJR.js +0 -150
- package/dist/chunks/chunk-GTJYLWWE.js +0 -162
- package/dist/chunks/chunk-GWYBKSDL.js +0 -79
- package/dist/chunks/chunk-GX4O3SUN.js +0 -50
- package/dist/chunks/chunk-GXEQEHRJ.js +0 -10429
- package/dist/chunks/chunk-GZU76YJC.js +0 -179
- package/dist/chunks/chunk-H2JGFX3F.js +0 -82
- package/dist/chunks/chunk-H2Y2CMZE.js +0 -180
- package/dist/chunks/chunk-H4V24KD5.js +0 -23
- package/dist/chunks/chunk-H55BQLBV.js +0 -117
- package/dist/chunks/chunk-H7UQ6CTI.js +0 -77
- package/dist/chunks/chunk-HCOUABRF.js +0 -117
- package/dist/chunks/chunk-HCXYYJSM.js +0 -86
- package/dist/chunks/chunk-HEZSKMEP.js +0 -81
- package/dist/chunks/chunk-HGZTE7C4.js +0 -97
- package/dist/chunks/chunk-HHTMXVVT.js +0 -80
- package/dist/chunks/chunk-HJ73PDCK.js +0 -331
- package/dist/chunks/chunk-HO5PSVKU.js +0 -390
- package/dist/chunks/chunk-HOQMBKGN.js +0 -141
- package/dist/chunks/chunk-HQ2AXG33.js +0 -50
- package/dist/chunks/chunk-HQ7UIUGU.js +0 -115
- package/dist/chunks/chunk-HSGF2K4Y.js +0 -346
- package/dist/chunks/chunk-HTVSQBBR.js +0 -150
- package/dist/chunks/chunk-HUINZZSB.js +0 -152
- package/dist/chunks/chunk-HVC4EKRO.js +0 -90
- package/dist/chunks/chunk-HVR7N4ZR.js +0 -217
- package/dist/chunks/chunk-HVUC3FN7.js +0 -71
- package/dist/chunks/chunk-HZ67CFKH.js +0 -127
- package/dist/chunks/chunk-HZCDW57H.js +0 -33
- package/dist/chunks/chunk-HZGSIGPY.js +0 -100
- package/dist/chunks/chunk-I226Y4C5.js +0 -290
- package/dist/chunks/chunk-I22VCHUD.js +0 -191
- package/dist/chunks/chunk-I2RKRJRQ.js +0 -65
- package/dist/chunks/chunk-I3JBWNPW.js +0 -163
- package/dist/chunks/chunk-I4JKPVBJ.js +0 -177
- package/dist/chunks/chunk-I4WV5NEV.js +0 -33
- package/dist/chunks/chunk-I5ESLHYD.js +0 -23
- package/dist/chunks/chunk-I6SREAEO.js +0 -282
- package/dist/chunks/chunk-I77QGBZH.js +0 -142
- package/dist/chunks/chunk-ICHXXVUX.js +0 -33
- package/dist/chunks/chunk-IEOFIPGG.js +0 -112
- package/dist/chunks/chunk-IFEHXEH2.js +0 -1469
- package/dist/chunks/chunk-IFJPXT6P.js +0 -85
- package/dist/chunks/chunk-IGAOBELB.js +0 -305
- package/dist/chunks/chunk-IGV2RXXQ.js +0 -130
- package/dist/chunks/chunk-IIKPSUOK.js +0 -23
- package/dist/chunks/chunk-IJPF4OZ3.js +0 -66
- package/dist/chunks/chunk-IKBZNK6S.js +0 -165
- package/dist/chunks/chunk-IKT6SPCK.js +0 -130
- package/dist/chunks/chunk-IMEWW7TO.js +0 -78
- package/dist/chunks/chunk-IMWJ35FM.js +0 -144
- package/dist/chunks/chunk-IOBTRCHX.js +0 -220
- package/dist/chunks/chunk-IOIU4EUN.js +0 -192
- package/dist/chunks/chunk-IPAUCESI.js +0 -106
- package/dist/chunks/chunk-IRC4VJR6.js +0 -184
- package/dist/chunks/chunk-ISEHSZWF.js +0 -119
- package/dist/chunks/chunk-IVHFYNDB.js +0 -1309
- package/dist/chunks/chunk-IVK44RA5.js +0 -160
- package/dist/chunks/chunk-IVPTIX2T.js +0 -121
- package/dist/chunks/chunk-IXATRTYD.js +0 -266
- package/dist/chunks/chunk-IXYFMMDG.js +0 -108
- package/dist/chunks/chunk-IYF7OK2Z.js +0 -226
- package/dist/chunks/chunk-IZFT6WHR.js +0 -45
- package/dist/chunks/chunk-J2W2Y5CR.js +0 -95
- package/dist/chunks/chunk-J2XMHCOF.js +0 -80
- package/dist/chunks/chunk-J65CSSWM.js +0 -33
- package/dist/chunks/chunk-J6MFS3QB.js +0 -112
- package/dist/chunks/chunk-J7T5S6NA.js +0 -198
- package/dist/chunks/chunk-JHKF3USC.js +0 -363
- package/dist/chunks/chunk-JHKJOUUH.js +0 -59
- package/dist/chunks/chunk-JK27YT4C.js +0 -191
- package/dist/chunks/chunk-JKVRU2E2.js +0 -23
- package/dist/chunks/chunk-JMZVP5RZ.js +0 -95
- package/dist/chunks/chunk-JP6XISBO.js +0 -33
- package/dist/chunks/chunk-JSJBFBSH.js +0 -161
- package/dist/chunks/chunk-JV35MPM6.js +0 -151
- package/dist/chunks/chunk-JVISUTBJ.js +0 -195
- package/dist/chunks/chunk-JVZCIUHF.js +0 -36
- package/dist/chunks/chunk-JWP3EQP3.js +0 -23
- package/dist/chunks/chunk-JWWSURT3.js +0 -109
- package/dist/chunks/chunk-JXNWBXL5.js +0 -45
- package/dist/chunks/chunk-JYJDNJW6.js +0 -84
- package/dist/chunks/chunk-JYZIRBUJ.js +0 -337
- package/dist/chunks/chunk-K4RXT6XM.js +0 -76
- package/dist/chunks/chunk-K4UVU44T.js +0 -209
- package/dist/chunks/chunk-K5ZFL46S.js +0 -261
- package/dist/chunks/chunk-K6COXUA7.js +0 -91
- package/dist/chunks/chunk-KACSRFTX.js +0 -88
- package/dist/chunks/chunk-KCJJME3Z.js +0 -131
- package/dist/chunks/chunk-KDIAXVCT.js +0 -234
- package/dist/chunks/chunk-KEOCSWWH.js +0 -237
- package/dist/chunks/chunk-KG4YRLEE.js +0 -33
- package/dist/chunks/chunk-KGLEN7IR.js +0 -124
- package/dist/chunks/chunk-KH3VEZ5S.js +0 -111
- package/dist/chunks/chunk-KIPFMXT7.js +0 -163
- package/dist/chunks/chunk-KJYXT3SY.js +0 -110
- package/dist/chunks/chunk-KKELZHNW.js +0 -137
- package/dist/chunks/chunk-KMSKWB3P.js +0 -104
- package/dist/chunks/chunk-KNUSCXCL.js +0 -23
- package/dist/chunks/chunk-KP6JVMS5.js +0 -201
- package/dist/chunks/chunk-KPNARS52.js +0 -196
- package/dist/chunks/chunk-KQCYICKH.js +0 -54
- package/dist/chunks/chunk-KQFFHFMT.js +0 -94
- package/dist/chunks/chunk-KR6X4XRJ.js +0 -257
- package/dist/chunks/chunk-KTDUAQDZ.js +0 -78
- package/dist/chunks/chunk-KTKCNIDL.js +0 -252
- package/dist/chunks/chunk-KTOFG2ZU.js +0 -169
- package/dist/chunks/chunk-KTTVBM22.js +0 -77
- package/dist/chunks/chunk-KU3ESWYT.js +0 -107
- package/dist/chunks/chunk-KXZ47IY3.js +0 -68
- package/dist/chunks/chunk-KY2G26M7.js +0 -146
- package/dist/chunks/chunk-KY3DNVDJ.js +0 -33
- package/dist/chunks/chunk-KYEZPAWM.js +0 -214
- package/dist/chunks/chunk-KYHSYJNZ.js +0 -157
- package/dist/chunks/chunk-KYJGZOMT.js +0 -87
- package/dist/chunks/chunk-KZ3FLV7V.js +0 -23
- package/dist/chunks/chunk-KZ5D4UYS.js +0 -33
- package/dist/chunks/chunk-L36QNGUH.js +0 -366
- package/dist/chunks/chunk-L374J6OJ.js +0 -142
- package/dist/chunks/chunk-L54AIU2H.js +0 -218
- package/dist/chunks/chunk-LBHCFPLS.js +0 -462
- package/dist/chunks/chunk-LCVTXAMG.js +0 -100
- package/dist/chunks/chunk-LCVZ7WQR.js +0 -324
- package/dist/chunks/chunk-LDMLHS7Z.js +0 -92
- package/dist/chunks/chunk-LE76E2QH.js +0 -146
- package/dist/chunks/chunk-LEBE3NA6.js +0 -39
- package/dist/chunks/chunk-LFICIIA2.js +0 -163
- package/dist/chunks/chunk-LGCH5MYA.js +0 -126
- package/dist/chunks/chunk-LGECGENG.js +0 -131
- package/dist/chunks/chunk-LGUWKDUU.js +0 -170
- package/dist/chunks/chunk-LITEJCXB.js +0 -102
- package/dist/chunks/chunk-LKKQUSLN.js +0 -77
- package/dist/chunks/chunk-LN5IT5X3.js +0 -123
- package/dist/chunks/chunk-LNCOOQ5A.js +0 -181
- package/dist/chunks/chunk-LPBCRTSJ.js +0 -361
- package/dist/chunks/chunk-LQ52336V.js +0 -112
- package/dist/chunks/chunk-LRLXGUGI.js +0 -375
- package/dist/chunks/chunk-LRTDGCTH.js +0 -86
- package/dist/chunks/chunk-LSBWB5AF.js +0 -266
- package/dist/chunks/chunk-LUB6HYK4.js +0 -36
- package/dist/chunks/chunk-LUIP6W47.js +0 -197
- package/dist/chunks/chunk-LWYHZ42M.js +0 -125
- package/dist/chunks/chunk-LWZ34GVL.js +0 -98
- package/dist/chunks/chunk-LYIO5FIK.js +0 -98
- package/dist/chunks/chunk-LYNRXL5Y.js +0 -222
- package/dist/chunks/chunk-LYY4MC3U.js +0 -200
- package/dist/chunks/chunk-M2YCBFFL.js +0 -171
- package/dist/chunks/chunk-M3C4KVO4.js +0 -283
- package/dist/chunks/chunk-M3HB5J55.js +0 -344
- package/dist/chunks/chunk-M3JUL5R6.js +0 -71
- package/dist/chunks/chunk-M67PMDSR.js +0 -23
- package/dist/chunks/chunk-M75KV3IR.js +0 -277
- package/dist/chunks/chunk-MAFLNEMC.js +0 -209
- package/dist/chunks/chunk-MALIZUXA.js +0 -30
- package/dist/chunks/chunk-MC7AKFNW.js +0 -101
- package/dist/chunks/chunk-MCGYHMDT.js +0 -80
- package/dist/chunks/chunk-MCRYUK7R.js +0 -149
- package/dist/chunks/chunk-MD2UCEEA.js +0 -23
- package/dist/chunks/chunk-MD7YQEUI.js +0 -160
- package/dist/chunks/chunk-MFNFPRBF.js +0 -303
- package/dist/chunks/chunk-MHFTT634.js +0 -200
- package/dist/chunks/chunk-MHMEKZLL.js +0 -147
- package/dist/chunks/chunk-MIL6SFFD.js +0 -63
- package/dist/chunks/chunk-MJW24FUI.js +0 -169
- package/dist/chunks/chunk-MKAK6GOQ.js +0 -106
- package/dist/chunks/chunk-MLT4Y25H.js +0 -145
- package/dist/chunks/chunk-MPSB35QC.js +0 -36
- package/dist/chunks/chunk-MSHPJMZH.js +0 -111
- package/dist/chunks/chunk-MSPNPI73.js +0 -23
- package/dist/chunks/chunk-MSVXUE37.js +0 -161
- package/dist/chunks/chunk-MUB3U7J4.js +0 -149
- package/dist/chunks/chunk-MULT2WV2.js +0 -129
- package/dist/chunks/chunk-MWR2PW5Z.js +0 -564
- package/dist/chunks/chunk-MX6XBEB5.js +0 -91
- package/dist/chunks/chunk-MYP7PMFU.js +0 -261
- package/dist/chunks/chunk-MZFY26YI.js +0 -128
- package/dist/chunks/chunk-MZV6LKQK.js +0 -87
- package/dist/chunks/chunk-N2Q5S5AV.js +0 -345
- package/dist/chunks/chunk-N5DAHF7G.js +0 -103
- package/dist/chunks/chunk-N5KKULX6.js +0 -130
- package/dist/chunks/chunk-N63PUNE6.js +0 -261
- package/dist/chunks/chunk-N6YG3UHJ.js +0 -330
- package/dist/chunks/chunk-NA6AM2KB.js +0 -255
- package/dist/chunks/chunk-NAYYEK3U.js +0 -166
- package/dist/chunks/chunk-NBRSUPAS.js +0 -82
- package/dist/chunks/chunk-NCAK6G4F.js +0 -155
- package/dist/chunks/chunk-NFDVSIX2.js +0 -135
- package/dist/chunks/chunk-NIVVWPY5.js +0 -122
- package/dist/chunks/chunk-NJ2CK76F.js +0 -152
- package/dist/chunks/chunk-NK4V7T7C.js +0 -44
- package/dist/chunks/chunk-NMVAT5LP.js +0 -153
- package/dist/chunks/chunk-NNJ5IL6F.js +0 -103
- package/dist/chunks/chunk-NO2KLXDN.js +0 -108
- package/dist/chunks/chunk-NO5I5DK6.js +0 -169
- package/dist/chunks/chunk-NOTVCCCZ.js +0 -95
- package/dist/chunks/chunk-NPU7XOSG.js +0 -134
- package/dist/chunks/chunk-NQWVWH6D.js +0 -192
- package/dist/chunks/chunk-NRRHQ45H.js +0 -333
- package/dist/chunks/chunk-NSMERQO5.js +0 -78
- package/dist/chunks/chunk-NUE5VHJJ.js +0 -85
- package/dist/chunks/chunk-NUMUHHSN.js +0 -304
- package/dist/chunks/chunk-NWVBBARQ.js +0 -174
- package/dist/chunks/chunk-NZ43YYIG.js +0 -198
- package/dist/chunks/chunk-O2DQTWQA.js +0 -225
- package/dist/chunks/chunk-O3P273KX.js +0 -102
- package/dist/chunks/chunk-O4SOTKYL.js +0 -106
- package/dist/chunks/chunk-O5QPDWKV.js +0 -155
- package/dist/chunks/chunk-O7QR4CCZ.js +0 -23
- package/dist/chunks/chunk-OBPLDTUG.js +0 -55
- package/dist/chunks/chunk-OCP3CWBO.js +0 -108
- package/dist/chunks/chunk-OE4C6NC4.js +0 -145
- package/dist/chunks/chunk-OELSK4BF.js +0 -163
- package/dist/chunks/chunk-OFJD37NI.js +0 -105
- package/dist/chunks/chunk-OFO62YOH.js +0 -93
- package/dist/chunks/chunk-OGW6NFNI.js +0 -84
- package/dist/chunks/chunk-OH76T4CD.js +0 -97
- package/dist/chunks/chunk-OHZCHKLB.js +0 -157
- package/dist/chunks/chunk-OIRAGGZC.js +0 -136
- package/dist/chunks/chunk-OJ67EV4X.js +0 -189
- package/dist/chunks/chunk-OJODT4HL.js +0 -89
- package/dist/chunks/chunk-OMI4QH7F.js +0 -167
- package/dist/chunks/chunk-ONITBBLZ.js +0 -188
- package/dist/chunks/chunk-ONYSYKHQ.js +0 -119
- package/dist/chunks/chunk-OTFHMRHC.js +0 -152
- package/dist/chunks/chunk-OTTMTFU2.js +0 -173
- package/dist/chunks/chunk-OUO7SQNU.js +0 -105
- package/dist/chunks/chunk-OVDEQJP5.js +0 -139
- package/dist/chunks/chunk-OVSGK7IY.js +0 -115
- package/dist/chunks/chunk-OVUP6VYS.js +0 -305
- package/dist/chunks/chunk-OYK2PAKI.js +0 -156
- package/dist/chunks/chunk-OZJHS2NZ.js +0 -194
- package/dist/chunks/chunk-P4IAALK4.js +0 -23
- package/dist/chunks/chunk-P67IUC7G.js +0 -114
- package/dist/chunks/chunk-P6Z7STTM.js +0 -138
- package/dist/chunks/chunk-P7LCH4Q6.js +0 -149
- package/dist/chunks/chunk-P7TKHYFC.js +0 -153
- package/dist/chunks/chunk-PAN5CNMO.js +0 -23
- package/dist/chunks/chunk-PDJG3YOD.js +0 -92
- package/dist/chunks/chunk-PDREYVZ2.js +0 -336
- package/dist/chunks/chunk-PE2FC6BK.js +0 -152
- package/dist/chunks/chunk-PEXNP4OA.js +0 -130
- package/dist/chunks/chunk-PGB6AYOO.js +0 -238
- package/dist/chunks/chunk-PGSAB6S7.js +0 -110
- package/dist/chunks/chunk-PH4PSVET.js +0 -49
- package/dist/chunks/chunk-PIMXF247.js +0 -97
- package/dist/chunks/chunk-PMCXZPL3.js +0 -23
- package/dist/chunks/chunk-PNNPJM6F.js +0 -184
- package/dist/chunks/chunk-POG6FWNL.js +0 -215
- package/dist/chunks/chunk-PPC4HAMK.js +0 -23
- package/dist/chunks/chunk-PQ6IYRZK.js +0 -190
- package/dist/chunks/chunk-PQSZUHFC.js +0 -164
- package/dist/chunks/chunk-PSAGFU6Q.js +0 -198
- package/dist/chunks/chunk-PSW5LLKN.js +0 -33
- package/dist/chunks/chunk-PUIDRRR7.js +0 -218
- package/dist/chunks/chunk-PULX7G2V.js +0 -150
- package/dist/chunks/chunk-PVWIQ6SQ.js +0 -1266
- package/dist/chunks/chunk-PW7LN5MB.js +0 -87
- package/dist/chunks/chunk-PWJR5JRM.js +0 -36
- package/dist/chunks/chunk-PWNKCLF4.js +0 -127
- package/dist/chunks/chunk-PWYAIBIR.js +0 -304
- package/dist/chunks/chunk-Q22MANIU.js +0 -33
- package/dist/chunks/chunk-Q2KH47RA.js +0 -50
- package/dist/chunks/chunk-Q4ZDKXV5.js +0 -358
- package/dist/chunks/chunk-QB6JDZWT.js +0 -145
- package/dist/chunks/chunk-QCCQJ3VN.js +0 -170
- package/dist/chunks/chunk-QDRVOSDM.js +0 -77
- package/dist/chunks/chunk-QDVRQQCR.js +0 -121
- package/dist/chunks/chunk-QDVVYZKG.js +0 -100
- package/dist/chunks/chunk-QDYIYJXQ.js +0 -327
- package/dist/chunks/chunk-QEYMOYNX.js +0 -157
- package/dist/chunks/chunk-QHACWC4V.js +0 -103
- package/dist/chunks/chunk-QJPI4RLE.js +0 -187
- package/dist/chunks/chunk-QKPUTRVY.js +0 -41
- package/dist/chunks/chunk-QM6CDRKA.js +0 -66
- package/dist/chunks/chunk-QMUYUQRL.js +0 -123
- package/dist/chunks/chunk-QOMSXQJO.js +0 -1649
- package/dist/chunks/chunk-QS43QY44.js +0 -153
- package/dist/chunks/chunk-QSUBBUZY.js +0 -317
- package/dist/chunks/chunk-QSZXMQ56.js +0 -112
- package/dist/chunks/chunk-QTYYWPKH.js +0 -103
- package/dist/chunks/chunk-QUCDETJC.js +0 -159
- package/dist/chunks/chunk-QUSUWMPS.js +0 -159
- package/dist/chunks/chunk-QV7EQUQ7.js +0 -150
- package/dist/chunks/chunk-QWSMSXWV.js +0 -112
- package/dist/chunks/chunk-QXFSOKML.js +0 -23
- package/dist/chunks/chunk-QYNFD2NR.js +0 -60
- package/dist/chunks/chunk-R5OCZZID.js +0 -23
- package/dist/chunks/chunk-R5W6AP2S.js +0 -85
- package/dist/chunks/chunk-R6L6STWF.js +0 -45
- package/dist/chunks/chunk-R7IA7347.js +0 -11806
- package/dist/chunks/chunk-R7S3L5ZJ.js +0 -297
- package/dist/chunks/chunk-RAAJK3RZ.js +0 -877
- package/dist/chunks/chunk-RACVHFLU.js +0 -45
- package/dist/chunks/chunk-RBYESNG7.js +0 -119
- package/dist/chunks/chunk-RC3OQNV6.js +0 -94
- package/dist/chunks/chunk-RCCFOHQ4.js +0 -262
- package/dist/chunks/chunk-RDZB6H4S.js +0 -45
- package/dist/chunks/chunk-RF33G5J5.js +0 -213
- package/dist/chunks/chunk-RF7O6FK7.js +0 -632
- package/dist/chunks/chunk-RFOXHCIZ.js +0 -166
- package/dist/chunks/chunk-RFVDSBM4.js +0 -33
- package/dist/chunks/chunk-RGT5727A.js +0 -226
- package/dist/chunks/chunk-RJK7KNJF.js +0 -342
- package/dist/chunks/chunk-RKT3OM3G.js +0 -249
- package/dist/chunks/chunk-RM3DBF6C.js +0 -887
- package/dist/chunks/chunk-RM4VJZIY.js +0 -156
- package/dist/chunks/chunk-RMLMWFRT.js +0 -207
- package/dist/chunks/chunk-RQLZ3BGN.js +0 -45
- package/dist/chunks/chunk-RRHTIONH.js +0 -215
- package/dist/chunks/chunk-RRQHJSLU.js +0 -171
- package/dist/chunks/chunk-RRY426DS.js +0 -272
- package/dist/chunks/chunk-RXKFDGF2.js +0 -33
- package/dist/chunks/chunk-RZCO53GG.js +0 -52
- package/dist/chunks/chunk-S2BWFFVS.js +0 -80
- package/dist/chunks/chunk-S2EBZ6KM.js +0 -83
- package/dist/chunks/chunk-S2QZMHP2.js +0 -82
- package/dist/chunks/chunk-S2WM7CRJ.js +0 -45
- package/dist/chunks/chunk-S4543ASB.js +0 -172
- package/dist/chunks/chunk-S5AULSFY.js +0 -91
- package/dist/chunks/chunk-S5MG4DUD.js +0 -41
- package/dist/chunks/chunk-S6WCVASK.js +0 -87
- package/dist/chunks/chunk-SBJOCARO.js +0 -45
- package/dist/chunks/chunk-SF2SNRNO.js +0 -42
- package/dist/chunks/chunk-SFLOYGZM.js +0 -265
- package/dist/chunks/chunk-SGFDUNC3.js +0 -250
- package/dist/chunks/chunk-SICC453W.js +0 -89
- package/dist/chunks/chunk-SJDH7JPW.js +0 -96
- package/dist/chunks/chunk-SJPVRA7I.js +0 -90
- package/dist/chunks/chunk-SMJFCFGV.js +0 -55
- package/dist/chunks/chunk-SN56BMQH.js +0 -97
- package/dist/chunks/chunk-SN67AXU6.js +0 -315
- package/dist/chunks/chunk-SNFANI5V.js +0 -53
- package/dist/chunks/chunk-SOQBVZP6.js +0 -898
- package/dist/chunks/chunk-SQ3MOXRL.js +0 -273
- package/dist/chunks/chunk-SQ3WTKC2.js +0 -176
- package/dist/chunks/chunk-SRCJJKEA.js +0 -39
- package/dist/chunks/chunk-SVSI5F2F.js +0 -256
- package/dist/chunks/chunk-SXODBYHA.js +0 -159
- package/dist/chunks/chunk-SXVB5MIT.js +0 -117
- package/dist/chunks/chunk-SY2GM6S3.js +0 -90
- package/dist/chunks/chunk-SYDC3H44.js +0 -80
- package/dist/chunks/chunk-SZDHWUSZ.js +0 -88
- package/dist/chunks/chunk-SZVD5QFY.js +0 -147
- package/dist/chunks/chunk-T2AJV6J4.js +0 -83
- package/dist/chunks/chunk-T2GRHO6M.js +0 -102
- package/dist/chunks/chunk-T2HFBZWM.js +0 -311
- package/dist/chunks/chunk-T4YZFUXN.js +0 -182
- package/dist/chunks/chunk-T5F2YJOJ.js +0 -331
- package/dist/chunks/chunk-TAMGKTIJ.js +0 -164
- package/dist/chunks/chunk-TBRGDJL6.js +0 -86
- package/dist/chunks/chunk-TD6LAQBO.js +0 -154
- package/dist/chunks/chunk-TEIPZDLW.js +0 -204
- package/dist/chunks/chunk-TEUJMM3B.js +0 -368
- package/dist/chunks/chunk-TEWXAWB6.js +0 -192
- package/dist/chunks/chunk-TGURMGHP.js +0 -91
- package/dist/chunks/chunk-THNNRTQ4.js +0 -166
- package/dist/chunks/chunk-THZSTFMN.js +0 -106
- package/dist/chunks/chunk-TIEJDUHL.js +0 -185
- package/dist/chunks/chunk-TJNFPG2A.js +0 -102
- package/dist/chunks/chunk-TKASS4LY.js +0 -95
- package/dist/chunks/chunk-TLAPGPSX.js +0 -260
- package/dist/chunks/chunk-TPT2A73K.js +0 -258
- package/dist/chunks/chunk-TSBX7X3G.js +0 -303
- package/dist/chunks/chunk-TT6YVT4Z.js +0 -93
- package/dist/chunks/chunk-TXTZF6W4.js +0 -149
- package/dist/chunks/chunk-TXXICASN.js +0 -329
- package/dist/chunks/chunk-TYTX3B73.js +0 -81
- package/dist/chunks/chunk-TZVAAKYL.js +0 -46
- package/dist/chunks/chunk-TZZHMBDD.js +0 -154
- package/dist/chunks/chunk-U2ENIHUX.js +0 -76
- package/dist/chunks/chunk-U3ZT2VD4.js +0 -94
- package/dist/chunks/chunk-U4AAN7BS.js +0 -23
- package/dist/chunks/chunk-U5MC3QA3.js +0 -183
- package/dist/chunks/chunk-U6BJEIQP.js +0 -267
- package/dist/chunks/chunk-U6VHI6OH.js +0 -101
- package/dist/chunks/chunk-UBSY7DFF.js +0 -173
- package/dist/chunks/chunk-UCXVXXBG.js +0 -172
- package/dist/chunks/chunk-UDOGV76Y.js +0 -106
- package/dist/chunks/chunk-UDY3MLAZ.js +0 -124
- package/dist/chunks/chunk-UFH65KZI.js +0 -1393
- package/dist/chunks/chunk-UGVUKMNG.js +0 -274
- package/dist/chunks/chunk-UH5VSGA3.js +0 -1136
- package/dist/chunks/chunk-UIM2XET6.js +0 -260
- package/dist/chunks/chunk-UIWXIRRZ.js +0 -118
- package/dist/chunks/chunk-UIZNOAO4.js +0 -48
- package/dist/chunks/chunk-UNPW3UXC.js +0 -135
- package/dist/chunks/chunk-UPIAYACD.js +0 -53
- package/dist/chunks/chunk-UTRLOULL.js +0 -217
- package/dist/chunks/chunk-UTYCK652.js +0 -79
- package/dist/chunks/chunk-UWK4DADA.js +0 -147
- package/dist/chunks/chunk-UXC2PNCO.js +0 -55
- package/dist/chunks/chunk-UY6BUNGT.js +0 -33
- package/dist/chunks/chunk-V3N4OUHQ.js +0 -122
- package/dist/chunks/chunk-V534BI5Q.js +0 -287
- package/dist/chunks/chunk-V5CPTZAT.js +0 -100
- package/dist/chunks/chunk-V5NM5KTY.js +0 -128
- package/dist/chunks/chunk-VAIY2FY2.js +0 -134
- package/dist/chunks/chunk-VBM24EFF.js +0 -231
- package/dist/chunks/chunk-VC5RMGXC.js +0 -336
- package/dist/chunks/chunk-VCB4BNWN.js +0 -108
- package/dist/chunks/chunk-VE54GRQH.js +0 -250
- package/dist/chunks/chunk-VETXB6RM.js +0 -104
- package/dist/chunks/chunk-VFLJOFZZ.js +0 -424
- package/dist/chunks/chunk-VFM5V4Z3.js +0 -270
- package/dist/chunks/chunk-VGLBO4A4.js +0 -182
- package/dist/chunks/chunk-VGNHEFKY.js +0 -204
- package/dist/chunks/chunk-VI7W23WM.js +0 -277
- package/dist/chunks/chunk-VL7X2H7P.js +0 -172
- package/dist/chunks/chunk-VLU6TVTF.js +0 -51
- package/dist/chunks/chunk-VMTYPIUG.js +0 -104
- package/dist/chunks/chunk-VNB7JR2V.js +0 -123
- package/dist/chunks/chunk-VNGFYR6A.js +0 -391
- package/dist/chunks/chunk-VOBV7WFT.js +0 -95
- package/dist/chunks/chunk-VQHRKZZU.js +0 -100
- package/dist/chunks/chunk-VQR65YRR.js +0 -166
- package/dist/chunks/chunk-VQY2PF6O.js +0 -81
- package/dist/chunks/chunk-VS53WX7T.js +0 -101
- package/dist/chunks/chunk-VSWLSC6K.js +0 -282
- package/dist/chunks/chunk-VUFFLAWP.js +0 -172
- package/dist/chunks/chunk-VVBG4WNN.js +0 -199
- package/dist/chunks/chunk-VVS4ZQ7X.js +0 -130
- package/dist/chunks/chunk-VWDADJHC.js +0 -33
- package/dist/chunks/chunk-W3OKPZPN.js +0 -167
- package/dist/chunks/chunk-W5AHXXYK.js +0 -166
- package/dist/chunks/chunk-W5HDW2AI.js +0 -196
- package/dist/chunks/chunk-W5NLTWEG.js +0 -237
- package/dist/chunks/chunk-W5TKEG6G.js +0 -304
- package/dist/chunks/chunk-W5ZC3QXY.js +0 -1845
- package/dist/chunks/chunk-WBH7WTHV.js +0 -574
- package/dist/chunks/chunk-WC3H5XP3.js +0 -28
- package/dist/chunks/chunk-WCXDLKUP.js +0 -182
- package/dist/chunks/chunk-WD6LCUHI.js +0 -299
- package/dist/chunks/chunk-WDKS4Q4B.js +0 -122
- package/dist/chunks/chunk-WE74VG7G.js +0 -118
- package/dist/chunks/chunk-WHF5HVYJ.js +0 -145
- package/dist/chunks/chunk-WHXLS6MF.js +0 -33
- package/dist/chunks/chunk-WLVQE4VL.js +0 -158
- package/dist/chunks/chunk-WNJ43MJD.js +0 -312
- package/dist/chunks/chunk-WNKXEZVI.js +0 -151
- package/dist/chunks/chunk-WNMHTHQM.js +0 -358
- package/dist/chunks/chunk-WOWR2TVH.js +0 -298
- package/dist/chunks/chunk-WP4RX7T5.js +0 -138
- package/dist/chunks/chunk-WQVTBBXL.js +0 -251
- package/dist/chunks/chunk-WS76KAYF.js +0 -175
- package/dist/chunks/chunk-WSK2MP5Y.js +0 -197
- package/dist/chunks/chunk-WSZSCRCI.js +0 -141
- package/dist/chunks/chunk-WTQRSL65.js +0 -112
- package/dist/chunks/chunk-WUC767YJ.js +0 -127
- package/dist/chunks/chunk-WVAK7JCP.js +0 -270
- package/dist/chunks/chunk-WVJYGVES.js +0 -74
- package/dist/chunks/chunk-WVVD77J4.js +0 -179
- package/dist/chunks/chunk-WW3KMK5Z.js +0 -123
- package/dist/chunks/chunk-WYZMJSR4.js +0 -160
- package/dist/chunks/chunk-WZ7EJCW2.js +0 -104
- package/dist/chunks/chunk-X33WAEUJ.js +0 -118
- package/dist/chunks/chunk-X5AQIDE2.js +0 -156
- package/dist/chunks/chunk-XC5TR25N.js +0 -152
- package/dist/chunks/chunk-XDT4ITUB.js +0 -163
- package/dist/chunks/chunk-XG3ALKG2.js +0 -158
- package/dist/chunks/chunk-XGSBQUHC.js +0 -74
- package/dist/chunks/chunk-XH32W53D.js +0 -1307
- package/dist/chunks/chunk-XHNAOFWV.js +0 -33
- package/dist/chunks/chunk-XHRZ4JOB.js +0 -23
- package/dist/chunks/chunk-XHZQA2HB.js +0 -180
- package/dist/chunks/chunk-XI5FUBAQ.js +0 -651
- package/dist/chunks/chunk-XIJMDBQB.js +0 -79
- package/dist/chunks/chunk-XJ4IKSN2.js +0 -113
- package/dist/chunks/chunk-XJBGYILD.js +0 -99
- package/dist/chunks/chunk-XJZSDXEC.js +0 -97
- package/dist/chunks/chunk-XKFTMZO2.js +0 -155
- package/dist/chunks/chunk-XLB3EWLY.js +0 -97
- package/dist/chunks/chunk-XLUSU53J.js +0 -98
- package/dist/chunks/chunk-XM2W7YBY.js +0 -99
- package/dist/chunks/chunk-XMJESQG2.js +0 -224
- package/dist/chunks/chunk-XMRTIOEO.js +0 -33
- package/dist/chunks/chunk-XO3557DI.js +0 -152
- package/dist/chunks/chunk-XOZLK6DW.js +0 -92
- package/dist/chunks/chunk-XPRN7ZFT.js +0 -52
- package/dist/chunks/chunk-XQAZUIM3.js +0 -181
- package/dist/chunks/chunk-XT4Y4FUS.js +0 -685
- package/dist/chunks/chunk-XXGOWEOO.js +0 -120
- package/dist/chunks/chunk-Y3GGO4EO.js +0 -115
- package/dist/chunks/chunk-Y4BK2LWG.js +0 -197
- package/dist/chunks/chunk-YADEW6PA.js +0 -181
- package/dist/chunks/chunk-YBACAFRG.js +0 -23
- package/dist/chunks/chunk-YCVBO72U.js +0 -118
- package/dist/chunks/chunk-YCXTJOJ6.js +0 -33
- package/dist/chunks/chunk-YEOMPUVM.js +0 -146
- package/dist/chunks/chunk-YFYAVWRX.js +0 -261
- package/dist/chunks/chunk-YGLCZ3EJ.js +0 -260
- package/dist/chunks/chunk-YJYFWREA.js +0 -214
- package/dist/chunks/chunk-YKEIA4B6.js +0 -123
- package/dist/chunks/chunk-YL7UR6SQ.js +0 -133
- package/dist/chunks/chunk-YOG7PRIS.js +0 -90
- package/dist/chunks/chunk-YOKIINRU.js +0 -83
- package/dist/chunks/chunk-YPSMFMFY.js +0 -104
- package/dist/chunks/chunk-YPZFSYYF.js +0 -168
- package/dist/chunks/chunk-YQ6JTOJG.js +0 -293
- package/dist/chunks/chunk-YRVOJVEO.js +0 -75
- package/dist/chunks/chunk-YUVKXDSB.js +0 -93
- package/dist/chunks/chunk-YWGC64QH.js +0 -111
- package/dist/chunks/chunk-YWQVS363.js +0 -290
- package/dist/chunks/chunk-YZQV7SR5.js +0 -84
- package/dist/chunks/chunk-Z46HEUNT.js +0 -33
- package/dist/chunks/chunk-Z4UGPWPI.js +0 -229
- package/dist/chunks/chunk-Z7ALEKAF.js +0 -140
- package/dist/chunks/chunk-Z7PLG4EE.js +0 -90
- package/dist/chunks/chunk-ZAKBXIDX.js +0 -122
- package/dist/chunks/chunk-ZB5RFYBX.js +0 -115
- package/dist/chunks/chunk-ZBSFNT54.js +0 -102
- package/dist/chunks/chunk-ZDWOPCKZ.js +0 -150
- package/dist/chunks/chunk-ZEHR6WTK.js +0 -45
- package/dist/chunks/chunk-ZEJJPLNB.js +0 -69
- package/dist/chunks/chunk-ZEL3PEG5.js +0 -109
- package/dist/chunks/chunk-ZGDIS5FL.js +0 -97
- package/dist/chunks/chunk-ZHTEK2CJ.js +0 -33
- package/dist/chunks/chunk-ZJ5UMYA7.js +0 -161
- package/dist/chunks/chunk-ZJC7TOOQ.js +0 -41
- package/dist/chunks/chunk-ZJE4RQO2.js +0 -110
- package/dist/chunks/chunk-ZJH3RABK.js +0 -315
- package/dist/chunks/chunk-ZK7LWL3A.js +0 -626
- package/dist/chunks/chunk-ZMFWL54Z.js +0 -224
- package/dist/chunks/chunk-ZNCWMUQW.js +0 -87
- package/dist/chunks/chunk-ZPCWV6KC.js +0 -226
- package/dist/chunks/chunk-ZPKZRQXE.js +0 -45
- package/dist/chunks/chunk-ZPRRHPPV.js +0 -150
- package/dist/chunks/chunk-ZRSN4WGX.js +0 -147
- package/dist/chunks/chunk-ZY4NXOQ3.js +0 -961
- package/dist/chunks/chunk-ZY4RNFVT.js +0 -23
- package/dist/chunks/chunk-ZZGT53UI.js +0 -107
- package/dist/chunks/client-2HEZOM5I.js +0 -44
- package/dist/chunks/client-PM4VE3FO.js +0 -167
- package/dist/chunks/client-YZJYMQ2D.js +0 -31
- package/dist/chunks/client-actions-R5CL2RHR.js +0 -160
- package/dist/chunks/dangerous-YODZTOJG.js +0 -117
- package/dist/chunks/editor-seams-FQSYE6HQ.js +0 -161
- package/dist/chunks/editor-store-KJ3AIOPU.js +0 -139
- package/dist/chunks/export-MFXW233Y.js +0 -67
- package/dist/chunks/export-watermark-4IFE3L4K.js +0 -146
- package/dist/chunks/eyedropper-C5UHGUR7.js +0 -349
- package/dist/chunks/generate-media-KJZ7VHYQ.js +0 -253
- package/dist/chunks/host-PUTKYE2R.js +0 -171
- package/dist/chunks/integrations-AXAFDQBT.js +0 -115
- package/dist/chunks/kit-modules-6IOQJIEK.js +0 -18
- package/dist/chunks/libraries-G6WVELP7.js +0 -302
- package/dist/chunks/library-previews-2VGORSSU.js +0 -199
- package/dist/chunks/live-DXSEWNVA.js +0 -312
- package/dist/chunks/lottie-YCFQLOBY.js +0 -86
- package/dist/chunks/media-tool-K7HGCPXA.js +0 -332
- package/dist/chunks/new-file-KHJYOXLH.js +0 -129
- package/dist/chunks/page-thumbnails-NGBLARCZ.js +0 -137
- package/dist/chunks/pdf-E3BMX2WG.js +0 -1217
- package/dist/chunks/player-check-MP7S6J7X.js +0 -114
- package/dist/chunks/plugin-QW7XZQI4.js +0 -124
- package/dist/chunks/plugin-import-7FVQOCVU.js +0 -666
- package/dist/chunks/presence-NEF4UOQK.js +0 -127
- package/dist/chunks/preview-media-DU7U7PZH.js +0 -122
- package/dist/chunks/project-B3N2VRXF.js +0 -1653
- package/dist/chunks/publish-site-GWI7H5IU.js +0 -158
- package/dist/chunks/publish-store-4DJSJ6BH.js +0 -93
- package/dist/chunks/raster-actions-NFJCUMNQ.js +0 -229
- package/dist/chunks/reference-images-ZMMDYIQC.js +0 -62
- package/dist/chunks/resolvers-D4HAYQLE.js +0 -139
- package/dist/chunks/runner-CSW2Q53C.js +0 -1233
- package/dist/chunks/runtime-2S7AC64V.js +0 -32
- package/dist/chunks/shader-preview-YMF26YTT.js +0 -518
- package/dist/chunks/sites-NS663WRQ.js +0 -33
- package/dist/chunks/store-EKGSYCGL.js +0 -224
- package/dist/chunks/storefront-NCVPH27Q.js +0 -329
- package/dist/chunks/storefront-prepare-Y4SNFUE5.js +0 -33
- package/dist/chunks/svg-export-PUSTHART.js +0 -81
- package/dist/chunks/sync-WUFGCQPC.js +0 -153
- package/dist/chunks/tabs-LD5HEI5D.js +0 -311
- package/dist/chunks/team-KRB33NWX.js +0 -44
- package/dist/chunks/team-client-PD64YP6X.js +0 -157
- package/dist/chunks/templates-YFT6JJGD.js +0 -181
- package/dist/chunks/tools-MX42MEQX.js +0 -35
- package/dist/chunks/ui-commands-WFQWC656.js +0 -269
- package/dist/chunks/versions-JSAGYTWF.js +0 -311
- package/dist/chunks/video-LLS3JYU6.js +0 -75
- /package/dist/chunks/{chunk-4VAZPUKQ.js → chunk-5PSOLUKI.js} +0 -0
- /package/dist/chunks/{chunk-5RYYTRAQ.js → chunk-HENTV2KD.js} +0 -0
- /package/dist/chunks/{chunk-VCOQ4FKI.js → chunk-JIZTNKHY.js} +0 -0
|
@@ -1,1136 +0,0 @@
|
|
|
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
|
-
blurFx,
|
|
15
|
-
box,
|
|
16
|
-
close,
|
|
17
|
-
drift,
|
|
18
|
-
focusColumn,
|
|
19
|
-
focusRow,
|
|
20
|
-
gameKit,
|
|
21
|
-
gameVar,
|
|
22
|
-
glow,
|
|
23
|
-
go,
|
|
24
|
-
keybind,
|
|
25
|
-
keys,
|
|
26
|
-
label,
|
|
27
|
-
menu,
|
|
28
|
-
onAll,
|
|
29
|
-
oneShot,
|
|
30
|
-
overlay,
|
|
31
|
-
poly,
|
|
32
|
-
readout,
|
|
33
|
-
rebindListener,
|
|
34
|
-
screen,
|
|
35
|
-
sector,
|
|
36
|
-
set,
|
|
37
|
-
slider,
|
|
38
|
-
spin,
|
|
39
|
-
toggle,
|
|
40
|
-
toggleComponent,
|
|
41
|
-
when
|
|
42
|
-
} from "./chunk-NUMUHHSN.js";
|
|
43
|
-
import {
|
|
44
|
-
defineTemplate
|
|
45
|
-
} from "./chunk-HLBQLOTA.js";
|
|
46
|
-
import {
|
|
47
|
-
init_define_POPCRAFT_COMPONENT_IDS
|
|
48
|
-
} from "./chunk-FFS4SO7R.js";
|
|
49
|
-
|
|
50
|
-
// templates/src/game/neon-apex-racing.ts
|
|
51
|
-
init_define_POPCRAFT_COMPONENT_IDS();
|
|
52
|
-
var CARS = [
|
|
53
|
-
{
|
|
54
|
-
name: "LUMEN 77",
|
|
55
|
-
kind: "Wedge coup\xE9",
|
|
56
|
-
blurb: "A folded-paper wedge with a V12 behind your ears. Loves the long straights.",
|
|
57
|
-
top: 318,
|
|
58
|
-
grip: 64,
|
|
59
|
-
acc: 70,
|
|
60
|
-
body: [[40, 190], [58, 152], [250, 132], [420, 82], [560, 80], [700, 120], [860, 140], [884, 176], [862, 202], [40, 206]],
|
|
61
|
-
glass: [[432, 94], [556, 92], [650, 124], [402, 128]],
|
|
62
|
-
wheels: [200, 716],
|
|
63
|
-
wing: 40
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
name: "CORSAIR VX-2",
|
|
67
|
-
kind: "Grand tourer",
|
|
68
|
-
blurb: "Long, low and planted. Takes a corner like it signed a contract.",
|
|
69
|
-
top: 302,
|
|
70
|
-
grip: 82,
|
|
71
|
-
acc: 62,
|
|
72
|
-
body: [[30, 186], [52, 160], [300, 140], [452, 94], [604, 92], [762, 140], [870, 150], [888, 182], [870, 206], [30, 206]],
|
|
73
|
-
glass: [[462, 104], [598, 102], [722, 138], [442, 140]],
|
|
74
|
-
wheels: [212, 732],
|
|
75
|
-
wing: 30
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
name: "NOVA TIDE",
|
|
79
|
-
kind: "Rally hatch",
|
|
80
|
-
blurb: "Short wheelbase, turbo whistle, launches off the line like a flare.",
|
|
81
|
-
top: 284,
|
|
82
|
-
grip: 72,
|
|
83
|
-
acc: 88,
|
|
84
|
-
body: [[60, 196], [70, 142], [240, 126], [360, 62], [600, 60], [690, 120], [840, 136], [862, 172], [842, 206], [60, 206]],
|
|
85
|
-
glass: [[376, 74], [590, 72], [662, 122], [352, 124]],
|
|
86
|
-
wheels: [224, 704],
|
|
87
|
-
wing: 60
|
|
88
|
-
}
|
|
89
|
-
];
|
|
90
|
-
var PAINTS = ["Hot magenta", "Sunset orange", "Laser cyan", "Acid lime", "Pearl chrome"];
|
|
91
|
-
var TRACKS = [
|
|
92
|
-
{
|
|
93
|
-
name: "SUNSET MILE",
|
|
94
|
-
place: "Palmera Coast",
|
|
95
|
-
km: 4.2,
|
|
96
|
-
best: 41250,
|
|
97
|
-
blurb: "Palms, a boardwalk hairpin and a mile-long run into the sun.",
|
|
98
|
-
pts: [[0.1, 0.8], [0.1, 0.3], [0.25, 0.1], [0.6, 0.1], [0.7, 0.3], [0.9, 0.35], [0.95, 0.7], [0.75, 0.9], [0.3, 0.9]]
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
name: "NEON VEIL",
|
|
102
|
-
place: "Vesper Harbour",
|
|
103
|
-
km: 3.6,
|
|
104
|
-
best: 38900,
|
|
105
|
-
blurb: "Ninety-degree city blocks under the holo-billboards.",
|
|
106
|
-
pts: [[0.1, 0.1], [0.9, 0.1], [0.9, 0.45], [0.55, 0.45], [0.55, 0.9], [0.1, 0.9]]
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
name: "GLASS CANYON",
|
|
110
|
-
place: "Duneglass Basin",
|
|
111
|
-
km: 5.1,
|
|
112
|
-
best: 46700,
|
|
113
|
-
blurb: "Fast sweepers through a canyon of fused desert glass.",
|
|
114
|
-
pts: [[0.15, 0.85], [0.05, 0.5], [0.3, 0.15], [0.5, 0.4], [0.7, 0.1], [0.95, 0.3], [0.8, 0.65], [0.9, 0.9], [0.5, 0.75]]
|
|
115
|
-
}
|
|
116
|
-
];
|
|
117
|
-
var RIVALS = ["VEGA ARDENT", "KAI MOROSINI", "IONA FELL", "RUSK OYELARAN", "DELPHINE CARO", "MAREK SOLTANI", "TOVE HALLORAN"];
|
|
118
|
-
var CREDITS = [
|
|
119
|
-
["Game direction", "Sunniva Okonkwo-Reyes"],
|
|
120
|
-
["Handling model", "Mattias Brandvold"],
|
|
121
|
-
["Art direction", "Luc\xEDa Ferreira-Nakamura"],
|
|
122
|
-
["Cars and circuits", "Theo Anand \xB7 Rosalind Park"],
|
|
123
|
-
["HUD and interface", "Ilya Marchetti"],
|
|
124
|
-
["Music and engine audio", "The Cassette Choir"],
|
|
125
|
-
["Engineering", "Petra Lindahl \xB7 Obi Mensah \xB7 Hana Kova\u010D"],
|
|
126
|
-
["Quality assurance", "Everyone who lapped Sunset Mile at 2 a.m."],
|
|
127
|
-
["Special thanks", "The last arcade on Vesper Pier"]
|
|
128
|
-
];
|
|
129
|
-
var HORIZON = 640;
|
|
130
|
-
var COOL = 2600;
|
|
131
|
-
var DIAL_MAX = 360;
|
|
132
|
-
var neon_apex_racing_default = defineTemplate({
|
|
133
|
-
id: "game-neon-apex-racing",
|
|
134
|
-
meta: {
|
|
135
|
-
name: "NEON APEX \u2014 synthwave arcade racing UI",
|
|
136
|
-
description: "A playable synthwave arcade racer front end and race HUD: boot log, dusk title with a scrolling grid road, keyboard menus, a garage with live paint and tuning sliders that move the stat bars, track select with minimaps and best times, working settings (km/h or mph, camera shake, key bindings), a 3-2-1-GO countdown, a HUD whose needle glides, tach lights, nitro drains and cools down, position board reorders and damage wrecks you, pause, podium results with a new-record pop, and a DNF screen",
|
|
137
|
-
category: "game-ui",
|
|
138
|
-
tags: ["game", "game ui", "hud", "racing", "arcade", "synthwave", "retro", "driving", "interactive", "variables", "keyboard", "menus", "present mode"],
|
|
139
|
-
platforms: ["desktop"],
|
|
140
|
-
formats: ["screen"],
|
|
141
|
-
useCases: ["launch", "pitch"],
|
|
142
|
-
created: "2026-09-30",
|
|
143
|
-
updated: "2026-09-30"
|
|
144
|
-
},
|
|
145
|
-
build() {
|
|
146
|
-
const k = gameKit("NEON APEX");
|
|
147
|
-
k.brand({
|
|
148
|
-
void: "#0B0418",
|
|
149
|
-
night: "#12052A",
|
|
150
|
-
dusk: "#3B0F5E",
|
|
151
|
-
skyLow: "#8E1C66",
|
|
152
|
-
ground: "#0E0420",
|
|
153
|
-
asphalt: "#140828",
|
|
154
|
-
panel: "#150828",
|
|
155
|
-
line: "#3F2066",
|
|
156
|
-
grid: "#FF2FB9",
|
|
157
|
-
ridge: "#24093F",
|
|
158
|
-
silhouette: "#060110",
|
|
159
|
-
sunTop: "#FFD84A",
|
|
160
|
-
sunLow: "#FF3D8B",
|
|
161
|
-
neon: "#FF2E97",
|
|
162
|
-
amber: "#FF9A1F",
|
|
163
|
-
cyan: "#2DE2FF",
|
|
164
|
-
chrome: "#F4EEFF",
|
|
165
|
-
onVoid: "#FFF3FB",
|
|
166
|
-
dim: "#CDB1EA",
|
|
167
|
-
onPanel: "#FFF3FB",
|
|
168
|
-
onAmber: "#1C0B00",
|
|
169
|
-
onCyan: "#021418",
|
|
170
|
-
good: "#3DFFA2",
|
|
171
|
-
bad: "#FF5A74",
|
|
172
|
-
warn: "#FFC43D",
|
|
173
|
-
smoke: "#3E2C55",
|
|
174
|
-
tyre: "#07030E",
|
|
175
|
-
glass: "#1B0F3A",
|
|
176
|
-
scrim: "#070211",
|
|
177
|
-
paint0: "#FF2E97",
|
|
178
|
-
paint1: "#FF8A1F",
|
|
179
|
-
paint2: "#2DE2FF",
|
|
180
|
-
paint3: "#B8FF3C",
|
|
181
|
-
paint4: "#E9E4F5",
|
|
182
|
-
primary: "#FF2E97",
|
|
183
|
-
onPrimary: "#1A0010",
|
|
184
|
-
accent: "#2DE2FF",
|
|
185
|
-
onAccent: "#021418"
|
|
186
|
-
}, { title: "NEON APEX", studio: "Redline Assembly", tagline: "Race the sunset. It never quite sets." });
|
|
187
|
-
const driver = gameVar(k, "Player", "driver", "STRING", "ZEPHYR");
|
|
188
|
-
const speed = gameVar(k, "Race", "speed", "FLOAT", 0);
|
|
189
|
-
const dist = gameVar(k, "Race", "distance", "FLOAT", 0);
|
|
190
|
-
const laps = gameVar(k, "Race", "laps", "FLOAT", 3);
|
|
191
|
-
const pos = gameVar(k, "Race", "position", "FLOAT", 6);
|
|
192
|
-
const racers = gameVar(k, "Race", "racers", "FLOAT", 8);
|
|
193
|
-
const nitro = gameVar(k, "Race", "nitro", "FLOAT", 100);
|
|
194
|
-
const nitroAt = gameVar(k, "Race", "nitroAt", "FLOAT", 0);
|
|
195
|
-
const damage = gameVar(k, "Race", "damage", "FLOAT", 0);
|
|
196
|
-
const damageLag = gameVar(k, "Race", "damageTrail", "FLOAT", 0);
|
|
197
|
-
const maxDamage = gameVar(k, "Race", "maxDamage", "FLOAT", 100);
|
|
198
|
-
const steer = gameVar(k, "Race", "steer", "FLOAT", 0);
|
|
199
|
-
const brake = gameVar(k, "Race", "brake", "FLOAT", 0);
|
|
200
|
-
const hitFx = gameVar(k, "Race", "hitFlash", "FLOAT", 0);
|
|
201
|
-
const boostFx = gameVar(k, "Race", "boostFlash", "FLOAT", 0);
|
|
202
|
-
const delta = gameVar(k, "Race", "ghostDelta", "FLOAT", 0);
|
|
203
|
-
const raceStart = gameVar(k, "Race", "raceStart", "FLOAT", 0);
|
|
204
|
-
const lapStart = gameVar(k, "Race", "lapStart", "FLOAT", 0);
|
|
205
|
-
const lastLap = gameVar(k, "Race", "lastLap", "FLOAT", 0);
|
|
206
|
-
const finishTime = gameVar(k, "Race", "finishTime", "FLOAT", 0);
|
|
207
|
-
const record = gameVar(k, "Race", "newRecord", "FLOAT", 0);
|
|
208
|
-
const mode = gameVar(k, "Race", "timeTrial", "FLOAT", 0);
|
|
209
|
-
const track = gameVar(k, "Race", "track", "FLOAT", 0);
|
|
210
|
-
const best = TRACKS.map((t, i) => gameVar(k, "Records", `best${i}`, "FLOAT", t.best));
|
|
211
|
-
const car = gameVar(k, "Garage", "car", "FLOAT", 0);
|
|
212
|
-
const paint = gameVar(k, "Garage", "paint", "FLOAT", 0);
|
|
213
|
-
const gear = gameVar(k, "Garage", "gearRatio", "FLOAT", 5);
|
|
214
|
-
const down = gameVar(k, "Garage", "downforce", "FLOAT", 50);
|
|
215
|
-
const psi = gameVar(k, "Garage", "tyrePressure", "FLOAT", 32);
|
|
216
|
-
const menuFocus = gameVar(k, "UI", "menuFocus", "FLOAT", 0);
|
|
217
|
-
const pauseFocus = gameVar(k, "UI", "pauseFocus", "FLOAT", 0);
|
|
218
|
-
const endFocus = gameVar(k, "UI", "endFocus", "FLOAT", 0);
|
|
219
|
-
const wreckFocus = gameVar(k, "UI", "wreckFocus", "FLOAT", 0);
|
|
220
|
-
const setFocus = gameVar(k, "UI", "settingsFocus", "FLOAT", 0);
|
|
221
|
-
const tuneFocus = gameVar(k, "UI", "tuneFocus", "FLOAT", 0);
|
|
222
|
-
const rebind = gameVar(k, "UI", "rebinding", "STRING", "");
|
|
223
|
-
const master = gameVar(k, "Settings", "masterVolume", "FLOAT", 80);
|
|
224
|
-
const music = gameVar(k, "Settings", "musicVolume", "FLOAT", 70);
|
|
225
|
-
const shake = gameVar(k, "Settings", "cameraShake", "FLOAT", 1);
|
|
226
|
-
const units = gameVar(k, "Settings", "mph", "FLOAT", 0);
|
|
227
|
-
const keyGas = gameVar(k, "Keys", "accelerate", "STRING", "W");
|
|
228
|
-
const keyBrake = gameVar(k, "Keys", "brake", "STRING", "S");
|
|
229
|
-
const keyNitro = gameVar(k, "Keys", "nitro", "STRING", "N");
|
|
230
|
-
const pick3 = (v, a) => `(${v} == 0 ? ${a[0]} : ${v} == 1 ? ${a[1]} : ${a[2]})`;
|
|
231
|
-
const TOP = `(${pick3(car.n, CARS.map((c) => c.top))} + (${gear.n} - 5) * 7 - (${down.n} - 50) * 0.35)`;
|
|
232
|
-
const GRIP = `clamp(${pick3(car.n, CARS.map((c) => c.grip))} + (${down.n} - 50) * 0.45 + (32 - ${psi.n}) * 2.5, 0, 100)`;
|
|
233
|
-
const ACCEL = `clamp(${pick3(car.n, CARS.map((c) => c.acc))} - (${gear.n} - 5) * 6 + (${psi.n} - 32) * 0.8, 0, 100)`;
|
|
234
|
-
const ACC = `(22 + ${ACCEL} * 0.35)`;
|
|
235
|
-
const STEP = `(0.035 + ${speed.n} / 2600)`;
|
|
236
|
-
const NSTEP = `(0.2 + ${speed.n} / 2600)`;
|
|
237
|
-
const kmh = (e2) => `(${units.n} == 1 ? round((${e2}) * 0.6214) : round(${e2}))`;
|
|
238
|
-
const UNIT = `(${units.n} == 1 ? "MPH" : "KM/H")`;
|
|
239
|
-
const bands = [0, 60, 110, 160, 210, 255];
|
|
240
|
-
const GEAR = bands.slice(1).reduceRight((acc, b, i) => `${speed.n} < ${b} ? ${i + 1} : (${acc})`, "6");
|
|
241
|
-
const RPM = `max(0.08, ${bands.slice(1).reduceRight((acc, b, i) => `${speed.n} < ${b} ? (${speed.n} - ${bands[i]}) / ${b - bands[i]} : (${acc})`, `min(1, (${speed.n} - 255) / 110)`)})`;
|
|
242
|
-
const LAP = `min(${laps.n}, floor(${dist.n}) + 1)`;
|
|
243
|
-
const U = `(${dist.n} % 1)`;
|
|
244
|
-
const GAS = `(upper($key) == ${keyGas.n} || $key == "ArrowUp")`;
|
|
245
|
-
const BRAKE = `(upper($key) == ${keyBrake.n} || $key == "ArrowDown")`;
|
|
246
|
-
const LEFT = '(upper($key) == "A" || $key == "ArrowLeft")';
|
|
247
|
-
const RIGHT = '(upper($key) == "D" || $key == "ArrowRight")';
|
|
248
|
-
const NITRO = `upper($key) == ${keyNitro.n}`;
|
|
249
|
-
const CAN = `${nitro.n} >= 25 && now() - ${nitroAt.n} >= ${COOL}`;
|
|
250
|
-
const crosses = (step) => `floor(${dist.n} + ${step}) > floor(${dist.n}) && ${dist.n} + ${step} < ${laps.n}`;
|
|
251
|
-
const mono = { fontFamily: "JetBrains Mono" };
|
|
252
|
-
k.textStyle("Boot 22", { size: 22, fontWeight: 500, lineHeight: 34, ...mono });
|
|
253
|
-
k.textStyle("Studio 28", { size: 28, fontWeight: 800, letterSpacing: 12, lineHeight: 36, textCase: "UPPER" });
|
|
254
|
-
k.textStyle("Wordmark 170", { size: 170, fontWeight: 900, letterSpacing: -6, lineHeight: 160, fontStyle: "italic", textCase: "UPPER", textAlign: "CENTER" });
|
|
255
|
-
k.textStyle("Tagline 30", { size: 30, fontWeight: 600, letterSpacing: 1, lineHeight: 40, fontStyle: "italic", textAlign: "CENTER" });
|
|
256
|
-
k.textStyle("Prompt 24", { size: 24, fontWeight: 700, letterSpacing: 10, lineHeight: 32, textCase: "UPPER", textAlign: "CENTER", ...mono });
|
|
257
|
-
k.textStyle("Menu 44", { size: 44, fontWeight: 900, letterSpacing: 1, lineHeight: 52, fontStyle: "italic", textCase: "UPPER" });
|
|
258
|
-
k.textStyle("Hint 20", { size: 20, fontWeight: 500, letterSpacing: 2, lineHeight: 28, ...mono });
|
|
259
|
-
k.textStyle("Heading 72", { size: 72, fontWeight: 900, letterSpacing: -1, lineHeight: 80, fontStyle: "italic", textCase: "UPPER" });
|
|
260
|
-
k.textStyle("Label 26", { size: 26, fontWeight: 600, lineHeight: 34 });
|
|
261
|
-
k.textStyle("Value 26", { size: 26, fontWeight: 700, lineHeight: 34, ...mono });
|
|
262
|
-
k.textStyle("Cap 22", { size: 22, fontWeight: 700, letterSpacing: 2, lineHeight: 28, textAlign: "CENTER", ...mono });
|
|
263
|
-
k.textStyle("Small 18", { size: 18, fontWeight: 500, letterSpacing: 2, lineHeight: 24, textCase: "UPPER", ...mono });
|
|
264
|
-
k.textStyle("Tick 16", { size: 16, fontWeight: 700, lineHeight: 20, textAlign: "CENTER", ...mono });
|
|
265
|
-
k.textStyle("Body 24", { size: 24, fontWeight: 400, lineHeight: 34 });
|
|
266
|
-
k.textStyle("Car 40", { size: 40, fontWeight: 900, letterSpacing: 0, lineHeight: 46, fontStyle: "italic", textCase: "UPPER" });
|
|
267
|
-
k.textStyle("Speed 96", { size: 96, fontWeight: 800, letterSpacing: -4, lineHeight: 96, textAlign: "CENTER", ...mono });
|
|
268
|
-
k.textStyle("Gear 56", { size: 56, fontWeight: 900, lineHeight: 60, fontStyle: "italic", textAlign: "CENTER" });
|
|
269
|
-
k.textStyle("HUD 22", { size: 22, fontWeight: 700, letterSpacing: 2, lineHeight: 28, textCase: "UPPER", ...mono });
|
|
270
|
-
k.textStyle("Board 20", { size: 20, fontWeight: 600, letterSpacing: 1, lineHeight: 26, textCase: "UPPER", ...mono });
|
|
271
|
-
k.textStyle("Pos 72", { size: 72, fontWeight: 900, letterSpacing: -2, lineHeight: 72, fontStyle: "italic" });
|
|
272
|
-
k.textStyle("Lap 48", { size: 48, fontWeight: 900, lineHeight: 52, fontStyle: "italic", textAlign: "CENTER" });
|
|
273
|
-
k.textStyle("Clock 30", { size: 30, fontWeight: 700, lineHeight: 36, textAlign: "CENTER", ...mono });
|
|
274
|
-
k.textStyle("Delta 34", { size: 34, fontWeight: 800, lineHeight: 40, textAlign: "CENTER", ...mono });
|
|
275
|
-
k.textStyle("Count 320", { size: 320, fontWeight: 900, letterSpacing: -10, lineHeight: 300, fontStyle: "italic", textAlign: "CENTER" });
|
|
276
|
-
k.textStyle("Alert 30", { size: 30, fontWeight: 800, letterSpacing: 6, lineHeight: 38, textCase: "UPPER", textAlign: "CENTER", ...mono });
|
|
277
|
-
k.textStyle("Stat 64", { size: 64, fontWeight: 800, lineHeight: 72, ...mono });
|
|
278
|
-
k.textStyle("Record 52", { size: 52, fontWeight: 900, letterSpacing: 2, lineHeight: 60, fontStyle: "italic", textCase: "UPPER", textAlign: "CENTER" });
|
|
279
|
-
k.textStyle("Place 200", { size: 200, fontWeight: 900, letterSpacing: -8, lineHeight: 190, fontStyle: "italic", textAlign: "CENTER" });
|
|
280
|
-
k.textStyle("Credit role 20", { size: 20, fontWeight: 600, letterSpacing: 4, lineHeight: 28, textCase: "UPPER", textAlign: "CENTER", ...mono });
|
|
281
|
-
k.textStyle("Credit name 36", { size: 36, fontWeight: 800, lineHeight: 44, fontStyle: "italic", textAlign: "CENTER" });
|
|
282
|
-
const e = (name) => ({ kind: "ease", name });
|
|
283
|
-
k.variantSet(
|
|
284
|
-
"Neon button",
|
|
285
|
-
"State",
|
|
286
|
-
["Idle", "Hover", "Pressed"],
|
|
287
|
-
{ direction: "HORIZONTAL", width: "HUG", gap: 14, align: "CENTER", padding: { top: 14, right: 30, bottom: 14, left: 30 }, radius: 4, props: { Label: "Back" }, description: "A slanted neon button: hover lights it magenta, pressing flashes it cyan." },
|
|
288
|
-
(state, id) => {
|
|
289
|
-
k.propText(id, "Label", { style: "Hint 20", color: state === "Idle" ? "onPanel" : state === "Hover" ? "onPrimary" : "onCyan", autoWidth: true });
|
|
290
|
-
},
|
|
291
|
-
(state) => ({ fill: state === "Idle" ? k.tint("panel", 0.92) : state === "Hover" ? "primary" : "cyan", stroke: { color: state === "Idle" ? "neon" : "chrome", width: 2, align: "INSIDE" }, effects: state === "Idle" ? [] : [glow(k, "neon", 22, 0.8)] })
|
|
292
|
-
);
|
|
293
|
-
k.changeTo("Neon button/Idle", "ON_HOVER", "Neon button/Hover", 120);
|
|
294
|
-
k.changeTo("Neon button/Hover", "ON_PRESS", "Neon button/Pressed", 60);
|
|
295
|
-
toggleComponent(k, { track: "line", on: "primary", knob: "chrome", stateStyle: "Small 18", ink: "onVoid" });
|
|
296
|
-
k.variantSet("Impact", "State", ["Idle", "Shake", "Flash"], { width: W, height: H, description: "The wall hit: Shake jolts the edges and flashes red, Flash only flashes (camera shake off). Change to it on every hit." }, (state, id) => {
|
|
297
|
-
const f = k.rect(id, W, H, [k.gradient({ from: "bad", to: "bad", kind: "RADIAL", fromOpacity: 0, toOpacity: 0.8, handles: [{ x: 0.5, y: 0.5 }, { x: 1.05, y: 0.5 }, { x: 0.5, y: 1.1 }] })], { name: "Red flash", absolute: { x: 0, y: 0 }, opacity: 0 });
|
|
298
|
-
const top = k.rect(id, W, 26, "silhouette", { name: "Jolt bar top", absolute: { x: 0, y: -26 } });
|
|
299
|
-
const bot = k.rect(id, W, 26, "silhouette", { name: "Jolt bar bottom", absolute: { x: 0, y: H } });
|
|
300
|
-
const shard = poly(k, id, [[1180, 380], [1320, 300], [1260, 420], [1420, 470], [1250, 470]], "chrome", { name: "Glass shard", opacity: 0 });
|
|
301
|
-
if (state === "Idle") return;
|
|
302
|
-
keys(k, f, "opacity", [{ t: 0, v: 1, ease: { kind: "hold" } }, { t: 400, v: 1, ease: e("cubic-in") }, { t: 1100, v: 0 }]);
|
|
303
|
-
keys(k, shard, "opacity", [{ t: 0, v: 0.8, ease: e("cubic-out") }, { t: 400, v: 0 }]);
|
|
304
|
-
if (state === "Shake") {
|
|
305
|
-
keys(k, top, "translateY", [{ t: 0, v: 26, ease: e("cubic-out") }, { t: 80, v: 10 }, { t: 160, v: 22 }, { t: 360, v: 0 }]);
|
|
306
|
-
keys(k, bot, "translateY", [{ t: 0, v: -26, ease: e("cubic-out") }, { t: 80, v: -8 }, { t: 160, v: -20 }, { t: 360, v: 0 }]);
|
|
307
|
-
keys(k, shard, "translateX", [{ t: 0, v: -30 }, { t: 60, v: 24 }, { t: 120, v: -16 }, { t: 180, v: 10 }, { t: 400, v: 0 }]);
|
|
308
|
-
}
|
|
309
|
-
}, (s) => s === "Idle" ? {} : { timeline: { duration: 1150 } });
|
|
310
|
-
oneShot(k, "Boost", { width: W, height: H, state: "Fire", duration: 900, description: "Nitro fires: edge streaks burst toward the vanishing point, a cyan wash and exhaust flames." }, (state, id) => {
|
|
311
|
-
const wash = k.rect(id, W, H, [k.gradient({ from: "cyan", to: "cyan", kind: "RADIAL", fromOpacity: 0, toOpacity: 0.5, handles: [{ x: 0.5, y: 0.55 }, { x: 1, y: 0.55 }, { x: 0.5, y: 1.1 }] })], { name: "Boost wash", absolute: { x: 0, y: 0 }, opacity: 0 });
|
|
312
|
-
const flames = box(k, id, 820, 850, 280, 90, { name: "Exhaust flames" });
|
|
313
|
-
const fl = poly(k, flames, [[20, 0], [60, 0], [48, 70], [40, 90], [32, 70]], "cyan", { name: "Flame left", opacity: 0, effects: [glow(k, "cyan", 20)] });
|
|
314
|
-
const fr = poly(k, flames, [[220, 0], [260, 0], [248, 70], [240, 90], [232, 70]], "cyan", { name: "Flame right", opacity: 0, effects: [glow(k, "cyan", 20)] });
|
|
315
|
-
const streaks = [];
|
|
316
|
-
for (let i = 0; i < 10; i++) {
|
|
317
|
-
const a = i / 10 * Math.PI * 2 + 0.2;
|
|
318
|
-
const r0 = 700, r1 = 1100, cx = 960, cy = HORIZON;
|
|
319
|
-
const p0 = [cx + Math.cos(a) * r0, cy + Math.sin(a) * r0 * 0.6], p1 = [cx + Math.cos(a) * r1, cy + Math.sin(a) * r1 * 0.6];
|
|
320
|
-
const n = [-Math.sin(a) * 3, Math.cos(a) * 3];
|
|
321
|
-
streaks.push(poly(k, id, [[p0[0] + n[0], p0[1] + n[1]], [p1[0] + n[0] * 3, p1[1] + n[1] * 3], [p1[0] - n[0] * 3, p1[1] - n[1] * 3], [p0[0] - n[0], p0[1] - n[1]]], "chrome", { name: "Burst streak", opacity: 0 }));
|
|
322
|
-
}
|
|
323
|
-
if (state !== "Fire") return;
|
|
324
|
-
keys(k, wash, "opacity", [{ t: 0, v: 1, ease: { kind: "hold" } }, { t: 200, v: 1, ease: e("cubic-out") }, { t: 880, v: 0 }]);
|
|
325
|
-
for (const f of [fl, fr]) {
|
|
326
|
-
keys(k, f, "opacity", [{ t: 0, v: 1 }, { t: 100, v: 0.6 }, { t: 200, v: 1 }, { t: 320, v: 0.7 }, { t: 700, v: 1, ease: e("cubic-in") }, { t: 880, v: 0 }]);
|
|
327
|
-
keys(k, f, "scaleY", [{ t: 0, v: 0.6, ease: e("back-out") }, { t: 200, v: 1.3 }, { t: 880, v: 0.8 }]);
|
|
328
|
-
}
|
|
329
|
-
streaks.forEach((s, i) => {
|
|
330
|
-
const a = i / 10 * Math.PI * 2 + 0.2;
|
|
331
|
-
keys(k, s, "opacity", [{ t: 0, v: 0.9, ease: e("cubic-in") }, { t: 700, v: 0 }]);
|
|
332
|
-
keys(k, s, "translateX", [{ t: 0, v: 0, ease: e("cubic-in") }, { t: 700, v: Math.cos(a) * 260 }]);
|
|
333
|
-
keys(k, s, "translateY", [{ t: 0, v: 0, ease: e("cubic-in") }, { t: 700, v: Math.sin(a) * 160 }]);
|
|
334
|
-
});
|
|
335
|
-
});
|
|
336
|
-
oneShot(k, "Nitro ring", { width: 72, height: 72, state: "Charge", duration: COOL, description: "Nitro cooldown: the ring sweeps round over the recharge time, then goes dark." }, (state, id) => {
|
|
337
|
-
const ring = arc(k, id, 36, 36, 32, -Math.PI / 2, Math.PI * 1.5 - 0.01, "cyan", 5, { name: "Sweep", opacity: 0, effects: [glow(k, "cyan", 12)] });
|
|
338
|
-
const rb = k.node(ring);
|
|
339
|
-
k.patch(ring, { anchorX: (36 - rb.x) / rb.width, anchorY: (36 - rb.y) / rb.height });
|
|
340
|
-
if (state === "Charge") {
|
|
341
|
-
keys(k, ring, "opacity", [{ t: 0, v: 1, ease: { kind: "hold" } }, { t: COOL - 60, v: 1, ease: { kind: "linear" } }, { t: COOL, v: 0 }]);
|
|
342
|
-
keys(k, ring, "scaleX", [{ t: 0, v: 0.2, ease: e("cubic-in-out") }, { t: COOL - 60, v: 1 }]);
|
|
343
|
-
keys(k, ring, "scaleY", [{ t: 0, v: 0.2, ease: e("cubic-in-out") }, { t: COOL - 60, v: 1 }]);
|
|
344
|
-
keys(k, ring, "rotation", [{ t: 0, v: 0, ease: { kind: "linear" } }, { t: COOL - 60, v: -720 }]);
|
|
345
|
-
}
|
|
346
|
-
});
|
|
347
|
-
oneShot(k, "Lap banner", { width: 720, height: 96, state: "New", duration: 1500, description: "A lap completes: the banner slashes in, holds and leaves." }, (state, id) => {
|
|
348
|
-
if (state !== "New") return;
|
|
349
|
-
const plate = box(k, id, 0, 0, 720, 96, { name: "Banner plate", fill: "amber", radius: 4, align: "CENTER", justify: "CENTER", effects: [glow(k, "amber", 30, 0.7)] });
|
|
350
|
-
k.text(plate, "LAP COMPLETE \xB7 KEEP IT LIT", { style: "Alert 30", color: "onAmber", autoWidth: true, name: "Banner words" });
|
|
351
|
-
keys(k, plate, "translateX", [{ t: 0, v: -900, ease: e("expo-out") }, { t: 320, v: 0, ease: { kind: "hold" } }, { t: 1100, v: 0, ease: e("cubic-in") }, { t: 1480, v: 900 }]);
|
|
352
|
-
keys(k, plate, "opacity", [{ t: 0, v: 1, ease: { kind: "hold" } }, { t: 1300, v: 1, ease: { kind: "linear" } }, { t: 1480, v: 0 }]);
|
|
353
|
-
});
|
|
354
|
-
oneShot(k, "Overtake pop", { width: 360, height: 60, state: "Show", duration: 1100, description: "You pass a rival: the chip pops, holds and floats up." }, (state, id) => {
|
|
355
|
-
if (state !== "Show") return;
|
|
356
|
-
const plate = box(k, id, 0, 0, 360, 60, { name: "Pass plate", fill: "good", radius: 30, align: "CENTER", justify: "CENTER" });
|
|
357
|
-
k.text(plate, "+1 POSITION", { style: "Alert 30", color: "onCyan", autoWidth: true, name: "Pass words" });
|
|
358
|
-
keys(k, plate, "opacity", [{ t: 0, v: 0, ease: e("back-out") }, { t: 160, v: 1, ease: { kind: "hold" } }, { t: 800, v: 1, ease: e("cubic-in") }, { t: 1080, v: 0 }]);
|
|
359
|
-
keys(k, plate, "scaleX", [{ t: 0, v: 0.5, ease: e("back-out") }, { t: 260, v: 1 }]);
|
|
360
|
-
keys(k, plate, "scaleY", [{ t: 0, v: 0.5, ease: e("back-out") }, { t: 260, v: 1 }]);
|
|
361
|
-
keys(k, plate, "translateY", [{ t: 700, v: 0, ease: e("cubic-in") }, { t: 1080, v: -36 }]);
|
|
362
|
-
});
|
|
363
|
-
const boot = screen(k, "Boot", { ground: "void", first: true, duration: 3800 });
|
|
364
|
-
const title = screen(k, "Title", { ground: "void" });
|
|
365
|
-
const main = screen(k, "Main menu", { ground: "void" });
|
|
366
|
-
const garage = screen(k, "Garage", { ground: "void" });
|
|
367
|
-
const tuning = screen(k, "Tuning", { ground: "void" });
|
|
368
|
-
const tracks = screen(k, "Track select", { ground: "void" });
|
|
369
|
-
const settings = screen(k, "Settings", { ground: "void" });
|
|
370
|
-
const credits = screen(k, "Credits", { ground: "void", duration: 13e3 });
|
|
371
|
-
const countdown = screen(k, "Countdown", { ground: "void", duration: 4200 });
|
|
372
|
-
const hud = screen(k, "Race HUD", { ground: "void", duration: 18e4 });
|
|
373
|
-
const pause = screen(k, "Pause", { ground: "void", fills: k.tint("scrim", 0.8) });
|
|
374
|
-
const results = screen(k, "Race results", { ground: "void" });
|
|
375
|
-
const wrecked = screen(k, "Wrecked", { ground: "void" });
|
|
376
|
-
k.flowStart(boot, "Play NEON APEX");
|
|
377
|
-
const resetRace = [
|
|
378
|
-
set(speed.id, { value: 0 }),
|
|
379
|
-
set(dist.id, { value: 0 }),
|
|
380
|
-
set(pos.id, { value: 6 }),
|
|
381
|
-
set(nitro.id, { value: 100 }),
|
|
382
|
-
set(nitroAt.id, { value: 0 }),
|
|
383
|
-
set(damage.id, { value: 0 }),
|
|
384
|
-
set(damageLag.id, { value: 0 }),
|
|
385
|
-
set(steer.id, { value: 0 }),
|
|
386
|
-
set(brake.id, { value: 0 }),
|
|
387
|
-
set(delta.id, { value: 0 }),
|
|
388
|
-
set(lastLap.id, { value: 0 }),
|
|
389
|
-
set(record.id, { value: 0 })
|
|
390
|
-
];
|
|
391
|
-
const toCountdown = go(countdown, "ZOOM_THROUGH", { duration: 500 });
|
|
392
|
-
const startClock = [set(raceStart.id, { expression: "now()" }), set(lapStart.id, { expression: "now()" })];
|
|
393
|
-
const stars = [[80, 60], [210, 150], [330, 40], [420, 220], [140, 300], [520, 110], [1450, 70], [1560, 190], [1700, 50], [1820, 160], [1640, 300], [1380, 240], [1880, 330], [60, 420], [610, 30], [1300, 30]];
|
|
394
|
-
const dusk = (parent, o = {}) => {
|
|
395
|
-
const g = box(k, parent, 0, 0, W, H, { name: "Dusk" });
|
|
396
|
-
k.rect(g, W, 380, [k.gradient({ from: "night", to: "dusk", angle: 90 })], { name: "Upper sky", absolute: { x: 0, y: 0 } });
|
|
397
|
-
k.rect(g, W, HORIZON - 380, [k.gradient({ from: "dusk", to: "skyLow", angle: 90 })], { name: "Lower sky", absolute: { x: 0, y: 380 } });
|
|
398
|
-
stars.forEach(([x2, y], i) => {
|
|
399
|
-
const s = k.ellipse(g, i % 3 === 0 ? 5 : 3, "chrome", { name: "Star", absolute: { x: x2, y }, opacity: 0.8 });
|
|
400
|
-
drift(k, s, "opacity", 0.35, 0.3 + i % 5 * 0.17, i * 0.13);
|
|
401
|
-
});
|
|
402
|
-
const r = o.sunR ?? 250, sx = (o.sunX ?? 960) - r;
|
|
403
|
-
const sun = box(k, g, sx, HORIZON - r * 1.25, r * 2, r * 2, { name: "Sun", radius: r, clip: true, fill: [k.gradient({ from: "sunTop", to: "sunLow", angle: 90 })], effects: [glow(k, "sunLow", 80, 0.6)] });
|
|
404
|
-
for (let i = 0; i < 7; i++) k.rect(sun, r * 2, 4 + i * 3, "skyLow", { name: "Sun stripe", absolute: { x: 0, y: r * 0.95 + i * (r * 0.16) } });
|
|
405
|
-
if (o.sink) k.bindExpression(sun, "translateY", o.sink);
|
|
406
|
-
const ridge = [[0, HORIZON], [0, 560], [120, 520], [230, 575], [360, 470], [470, 560], [600, 510], [700, HORIZON], [1220, HORIZON], [1320, 540], [1440, 470], [1560, 555], [1680, 500], [1800, 560], [W, 520], [W, HORIZON]];
|
|
407
|
-
poly(k, g, ridge, "ridge", { name: "Mountains" });
|
|
408
|
-
poly(k, g, ridge.slice(1, -1), "grid", { name: "Mountain line", stroke: 2, opacity: 0.7, effects: [glow(k, "grid", 10, 0.8)] });
|
|
409
|
-
const sky = [[700, HORIZON]];
|
|
410
|
-
let x = 700;
|
|
411
|
-
const hs = [40, 72, 58, 110, 64, 88, 150, 70, 96, 60, 124, 80, 52, 90, 66];
|
|
412
|
-
hs.forEach((h, i) => {
|
|
413
|
-
const w = 26 + i * 17 % 22;
|
|
414
|
-
sky.push([x, HORIZON - h], [x + w, HORIZON - h]);
|
|
415
|
-
x += w;
|
|
416
|
-
});
|
|
417
|
-
sky.push([Math.min(x, 1220), HORIZON]);
|
|
418
|
-
poly(k, g, sky, "silhouette", { name: "Skyline" });
|
|
419
|
-
for (let i = 0; i < 14; i++) {
|
|
420
|
-
const w = k.rect(g, 4, 6, i % 3 ? "amber" : "cyan", { name: "Window", absolute: { x: 716 + i * 34, y: HORIZON - 30 - i * 23 % 60 }, opacity: 0.85 });
|
|
421
|
-
drift(k, w, "opacity", 0.3, 0.2 + i % 4 * 0.21, i * 0.19);
|
|
422
|
-
}
|
|
423
|
-
k.rect(g, W, H - HORIZON, "ground", { name: "Ground", absolute: { x: 0, y: HORIZON } });
|
|
424
|
-
k.rect(g, W, 90, [k.gradient({ from: "grid", to: "ground", angle: 90, fromOpacity: 0.55, toOpacity: 0 })], { name: "Horizon glow", absolute: { x: 0, y: HORIZON } });
|
|
425
|
-
const floor = box(k, g, 0, HORIZON, W, H - HORIZON, { name: "Grid floor", clip: true });
|
|
426
|
-
for (let bx = -2400; bx <= W + 2400; bx += 300) poly(k, floor, [[960, 0], [bx, H - HORIZON]], "grid", { name: "Grid ray", stroke: 2, opacity: 0.75, effects: [glow(k, "grid", 8, 0.7)] });
|
|
427
|
-
const n = o.lines ?? 7, period = 2e3;
|
|
428
|
-
for (let i = 0; i < n; i++) {
|
|
429
|
-
const l = k.rect(floor, W, 3, "grid", { name: "Grid line", absolute: { x: 0, y: 0 }, effects: [glow(k, "grid", 8, 0.7)] });
|
|
430
|
-
keys(k, l, "translateY", [{ t: 0, v: 0, ease: e("cubic-in") }, { t: period, v: H - HORIZON }]);
|
|
431
|
-
keys(k, l, "opacity", [{ t: 0, v: 0.2, ease: e("quad-in") }, { t: period, v: 1 }]);
|
|
432
|
-
k.behave(l, "translateY", [{ kind: "loop", mode: "cycle" }]);
|
|
433
|
-
k.behave(l, "opacity", [{ kind: "loop", mode: "cycle" }]);
|
|
434
|
-
if (i) k.delay(l, i * period / n);
|
|
435
|
-
}
|
|
436
|
-
if (o.road) {
|
|
437
|
-
const road = box(k, g, 0, HORIZON, W, H - HORIZON, { name: "Road", clip: true });
|
|
438
|
-
poly(k, road, [[944, 0], [976, 0], [1700, H - HORIZON], [220, H - HORIZON]], "asphalt", { name: "Asphalt" });
|
|
439
|
-
poly(k, road, [[944, 0], [220, H - HORIZON]], "cyan", { name: "Road edge", stroke: 5, effects: [glow(k, "cyan", 16)] });
|
|
440
|
-
poly(k, road, [[976, 0], [1700, H - HORIZON]], "cyan", { name: "Road edge", stroke: 5, effects: [glow(k, "cyan", 16)] });
|
|
441
|
-
for (let i = 0; i < 6; i++) {
|
|
442
|
-
const d = k.rect(road, 8, 30, "chrome", { name: "Lane dash", absolute: { x: 956, y: 0 } });
|
|
443
|
-
k.patch(d, { anchorX: 0.5, anchorY: 0 });
|
|
444
|
-
keys(k, d, "translateY", [{ t: 0, v: 0, ease: e("cubic-in") }, { t: 1500, v: H - HORIZON }]);
|
|
445
|
-
keys(k, d, "scaleX", [{ t: 0, v: 0.2, ease: e("cubic-in") }, { t: 1500, v: 3 }]);
|
|
446
|
-
keys(k, d, "scaleY", [{ t: 0, v: 0.2, ease: e("cubic-in") }, { t: 1500, v: 4 }]);
|
|
447
|
-
for (const p of ["translateY", "scaleX", "scaleY"]) k.behave(d, p, [{ kind: "loop", mode: "cycle" }]);
|
|
448
|
-
if (i) k.delay(d, i * 250);
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
if (o.palms !== false) {
|
|
452
|
-
palm(g, 150, H + 10, 620, 0.5, 0);
|
|
453
|
-
palm(g, 420, H + 30, 420, 0.8, 0.3);
|
|
454
|
-
palm(g, 1770, H + 10, 640, -0.55, 0.6);
|
|
455
|
-
palm(g, 1500, H + 40, 400, -0.8, 0.1);
|
|
456
|
-
}
|
|
457
|
-
return { g, sun };
|
|
458
|
-
};
|
|
459
|
-
function palm(parent, bx, by, h, lean, phase) {
|
|
460
|
-
const w = h * 1.4;
|
|
461
|
-
const g = box(k, parent, bx - w / 2, by - h, w, h, { name: "Palm" });
|
|
462
|
-
const base = w / 2;
|
|
463
|
-
const left = [], right = [];
|
|
464
|
-
for (let i = 0; i <= 8; i++) {
|
|
465
|
-
const t = i / 8, x = base + lean * h * 0.3 * t * t, y = h - t * h * 0.86, hw = h * (0.03 - 0.016 * t);
|
|
466
|
-
left.push([x - hw, y]);
|
|
467
|
-
right.push([x + hw, y]);
|
|
468
|
-
}
|
|
469
|
-
poly(k, g, [...left, ...right.reverse()], "silhouette", { name: "Trunk" });
|
|
470
|
-
const top = [base + lean * h * 0.3, h * 0.14];
|
|
471
|
-
for (const deg of [-175, -145, -118, -92, -64, -36, -8, 160, 20]) {
|
|
472
|
-
const a = deg * Math.PI / 180, L = h * (0.34 + (deg + 200) % 7 * 0.012);
|
|
473
|
-
const dir = [Math.cos(a), Math.sin(a)], nrm = [-dir[1], dir[0]];
|
|
474
|
-
const tip = [top[0] + dir[0] * L, top[1] + dir[1] * L + L * 0.45];
|
|
475
|
-
const mid = [top[0] + dir[0] * L * 0.55, top[1] + dir[1] * L * 0.55 - L * 0.04];
|
|
476
|
-
const wd = L * 0.09;
|
|
477
|
-
poly(k, g, [top, [mid[0] + nrm[0] * wd, mid[1] + nrm[1] * wd], tip, [mid[0] - nrm[0] * wd, mid[1] - nrm[1] * wd]], "silhouette", { name: "Frond" });
|
|
478
|
-
}
|
|
479
|
-
k.patch(g, { anchorX: 0.5, anchorY: 1 });
|
|
480
|
-
drift(k, g, "rotation", 1.2, 0.18, phase);
|
|
481
|
-
}
|
|
482
|
-
const carProfile = (parent, x, y, s, o = {}) => {
|
|
483
|
-
const S = (p) => p.map(([a, b]) => [a * s, b * s]);
|
|
484
|
-
const g = box(k, parent, x, y, 920 * s, 270 * s, { name: "Car" });
|
|
485
|
-
k.rect(g, 840 * s, 14 * s, "cyan", { name: "Underglow", radius: 7 * s, absolute: { x: 40 * s, y: 236 * s }, opacity: 0.8, effects: [glow(k, "cyan", 40 * s, 0.9)] });
|
|
486
|
-
CARS.forEach((c, i) => {
|
|
487
|
-
const cg = box(k, g, 0, 0, 920 * s, 270 * s, { name: c.name });
|
|
488
|
-
k.bindExpression(cg, "visible", `${car.n} == ${i}`);
|
|
489
|
-
const bodyBox = box(k, cg, 0, 0, 920 * s, 250 * s, { name: "Body" });
|
|
490
|
-
if (o.tuned) k.bindExpression(bodyBox, "translateY", `(32 - ${psi.n}) * ${1.4 * s}`);
|
|
491
|
-
const wing = box(k, bodyBox, c.wing * s, 70 * s, 170 * s, 90 * s, { name: "Rear wing" });
|
|
492
|
-
k.rect(wing, 150 * s, 12 * s, "silhouette", { name: "Wing plate", radius: 4 * s, absolute: { x: 0, y: 0 }, stroke: { color: "neon", width: 2 } });
|
|
493
|
-
k.rect(wing, 8 * s, 90 * s, "silhouette", { name: "Wing post", absolute: { x: 30 * s, y: 8 * s } });
|
|
494
|
-
k.rect(wing, 8 * s, 90 * s, "silhouette", { name: "Wing post", absolute: { x: 110 * s, y: 8 * s } });
|
|
495
|
-
if (o.tuned) k.bindExpression(wing, "translateY", `(50 - ${down.n}) * ${1.1 * s}`);
|
|
496
|
-
PAINTS.forEach((_, j) => {
|
|
497
|
-
const b = poly(k, bodyBox, S(c.body), `paint${j}`, { name: "Paint", effects: [glow(k, `paint${j}`, 24 * s, 0.35)] });
|
|
498
|
-
k.bindExpression(b, "visible", `${paint.n} == ${j}`);
|
|
499
|
-
});
|
|
500
|
-
poly(k, bodyBox, S(c.body), "chrome", { name: "Body line", stroke: 2, closed: true, opacity: 0.7 });
|
|
501
|
-
poly(k, bodyBox, S(c.glass), "glass", { name: "Glass", effects: [glow(k, "cyan", 10 * s, 0.4)] });
|
|
502
|
-
poly(k, bodyBox, S([[c.glass[0][0] + 20, c.glass[0][1] + 8], [c.glass[0][0] + 60, c.glass[0][1] + 8], [c.glass[3][0] + 70, c.glass[3][1] - 6], [c.glass[3][0] + 30, c.glass[3][1] - 6]]), "chrome", { name: "Glass glint", opacity: 0.5 });
|
|
503
|
-
poly(k, bodyBox, S([[c.body[1][0] + 10, 172], [c.body[c.body.length - 3][0] - 30, 168], [c.body[c.body.length - 3][0] - 30, 174], [c.body[1][0] + 10, 178]]), "chrome", { name: "Side stripe", opacity: 0.85 });
|
|
504
|
-
k.rect(bodyBox, 26 * s, 10 * s, "neon", { name: "Tail light", absolute: { x: (c.body[1][0] - 4) * s, y: (c.body[1][1] + 6) * s }, effects: [glow(k, "neon", 16 * s)] });
|
|
505
|
-
k.rect(bodyBox, 30 * s, 8 * s, "warn", { name: "Headlight", absolute: { x: (c.body[6][0] - 34) * s, y: (c.body[6][1] + 4) * s }, effects: [glow(k, "warn", 18 * s)] });
|
|
506
|
-
for (const wx of c.wheels) {
|
|
507
|
-
const wr = 50 * s;
|
|
508
|
-
k.ellipse(cg, wr * 2, "tyre", { name: "Tyre", absolute: { x: wx * s - wr, y: 206 * s - wr }, stroke: { color: "line", width: 3 } });
|
|
509
|
-
k.ellipse(cg, wr * 1.2, "silhouette", { name: "Rim", absolute: { x: wx * s - wr * 0.6, y: 206 * s - wr * 0.6 }, stroke: { color: "chrome", width: 3 } });
|
|
510
|
-
const sp = poly(k, cg, [[wx * s - wr * 0.55, 206 * s - 3 * s], [wx * s + wr * 0.55, 206 * s - 3 * s], [wx * s + wr * 0.55, 206 * s + 3 * s], [wx * s - wr * 0.55, 206 * s + 3 * s]], "chrome", { name: "Spoke" });
|
|
511
|
-
const sp2 = poly(k, cg, [[wx * s - 3 * s, 206 * s - wr * 0.55], [wx * s + 3 * s, 206 * s - wr * 0.55], [wx * s + 3 * s, 206 * s + wr * 0.55], [wx * s - 3 * s, 206 * s + wr * 0.55]], "chrome", { name: "Spoke" });
|
|
512
|
-
if (o.spin) for (const p of [sp, sp2]) spin(k, p, 540);
|
|
513
|
-
}
|
|
514
|
-
});
|
|
515
|
-
return g;
|
|
516
|
-
};
|
|
517
|
-
const trackPts = (i, w, h) => TRACKS[i].pts.map(([a, b]) => [a * w, b * h]);
|
|
518
|
-
const along = (pts, u, axis) => {
|
|
519
|
-
const n = pts.length;
|
|
520
|
-
let s = `${pts[0][axis].toFixed(1)}`;
|
|
521
|
-
for (let i = 0; i < n; i++) {
|
|
522
|
-
const d = pts[(i + 1) % n][axis] - pts[i][axis];
|
|
523
|
-
if (Math.abs(d) > 0.01) s += ` + ${d.toFixed(1)} * clamp(${u} * ${n} - ${i}, 0, 1)`;
|
|
524
|
-
}
|
|
525
|
-
return s;
|
|
526
|
-
};
|
|
527
|
-
const trackLine = (parent, i, x, y, w, h, width = 4) => {
|
|
528
|
-
const g = box(k, parent, x, y, w, h, { name: `${TRACKS[i].name} map` });
|
|
529
|
-
poly(k, g, trackPts(i, w, h), "cyan", { name: "Circuit", stroke: width, closed: true, effects: [glow(k, "cyan", 12, 0.8)] });
|
|
530
|
-
const [sx, sy] = trackPts(i, w, h)[0];
|
|
531
|
-
k.rect(g, 18, 6, "chrome", { name: "Start line", absolute: { x: sx - 9, y: sy - 3 } });
|
|
532
|
-
return g;
|
|
533
|
-
};
|
|
534
|
-
const hintBar = (id, text) => {
|
|
535
|
-
const b = box(k, id, 0, H - 60, W, 60, { name: "Hint bar", fill: k.tint("scrim", 0.9), direction: "HORIZONTAL", align: "CENTER", padding: { top: 0, right: 64, bottom: 0, left: 64 } });
|
|
536
|
-
k.text(b, text, { style: "Hint 20", color: "dim", autoWidth: true, name: "Hints" });
|
|
537
|
-
};
|
|
538
|
-
const shade = (id, a = 0.72) => k.rect(id, W, H, k.tint("scrim", a), { name: "Shade", absolute: { x: 0, y: 0 } });
|
|
539
|
-
{
|
|
540
|
-
k.rect(boot, W, H, [k.gradient({ from: "night", to: "void", kind: "RADIAL", handles: [{ x: 0.5, y: 0.4 }, { x: 1.1, y: 0.4 }, { x: 0.5, y: 1.2 }] })], { name: "Glow", absolute: { x: 0, y: 0 } });
|
|
541
|
-
k.logo(boot, 128, 128, { absolute: { x: 896, y: 250 } });
|
|
542
|
-
label(k, boot, "{{brand.studio}}", "Studio 28", "onVoid", 0, 410, { w: W, align: "CENTER", name: "Studio" });
|
|
543
|
-
label(k, boot, "presents", "Small 18", "dim", 0, 456, { w: W, align: "CENTER", name: "Presents" });
|
|
544
|
-
const log = box(k, boot, 560, 540, 800, 200, { name: "Boot log", gap: 2 });
|
|
545
|
-
const lines = ["> warming synth oscillators ....... OK", "> raising the grid horizon ........ OK", "> fuelling 3 cars, 3 circuits ..... OK", "> driver profile ....................... ZEPHYR", "> sunset locked at 18:42 ............ OK"];
|
|
546
|
-
lines.forEach((t) => k.text(log, t, { style: "Boot 22", color: "cyan", name: "Log line" }));
|
|
547
|
-
const tape = box(k, boot, 560, 790, 800, 10, { name: "Tape bar", fill: "line", radius: 5, clip: true });
|
|
548
|
-
const fill = k.rect(tape, 800, 10, [k.gradient({ from: "neon", to: "amber", angle: 0 })], { name: "Tape fill", radius: 5, absolute: { x: 0, y: 0 } });
|
|
549
|
-
keys(k, fill, "width", [{ t: 200, v: 10, ease: e("cubic-in-out") }, { t: 3200, v: 800 }]);
|
|
550
|
-
k.cues(boot, [
|
|
551
|
-
{ layer: "{{brand.logo}}", preset: "scale-in", at: 0 },
|
|
552
|
-
{ layer: "Studio", preset: "wipe-in", at: 300 },
|
|
553
|
-
{ layer: "Presents", preset: "fade-in", at: 600 },
|
|
554
|
-
{ layer: "Log line", preset: "typewriter", at: 800, params: { duration: 420 }, stagger: { delay: 480 } }
|
|
555
|
-
]);
|
|
556
|
-
k.link(boot, title, "DISSOLVE", { trigger: "AFTER_TIMEOUT", delay: 3600, duration: 700 });
|
|
557
|
-
k.link(boot, title, "DISSOLVE", { key: "*", duration: 400 });
|
|
558
|
-
k.link(boot, title, "DISSOLVE", { duration: 400 });
|
|
559
|
-
}
|
|
560
|
-
{
|
|
561
|
-
dusk(title, { road: true });
|
|
562
|
-
const lock = k.stack(title, { name: "Title lockup", width: 1600, gap: 18, align: "CENTER", absolute: { x: 160, y: 60 } });
|
|
563
|
-
const glowCopy = k.text(lock, "{{brand.title}}", { style: "Wordmark 170", color: "neon", width: 1600, align: "CENTER", name: "Wordmark glow", absolute: { x: 0, y: 0 }, effects: [blurFx(22)] });
|
|
564
|
-
const extrude = k.text(lock, "{{brand.title}}", { style: "Wordmark 170", color: "amber", width: 1600, align: "CENTER", name: "Wordmark extrude", absolute: { x: 6, y: 10 } });
|
|
565
|
-
k.text(lock, "{{brand.title}}", { style: "Wordmark 170", color: "chrome", width: 1600, align: "CENTER", name: "Wordmark", effects: [glow(k, "neon", 26, 0.9)] });
|
|
566
|
-
k.text(lock, "{{brand.tagline}}", { style: "Tagline 30", color: "onVoid", width: 1200, align: "CENTER", name: "Tagline" });
|
|
567
|
-
drift(k, glowCopy, "opacity", 0.25, 0.5);
|
|
568
|
-
k.behave(extrude, "translateX", [{ kind: "noise", amp: 3, freq: 2, seed: 11 }]);
|
|
569
|
-
const plate = box(k, title, 660, 930, 600, 56, { name: "Prompt plate", fill: k.tint("scrim", 0.8), radius: 28, align: "CENTER", justify: "CENTER", stroke: { color: "neon", width: 2 } });
|
|
570
|
-
const prompt = k.text(plate, "Press any key", { style: "Prompt 24", color: "onVoid", autoWidth: true, name: "Prompt" });
|
|
571
|
-
drift(k, prompt, "opacity", 0.3, 0.8);
|
|
572
|
-
label(k, title, "\xA9 2026 {{brand.studio}} \xB7 v1.0.8 arcade", "Small 18", "dim", 1360, 1020, { w: 520, align: "RIGHT", name: "Legal" });
|
|
573
|
-
k.cues(title, [{ layer: "Title lockup", preset: "drop-in", at: 0 }, { layer: "Prompt plate", preset: "pop-in", at: 900 }]);
|
|
574
|
-
k.link(title, main, "DISSOLVE", { key: "*", duration: 350 });
|
|
575
|
-
k.link(title, main, "DISSOLVE", { duration: 350 });
|
|
576
|
-
}
|
|
577
|
-
{
|
|
578
|
-
dusk(main, { palms: true, sunX: 1400, sunR: 200 });
|
|
579
|
-
k.rect(main, 800, H, k.tint("scrim", 0.9), { name: "Menu slab", absolute: { x: 0, y: 0 } });
|
|
580
|
-
k.rect(main, 420, H, [k.gradient({ from: "scrim", to: "scrim", angle: 0, fromOpacity: 0.9, toOpacity: 0 })], { name: "Menu slab fade", absolute: { x: 800, y: 0 } });
|
|
581
|
-
label(k, main, "{{brand.title}}", "Heading 72", "chrome", 110, 90, { w: 820, name: "Wordmark", effects: [glow(k, "neon", 20, 0.8)] });
|
|
582
|
-
k.rect(main, 160, 6, [k.gradient({ from: "neon", to: "amber", angle: 0 })], { name: "Wordmark rule", absolute: { x: 114, y: 186 } });
|
|
583
|
-
menu(k, main, [
|
|
584
|
-
{ label: "Race", hint: "Grand prix \xB7 8 cars", actions: [set(mode.id, { value: 0 }), go(tracks, "PUSH_FROM_RIGHT", { duration: 350 })] },
|
|
585
|
-
{ label: "Garage", hint: "Paint and tune", actions: [go(garage, "PUSH_FROM_RIGHT", { duration: 350 })] },
|
|
586
|
-
{ label: "Time trial", hint: "You and your ghost", actions: [set(mode.id, { value: 1 }), go(tracks, "PUSH_FROM_RIGHT", { duration: 350 })] },
|
|
587
|
-
{ label: "Settings", actions: [go(settings, "PUSH_FROM_RIGHT", { duration: 350 })] },
|
|
588
|
-
{ label: "Credits", actions: [go(credits, "DISSOLVE", { duration: 400 })] },
|
|
589
|
-
{ label: "Quit", actions: [go(title, "DISSOLVE", { duration: 400 })] }
|
|
590
|
-
], { focus: menuFocus, x: 90, y: 260, width: 860, pitch: 92, style: "Menu 44", color: "onVoid", plate: [k.gradient({ from: "neon", to: "neon", angle: 0, fromOpacity: 0.6, toOpacity: 0 })], marker: { color: "amber" }, hintStyle: "Hint 20" });
|
|
591
|
-
const show = box(k, main, 1060, 560, 800, 360, { name: "Showroom" });
|
|
592
|
-
k.ellipse(show, 760, [k.gradient({ from: "neon", to: "neon", kind: "RADIAL", fromOpacity: 0.5, toOpacity: 0, handles: [{ x: 0.5, y: 0.5 }, { x: 1, y: 0.5 }, { x: 0.5, y: 1 }] })], { name: "Plinth glow", absolute: { x: 20, y: 60 } });
|
|
593
|
-
const c = carProfile(show, 60, 70, 0.74, { spin: true });
|
|
594
|
-
drift(k, c, "translateY", 4, 0.6);
|
|
595
|
-
const card = box(k, main, 1100, 300, 720, 190, { name: "Driver card", fill: k.tint("scrim", 0.88), radius: 6, stroke: { color: "line", width: 2 }, padding: 28, gap: 6 });
|
|
596
|
-
k.text(card, "Driver", { style: "Small 18", color: "cyan", name: "Driver label" });
|
|
597
|
-
readout(k, card, driver.n, "ZEPHYR", "Car 40", "onPanel", 28, 54, { w: 660, name: "Driver name" });
|
|
598
|
-
readout(k, card, `"PB " + clock(${best[0].n}) + " SUNSET MILE"`, "PB 0:41.25 SUNSET MILE", "Small 18", "amber", 28, 146, { w: 660, name: "Personal best" });
|
|
599
|
-
readout(k, card, `${pick3(car.n, CARS.map((c2) => `"${c2.name}"`))} + " \xB7 " + (${PAINTS.reduceRight((acc, p, i) => `${paint.n} == ${i} ? "${p.toUpperCase()}" : ${acc}`, '""')})`, `${CARS[0].name} \xB7 ${PAINTS[0].toUpperCase()}`, "Hint 20", "dim", 28, 110, { w: 660, name: "Car line" });
|
|
600
|
-
const tick = box(k, main, 0, 1e3, 1e3, 40, { name: "Ticker", clip: true });
|
|
601
|
-
const words = label(k, tick, "APEX FM 88.4 \xB7 Tonight on Sunset Mile: clear skies, warm tarmac \xB7 Vega Ardent sets a 0:39.8 on Neon Veil \xB7 Glass Canyon reopens after the sandstorm \xB7 ", "Small 18", "dim", 0, 8, { name: "Ticker words" });
|
|
602
|
-
k.behave(words, "translateX", [{ kind: "spin", rate: -70 }, { kind: "mod", period: 1500, offset: -1500 }]);
|
|
603
|
-
label(k, main, "\u2191 \u2193 SELECT ENTER CONFIRM", "Hint 20", "dim", 110, 940, { name: "Menu hints" });
|
|
604
|
-
k.cues(main, [{ layer: "Menu item", preset: "slide-in", at: 0, params: { direction: "left" }, stagger: { delay: 70 } }, { layer: "Driver card", preset: "rise-in", at: 200 }, { layer: "Showroom", preset: "fade-in", at: 300 }]);
|
|
605
|
-
}
|
|
606
|
-
const showroom = (id) => {
|
|
607
|
-
k.rect(id, W, H, [k.gradient({ from: "night", to: "void", angle: 90 })], { name: "Room", absolute: { x: 0, y: 0 } });
|
|
608
|
-
const floor = box(k, id, 0, 700, W, 380, { name: "Showroom floor", clip: true });
|
|
609
|
-
k.rect(floor, W, 380, "ground", { name: "Floor", absolute: { x: 0, y: 0 } });
|
|
610
|
-
for (let bx = -1800; bx <= W + 1800; bx += 240) poly(k, floor, [[960, -200], [bx, 380]], "grid", { name: "Floor ray", stroke: 2, opacity: 0.45 });
|
|
611
|
-
for (const [y, o] of [[20, 0.3], [60, 0.4], [120, 0.5], [210, 0.6], [340, 0.7]]) k.rect(floor, W, 2, "grid", { name: "Floor line", absolute: { x: 0, y }, opacity: o });
|
|
612
|
-
for (const sx of [360, 1400]) {
|
|
613
|
-
const beam = poly(k, id, [[sx + 60, 0], [sx + 100, 0], [sx + 340, 800], [sx - 180, 800]], [k.gradient({ from: "chrome", to: "chrome", angle: 90, fromOpacity: 0.18, toOpacity: 0 })], { name: "Spotlight" });
|
|
614
|
-
drift(k, beam, "opacity", 0.2, 0.15);
|
|
615
|
-
}
|
|
616
|
-
};
|
|
617
|
-
{
|
|
618
|
-
showroom(garage);
|
|
619
|
-
label(k, garage, "Garage", "Heading 72", "chrome", 120, 70, { name: "Screen title", effects: [glow(k, "neon", 18, 0.7)] });
|
|
620
|
-
label(k, garage, "Three cars, one sunset. Paint it, tune it, take it out.", "Body 24", "dim", 124, 160, { name: "Screen lead" });
|
|
621
|
-
const pickCar = (i) => [set(car.id, { value: i })];
|
|
622
|
-
const row = menu(k, garage, CARS.map((c, i) => ({ label: c.name, actions: pickCar(i) })), {
|
|
623
|
-
focus: car,
|
|
624
|
-
x: 120,
|
|
625
|
-
y: 230,
|
|
626
|
-
width: 540,
|
|
627
|
-
pitch: 20,
|
|
628
|
-
itemHeight: 84,
|
|
629
|
-
horizontal: true,
|
|
630
|
-
style: "Car 40",
|
|
631
|
-
color: "onVoid",
|
|
632
|
-
nudge: 0,
|
|
633
|
-
onFocus: pickCar,
|
|
634
|
-
plate: [k.gradient({ from: "neon", to: "amber", angle: 0, fromOpacity: 0.75, toOpacity: 0.45 })],
|
|
635
|
-
radius: 4,
|
|
636
|
-
escape: [back()]
|
|
637
|
-
});
|
|
638
|
-
k.patch(row, { name: "Car row" });
|
|
639
|
-
carProfile(garage, 120, 400, 1, { tuned: true });
|
|
640
|
-
k.rect(garage, 940, 110, k.tint("scrim", 0.86), { name: "Blurb plate", radius: 6, absolute: { x: 100, y: 686 } });
|
|
641
|
-
readout(k, garage, CARS.map((c, i) => `${car.n} == ${i} ? "${c.kind.toUpperCase()} \u2014 ${c.blurb}"`).join(" : ") + ' : ""', `${CARS[0].kind.toUpperCase()} \u2014 ${CARS[0].blurb}`, "Body 24", "onVoid", 120, 700, { w: 900, name: "Car blurb" });
|
|
642
|
-
const stats = box(k, garage, 1160, 330, 660, 330, { name: "Stats", fill: k.tint("scrim", 0.86), radius: 6, stroke: { color: "line", width: 2 } });
|
|
643
|
-
const statRows = [
|
|
644
|
-
["Top speed", `${kmh(TOP)} + " " + ${UNIT}`, "318 KM/H", `(${TOP} - 200)`, "160"],
|
|
645
|
-
["Grip", `round(${GRIP})`, "64", GRIP, "100"],
|
|
646
|
-
["Acceleration", `round(${ACCEL})`, "70", ACCEL, "100"]
|
|
647
|
-
];
|
|
648
|
-
statRows.forEach(([name, text, rest, v, max], i) => {
|
|
649
|
-
label(k, stats, name, "Label 26", "onPanel", 36, 34 + i * 96, { name: "Stat name" });
|
|
650
|
-
readout(k, stats, text, rest, "Value 26", "cyan", 380, 34 + i * 96, { w: 244, align: "RIGHT", name: "Stat value" });
|
|
651
|
-
bar(k, stats, { x: 36, y: 80 + i * 96, w: 588, h: 14, value: v, max, back: "line", fill: [k.gradient({ from: "neon", to: "amber", angle: 0 })], radius: 7, name: `${name} bar` });
|
|
652
|
-
});
|
|
653
|
-
const sw = box(k, garage, 1160, 700, 660, 150, { name: "Paint picker", fill: k.tint("scrim", 0.86), radius: 6, stroke: { color: "line", width: 2 } });
|
|
654
|
-
label(k, sw, "Paint", "Small 18", "cyan", 36, 22, { name: "Paint label" });
|
|
655
|
-
readout(k, sw, PAINTS.reduceRight((acc, p, i) => `${paint.n} == ${i} ? "${p.toUpperCase()}" : ${acc}`, '""'), PAINTS[0].toUpperCase(), "Small 18", "onPanel", 300, 22, { w: 324, align: "RIGHT", name: "Paint name" });
|
|
656
|
-
const ring = k.rect(sw, 76, 76, [], { name: "Swatch ring", radius: 38, absolute: { x: 32, y: 56 }, stroke: { color: "chrome", width: 3 } });
|
|
657
|
-
k.bindExpression(ring, "x", `32 + ${paint.n} * 124`);
|
|
658
|
-
PAINTS.forEach((p, i) => {
|
|
659
|
-
const s = box(k, sw, 40 + i * 124, 64, 60, 60, { name: "Swatch", radius: 30, fill: `paint${i}`, effects: [glow(k, `paint${i}`, 14, 0.6)] });
|
|
660
|
-
k.on(s, set(paint.id, { value: i, glide: 180 }));
|
|
661
|
-
});
|
|
662
|
-
k.on(garage, set(paint.id, { expression: `(round(${paint.n}) + 1) % 5`, glide: 180 }), { key: "ArrowDown" });
|
|
663
|
-
k.on(garage, set(paint.id, { expression: `(round(${paint.n}) + 4) % 5`, glide: 180 }), { key: "ArrowUp" });
|
|
664
|
-
const tune = k.instance(garage, "Neon button", { Label: "Tune ENTER" }, { name: "Tune", absolute: { x: 1160, y: 880 } });
|
|
665
|
-
k.on(tune, go(tuning, "PUSH_FROM_RIGHT", { duration: 350 }));
|
|
666
|
-
const bk = k.instance(garage, "Neon button", { Label: "Back ESC" }, { name: "Back", absolute: { x: 1400, y: 880 } });
|
|
667
|
-
k.on(bk, back());
|
|
668
|
-
k.on(garage, go(tuning, "PUSH_FROM_RIGHT", { duration: 350 }), { key: "Enter" });
|
|
669
|
-
hintBar(garage, "LEFT RIGHT CAR \u2191 \u2193 PAINT ENTER TUNE ESC BACK");
|
|
670
|
-
k.cues(garage, [{ layer: "Car", preset: "slide-in", at: 0, params: { direction: "left" } }, { layer: "Stats", preset: "rise-in", at: 150 }, { layer: "Paint picker", preset: "rise-in", at: 250 }]);
|
|
671
|
-
}
|
|
672
|
-
{
|
|
673
|
-
showroom(tuning);
|
|
674
|
-
label(k, tuning, "Tuning", "Heading 72", "chrome", 120, 70, { name: "Screen title", effects: [glow(k, "neon", 18, 0.7)] });
|
|
675
|
-
readout(k, tuning, `${pick3(car.n, CARS.map((c) => `"${c.name}"`))} + " \xB7 set-up sheet"`, `${CARS[0].name} \xB7 set-up sheet`, "Body 24", "dim", 124, 160, { w: 900, name: "Screen lead" });
|
|
676
|
-
const col = box(k, tuning, 120, 250, 1e3, 300, { name: "Tuning list" });
|
|
677
|
-
focusColumn(k, tuning, { focus: tuneFocus, count: 3, x: 100, y: 246, w: 1040, pitch: 90, plate: k.tint("neon", 0.22), escape: [back()] });
|
|
678
|
-
const sl = { labelStyle: "Label 26", valueStyle: "Value 26", ink: "onVoid", track: "line", fill: "amber", knob: "chrome" };
|
|
679
|
-
const at = (i) => ({ x: 0, y: i * 90, width: 1e3, focus: { n: tuneFocus.n, index: i } });
|
|
680
|
-
const r0 = slider(k, col, { ...sl, ...at(0), label: "Gear ratio", variable: gear, min: 1, max: 9, step: 1 });
|
|
681
|
-
const r1 = slider(k, col, { ...sl, ...at(1), label: "Downforce", variable: down, suffix: "%" });
|
|
682
|
-
const r2 = slider(k, col, { ...sl, ...at(2), label: "Tyre pressure", variable: psi, min: 26, max: 38, step: 2, suffix: " psi" });
|
|
683
|
-
[r0, r1, r2].forEach((r, i) => focusRow(k, r, tuneFocus, i));
|
|
684
|
-
const notes = box(k, tuning, 120, 560, 1e3, 110, { name: "Tuning notes", fill: k.tint("scrim", 0.86), radius: 6, padding: 24 });
|
|
685
|
-
readout(k, notes, `${tuneFocus.n} == 0 ? "Long gears: more top speed, a lazier launch." : ${tuneFocus.n} == 1 ? "Downforce: glued through the sweepers, draggy on the straights." : "Soft tyres grip and squirm; hard ones slide but roll free."`, "Long gears: more top speed, a lazier launch.", "Body 24", "onPanel", 24, 24, { w: 952, name: "Tuning note" });
|
|
686
|
-
carProfile(tuning, 1180, 420, 0.7, { tuned: true });
|
|
687
|
-
const stats = box(k, tuning, 1200, 250, 620, 150, { name: "Live stats", fill: k.tint("scrim", 0.88), radius: 6, stroke: { color: "line", width: 2 } });
|
|
688
|
-
[["TOP", `${kmh(TOP)}`, "318"], ["GRIP", `round(${GRIP})`, "64"], ["ACCEL", `round(${ACCEL})`, "70"]].forEach(([n, x, rest], i) => {
|
|
689
|
-
label(k, stats, n, "Small 18", "cyan", 30 + i * 200, 24, { name: "Live stat name" });
|
|
690
|
-
readout(k, stats, x, rest, "Stat 64", "onPanel", 30 + i * 200, 54, { w: 180, name: "Live stat" });
|
|
691
|
-
});
|
|
692
|
-
const bars = box(k, tuning, 1200, 740, 620, 150, { name: "Stat bars", fill: k.tint("scrim", 0.88), radius: 6, stroke: { color: "line", width: 2 } });
|
|
693
|
-
[["Top speed", `(${TOP} - 200)`, "160"], ["Grip", GRIP, "100"], ["Acceleration", ACCEL, "100"]].forEach(([n, v, max], i) => {
|
|
694
|
-
label(k, bars, n, "Small 18", "onPanel", 30, 20 + i * 42, { name: "Bar name" });
|
|
695
|
-
bar(k, bars, { x: 250, y: 26 + i * 42, w: 340, h: 12, value: v, max, back: "line", fill: [k.gradient({ from: "cyan", to: "neon", angle: 0 })], radius: 6, name: `${n} tuned` });
|
|
696
|
-
});
|
|
697
|
-
const done = k.instance(tuning, "Neon button", { Label: "Done ENTER" }, { name: "Done", absolute: { x: 120, y: 900 } });
|
|
698
|
-
k.on(done, back());
|
|
699
|
-
k.on(tuning, back(), { key: "Enter" });
|
|
700
|
-
hintBar(tuning, "\u2191 \u2193 SETTING LEFT RIGHT ADJUST ENTER / ESC DONE");
|
|
701
|
-
}
|
|
702
|
-
{
|
|
703
|
-
dusk(tracks, { palms: false, lines: 5 });
|
|
704
|
-
shade(tracks, 0.78);
|
|
705
|
-
readout(k, tracks, `${mode.n} == 1 ? "Time trial" : "Choose a circuit"`, "Choose a circuit", "Heading 72", "chrome", 120, 70, { w: 1200, name: "Screen title" });
|
|
706
|
-
readout(k, tracks, `${mode.n} == 1 ? "Just you, the clock and the ghost of your best lap." : "Eight cars, three laps. You start sixth."`, "Eight cars, three laps. You start sixth.", "Body 24", "dim", 124, 160, { w: 1200, name: "Screen lead" });
|
|
707
|
-
const x0 = 120, pitch = 580;
|
|
708
|
-
const focusRing = k.rect(tracks, 536, 596, [], { name: "Track focus", radius: 10, absolute: { x: x0 - 8, y: 252 }, stroke: { color: "neon", width: 4 }, effects: [glow(k, "neon", 26)] });
|
|
709
|
-
k.bindExpression(focusRing, "x", `${x0 - 8} + ${track.n} * ${pitch}`);
|
|
710
|
-
TRACKS.forEach((t, i) => {
|
|
711
|
-
const c = box(k, tracks, x0 + i * pitch, 260, 520, 580, { name: "Track card", fill: k.tint("panel", 0.94), radius: 6, stroke: { color: "line", width: 2 } });
|
|
712
|
-
k.rect(c, 520, 280, k.tint("scrim", 0.8), { name: "Map well", radius: 6, absolute: { x: 0, y: 0 } });
|
|
713
|
-
trackLine(c, i, 90, 40, 340, 200);
|
|
714
|
-
label(k, c, t.name, "Car 40", "onPanel", 32, 300, { w: 456, name: "Track name" });
|
|
715
|
-
label(k, c, t.place, "Hint 20", "cyan", 32, 352, { w: 456, name: "Track place" });
|
|
716
|
-
label(k, c, t.blurb, "Body 24", "dim", 32, 392, { w: 456, name: "Track blurb" });
|
|
717
|
-
readout(k, c, `(${units.n} == 1 ? "${(t.km * 0.6214).toFixed(1)} MI" : "${t.km} KM") + " \xB7 3 LAPS"`, `${t.km} KM \xB7 3 LAPS`, "Small 18", "onPanel", 32, 480, { w: 456, name: "Track length" });
|
|
718
|
-
readout(k, c, `"BEST " + clock(${best[i].n})`, `BEST ${Math.floor(t.best / 6e4)}:${String(Math.floor(t.best / 1e3) % 60).padStart(2, "0")}.${String(Math.floor(t.best / 10) % 100).padStart(2, "0")}`, "Value 26", "amber", 32, 516, { w: 456, name: "Track best" });
|
|
719
|
-
k.on(c, set(track.id, { value: i, glide: 160 }), { trigger: "MOUSE_ENTER" });
|
|
720
|
-
onAll(k, c, [set(track.id, { value: i }), ...resetRace, toCountdown]);
|
|
721
|
-
});
|
|
722
|
-
for (const key of ["ArrowRight", "d"]) k.on(tracks, set(track.id, { expression: `(round(${track.n}) + 1) % 3`, glide: 160 }), { key });
|
|
723
|
-
for (const key of ["ArrowLeft", "a"]) k.on(tracks, set(track.id, { expression: `(round(${track.n}) + 2) % 3`, glide: 160 }), { key });
|
|
724
|
-
onAll(k, tracks, [set(track.id, { expression: `round(${track.n})` }), ...resetRace, toCountdown], { key: "Enter" });
|
|
725
|
-
k.on(tracks, back(), { key: "Escape" });
|
|
726
|
-
hintBar(tracks, "LEFT RIGHT CIRCUIT ENTER RACE ESC BACK");
|
|
727
|
-
k.cues(tracks, [{ layer: "Track card", preset: "rise-in", at: 0, stagger: { delay: 90 } }]);
|
|
728
|
-
}
|
|
729
|
-
{
|
|
730
|
-
dusk(settings, { palms: false, lines: 5 });
|
|
731
|
-
shade(settings, 0.84);
|
|
732
|
-
label(k, settings, "Settings", "Heading 72", "chrome", 120, 70, { name: "Screen title" });
|
|
733
|
-
const col = box(k, settings, 120, 200, 1100, 700, { name: "Settings list" });
|
|
734
|
-
const rows = 7;
|
|
735
|
-
focusColumn(k, settings, { focus: setFocus, count: rows, x: 100, y: 196, w: 1140, pitch: 84, plate: k.tint("neon", 0.22), guard: `${rebind.n} == ""`, escape: [back()] });
|
|
736
|
-
const common = { labelStyle: "Label 26", ink: "onVoid" };
|
|
737
|
-
const sl = { ...common, valueStyle: "Value 26", track: "line", fill: "neon", knob: "chrome" };
|
|
738
|
-
const at = (i) => ({ x: 0, y: i * 84, width: 1100, focus: { n: setFocus.n, index: i } });
|
|
739
|
-
const r0 = slider(k, col, { ...sl, ...at(0), label: "Master volume", variable: master, suffix: "%" });
|
|
740
|
-
const r1 = slider(k, col, { ...sl, ...at(1), label: "Music (synthwave)", variable: music, suffix: "%" });
|
|
741
|
-
const r2 = toggle(k, col, { ...common, ...at(2), label: "Camera shake", variable: shake });
|
|
742
|
-
const r3 = toggle(k, col, { ...common, ...at(3), label: "Speed in mph", variable: units });
|
|
743
|
-
const kb = { ...common, capStyle: "Cap 22", cap: "panel", onCap: "cyan", listening: "neon", rebind };
|
|
744
|
-
const r4 = keybind(k, col, { ...kb, ...at(4), action: "Accelerate", slot: "gas", variable: keyGas });
|
|
745
|
-
const r5 = keybind(k, col, { ...kb, ...at(5), action: "Brake", slot: "brake", variable: keyBrake });
|
|
746
|
-
const r6 = keybind(k, col, { ...kb, ...at(6), action: "Nitro", slot: "nitro", variable: keyNitro });
|
|
747
|
-
[r0, r1, r2, r3, r4, r5, r6].forEach((r, i) => focusRow(k, r, setFocus, i));
|
|
748
|
-
rebindListener(k, settings, rebind, [{ slot: "gas", variable: keyGas }, { slot: "brake", variable: keyBrake }, { slot: "nitro", variable: keyNitro }]);
|
|
749
|
-
const prev = box(k, settings, 1320, 200, 500, 460, { name: "Speedo preview", fill: k.tint("panel", 0.94), radius: 6, stroke: { color: "line", width: 2 } });
|
|
750
|
-
label(k, prev, "Preview", "Small 18", "cyan", 32, 28, { name: "Preview title" });
|
|
751
|
-
const dash = box(k, prev, 60, 80, 380, 260, { name: "Preview dash" });
|
|
752
|
-
k.ellipse(dash, 240, k.tint("scrim", 0.9), { name: "Preview dial", absolute: { x: 70, y: 0 }, stroke: { color: "neon", width: 3 } });
|
|
753
|
-
arc(k, dash, 190, 120, 132, Math.PI * 0.75, Math.PI * 1.9, "amber", 6, { name: "Preview arc", effects: [glow(k, "amber", 12)] });
|
|
754
|
-
readout(k, dash, kmh("300"), "300", "Stat 64", "onVoid", 90, 70, { w: 200, align: "CENTER", name: "Preview figure" });
|
|
755
|
-
readout(k, dash, UNIT, "KM/H", "Small 18", "cyan", 90, 146, { w: 200, align: "CENTER", name: "Preview unit" });
|
|
756
|
-
const wob = box(k, dash, 0, 0, 380, 260, { name: "Shake demo" });
|
|
757
|
-
k.rect(wob, 12, 12, "bad", { name: "Shake mark", radius: 6, absolute: { x: 184, y: 250 } });
|
|
758
|
-
k.bindExpression(wob, "visible", `${shake.n} == 1`);
|
|
759
|
-
k.behave(wob, "translateX", [{ kind: "noise", amp: 6, freq: 9, seed: 4 }]);
|
|
760
|
-
readout(k, prev, `"Camera shake " + (${shake.n} == 1 ? "ON" : "OFF") + " \xB7 " + ${UNIT}`, "Camera shake ON \xB7 KM/H", "Small 18", "onPanel", 32, 400, { w: 436, name: "Preview line" });
|
|
761
|
-
const b = k.instance(settings, "Neon button", { Label: "Back ESC" }, { name: "Back", absolute: { x: 1640, y: 900 } });
|
|
762
|
-
k.on(b, back());
|
|
763
|
-
hintBar(settings, "\u2191 \u2193 ROW LEFT RIGHT ADJUST ENTER TOGGLE / REBIND ESC BACK");
|
|
764
|
-
}
|
|
765
|
-
{
|
|
766
|
-
dusk(credits, { palms: true, lines: 6 });
|
|
767
|
-
shade(credits, 0.7);
|
|
768
|
-
const roll = box(k, credits, 460, 50, 1e3, 980, { name: "Credits roll", gap: 18, align: "CENTER" });
|
|
769
|
-
k.text(roll, "Credits", { style: "Heading 72", color: "chrome", align: "CENTER", name: "Roll title" });
|
|
770
|
-
for (const [role, name] of CREDITS) {
|
|
771
|
-
const g = k.stack(roll, { gap: 2, align: "CENTER", name: "Credit" });
|
|
772
|
-
k.text(g, role, { style: "Credit role 20", color: "cyan", align: "CENTER", name: "Role" });
|
|
773
|
-
k.text(g, name, { style: "Credit name 36", color: "onVoid", align: "CENTER", name: "Name" });
|
|
774
|
-
}
|
|
775
|
-
k.text(roll, "A {{brand.studio}} production", { style: "Credit role 20", color: "dim", align: "CENTER", name: "Sign-off" });
|
|
776
|
-
keys(k, roll, "translateY", [{ t: 0, v: 1080, ease: { kind: "linear" } }, { t: 12800, v: -1100 }]);
|
|
777
|
-
k.link(credits, main, "DISSOLVE", { key: "*", duration: 350 });
|
|
778
|
-
k.link(credits, main, "DISSOLVE", { duration: 350 });
|
|
779
|
-
}
|
|
780
|
-
{
|
|
781
|
-
dusk(countdown, { road: true });
|
|
782
|
-
const gantry = box(k, countdown, 560, 120, 800, 120, { name: "Start gantry", fill: k.tint("scrim", 0.92), radius: 60, stroke: { color: "line", width: 3 } });
|
|
783
|
-
for (let i = 0; i < 5; i++) {
|
|
784
|
-
k.ellipse(gantry, 72, "silhouette", { name: "Lamp", absolute: { x: 70 + i * 140, y: 24 }, stroke: { color: "line", width: 2 } });
|
|
785
|
-
const lit = k.ellipse(gantry, 72, i < 4 ? "neon" : "good", { name: "Lamp lit", absolute: { x: 70 + i * 140, y: 24 }, effects: [glow(k, i < 4 ? "neon" : "good", 30)] });
|
|
786
|
-
const on = i < 4 ? 40 + i * 700 : 3e3;
|
|
787
|
-
keys(k, lit, "opacity", i < 4 ? [{ t: 0, v: 0, ease: { kind: "hold" } }, { t: on, v: 1, ease: { kind: "hold" } }, { t: 3e3, v: 0 }] : [{ t: 0, v: 0, ease: { kind: "hold" } }, { t: on, v: 1 }]);
|
|
788
|
-
}
|
|
789
|
-
const disc = k.ellipse(countdown, 460, k.tint("scrim", 0.9), { name: "Count disc", absolute: { x: 730, y: 250 }, stroke: { color: "neon", width: 4 }, effects: [glow(k, "neon", 40, 0.7)] });
|
|
790
|
-
drift(k, disc, "scaleX", 0.02, 1);
|
|
791
|
-
drift(k, disc, "scaleY", 0.02, 1);
|
|
792
|
-
const words = ["3", "2", "1", "GO"];
|
|
793
|
-
words.forEach((w, i) => {
|
|
794
|
-
const t = label(k, countdown, w, "Count 320", i === 3 ? "good" : "chrome", 0, 330, { w: W, align: "CENTER", name: `Count ${w}` });
|
|
795
|
-
const t0 = i * 1e3;
|
|
796
|
-
keys(k, t, "opacity", [...i ? [{ t: 0, v: 0, ease: { kind: "hold" } }] : [], { t: t0, v: 1, ease: { kind: "hold" } }, { t: t0 + 700, v: 1, ease: e("cubic-in") }, { t: t0 + (i === 3 ? 1100 : 950), v: 0 }]);
|
|
797
|
-
keys(k, t, "scaleX", [{ t: t0, v: 1.8, ease: e("back-out") }, { t: t0 + 350, v: 1 }]);
|
|
798
|
-
keys(k, t, "scaleY", [{ t: t0, v: 1.8, ease: e("back-out") }, { t: t0 + 350, v: 1 }]);
|
|
799
|
-
});
|
|
800
|
-
const info = box(k, countdown, 610, 880, 700, 64, { name: "Grid info", fill: k.tint("scrim", 0.88), radius: 32, align: "CENTER", justify: "CENTER" });
|
|
801
|
-
readout(k, info, `${pick3(track.n, TRACKS.map((t) => `"${t.name}"`))} + (${mode.n} == 1 ? " \xB7 TIME TRIAL" : " \xB7 GRID P6 OF 8")`, `${TRACKS[0].name} \xB7 GRID P6 OF 8`, "HUD 22", "onVoid", 0, 18, { w: 700, align: "CENTER", name: "Grid line" });
|
|
802
|
-
onAll(k, countdown, [...startClock, go(hud, "DISSOLVE", { duration: 200 })], { trigger: "AFTER_TIMEOUT", delay: 3900 });
|
|
803
|
-
onAll(k, countdown, [...startClock, go(hud, "DISSOLVE", { duration: 200 })], { key: "Enter" });
|
|
804
|
-
k.on(countdown, overlay(pause), { key: "Escape" });
|
|
805
|
-
}
|
|
806
|
-
{
|
|
807
|
-
const world = box(k, hud, 0, 0, W, H, { name: "World" });
|
|
808
|
-
const { g: scene } = dusk(world, { road: true, sink: `min(${dist.n}, 3) * 48` });
|
|
809
|
-
k.bindExpression(scene, "translateX", `${steer.n} * -40`);
|
|
810
|
-
k.patch(scene, { anchorX: 0.5, anchorY: 0.5, scaleX: 1.06, scaleY: 1.06 });
|
|
811
|
-
const streakSets = [[100, 6], [180, 6], [250, 6]];
|
|
812
|
-
streakSets.forEach(([at, n], si) => {
|
|
813
|
-
const s = box(k, world, 0, 0, W, H, { name: "Speed streaks" });
|
|
814
|
-
k.bindExpression(s, "visible", `${speed.n} > ${at}`);
|
|
815
|
-
k.bindExpression(s, "opacity", `clamp((${speed.n} - ${at}) / 120, 0, 1)`);
|
|
816
|
-
for (let i = 0; i < n; i++) {
|
|
817
|
-
const side = i % 2 ? 1 : -1;
|
|
818
|
-
const a = side > 0 ? -0.35 + (i * 0.23 + si * 0.11) % 0.8 : Math.PI + 0.35 - (i * 0.23 + si * 0.11) % 0.8;
|
|
819
|
-
const r0 = 260 + si * 60, len = 220;
|
|
820
|
-
const p0 = [960 + Math.cos(a) * r0, HORIZON + Math.sin(a) * r0 * 0.55], p1 = [960 + Math.cos(a) * (r0 + len), HORIZON + Math.sin(a) * (r0 + len) * 0.55];
|
|
821
|
-
const nx = -Math.sin(a) * 1.5, ny = Math.cos(a) * 1.5;
|
|
822
|
-
const st = poly(k, s, [[p0[0] + nx, p0[1] + ny], [p1[0] + nx * 2, p1[1] + ny * 2], [p1[0] - nx * 2, p1[1] - ny * 2], [p0[0] - nx, p0[1] - ny]], si === 2 ? "cyan" : "chrome", { name: "Streak", opacity: 0.8 });
|
|
823
|
-
const dx2 = Math.cos(a) * 900, dy2 = Math.sin(a) * 900 * 0.55;
|
|
824
|
-
keys(k, st, "translateX", [{ t: 0, v: 0, ease: e("cubic-in") }, { t: 600, v: dx2 }]);
|
|
825
|
-
keys(k, st, "translateY", [{ t: 0, v: 0, ease: e("cubic-in") }, { t: 600, v: dy2 }]);
|
|
826
|
-
k.behave(st, "translateX", [{ kind: "loop", mode: "cycle" }]);
|
|
827
|
-
k.behave(st, "translateY", [{ kind: "loop", mode: "cycle" }]);
|
|
828
|
-
if (i) k.delay(st, i * 97);
|
|
829
|
-
}
|
|
830
|
-
});
|
|
831
|
-
const you = box(k, world, 740, 740, 440, 220, { name: "Your car" });
|
|
832
|
-
k.bindExpression(you, "translateX", `${steer.n} * 110`);
|
|
833
|
-
k.bindExpression(you, "rotation", `${steer.n} * -3`);
|
|
834
|
-
k.patch(you, { anchorX: 0.5, anchorY: 1 });
|
|
835
|
-
k.ellipse(you, 440, k.tint("scrim", 0.6), { name: "Shadow", absolute: { x: 0, y: 150 } });
|
|
836
|
-
k.patch(k.named(you, "Shadow")[0], { height: 70 });
|
|
837
|
-
k.rect(you, 70, 70, "tyre", { name: "Tyre", radius: 10, absolute: { x: 34, y: 136 } });
|
|
838
|
-
k.rect(you, 70, 70, "tyre", { name: "Tyre", radius: 10, absolute: { x: 336, y: 136 } });
|
|
839
|
-
const rearBody = [[20, 170], [30, 110], [90, 80], [130, 30], [310, 30], [350, 80], [410, 110], [420, 170], [400, 190], [40, 190]];
|
|
840
|
-
PAINTS.forEach((_, j) => {
|
|
841
|
-
const b = poly(k, you, rearBody, `paint${j}`, { name: "Rear paint", effects: [glow(k, `paint${j}`, 26, 0.4)] });
|
|
842
|
-
k.bindExpression(b, "visible", `${paint.n} == ${j}`);
|
|
843
|
-
});
|
|
844
|
-
poly(k, you, rearBody, "chrome", { name: "Rear line", stroke: 2, closed: true, opacity: 0.6 });
|
|
845
|
-
poly(k, you, [[140, 40], [300, 40], [332, 84], [108, 84]], "glass", { name: "Rear glass" });
|
|
846
|
-
k.rect(you, 380, 16, "silhouette", { name: "Spoiler", radius: 4, absolute: { x: 30, y: 72 }, stroke: { color: "neon", width: 2 } });
|
|
847
|
-
const tail = k.rect(you, 330, 16, "neon", { name: "Tail lights", radius: 8, absolute: { x: 55, y: 118 }, effects: [glow(k, "neon", 30)] });
|
|
848
|
-
k.bindExpression(tail, "opacity", `0.5 + ${brake.n} * 0.5`);
|
|
849
|
-
const brakeGlow = k.ellipse(you, 440, [k.gradient({ from: "bad", to: "bad", kind: "RADIAL", fromOpacity: 0.6, toOpacity: 0, handles: [{ x: 0.5, y: 0.5 }, { x: 1, y: 0.5 }, { x: 0.5, y: 1 }] })], { name: "Brake glow", absolute: { x: 0, y: 20 } });
|
|
850
|
-
k.patch(brakeGlow, { height: 200 });
|
|
851
|
-
k.bindExpression(brakeGlow, "visible", `${brake.n} == 1`);
|
|
852
|
-
k.rect(you, 120, 18, "silhouette", { name: "Plate", radius: 3, absolute: { x: 160, y: 150 }, stroke: { color: "chrome", width: 1 } });
|
|
853
|
-
k.ellipse(you, 22, "silhouette", { name: "Exhaust", absolute: { x: 100, y: 178 }, stroke: { color: "amber", width: 3 } });
|
|
854
|
-
k.ellipse(you, 22, "silhouette", { name: "Exhaust", absolute: { x: 318, y: 178 }, stroke: { color: "amber", width: 3 } });
|
|
855
|
-
drift(k, you, "translateY", 2, 3.1);
|
|
856
|
-
const smoke = box(k, world, 780, 620, 360, 200, { name: "Engine smoke" });
|
|
857
|
-
k.bindExpression(smoke, "visible", `${damage.n} >= 50`);
|
|
858
|
-
for (let i = 0; i < 5; i++) {
|
|
859
|
-
const p = k.ellipse(smoke, 70 + i * 16, "smoke", { name: "Puff", absolute: { x: 100 + i % 3 * 50, y: 120 }, opacity: 0.55, effects: [blurFx(14)] });
|
|
860
|
-
keys(k, p, "translateY", [{ t: 0, v: 40, ease: e("cubic-out") }, { t: 1400, v: -120 }]);
|
|
861
|
-
keys(k, p, "opacity", [{ t: 0, v: 0.6, ease: { kind: "linear" } }, { t: 1400, v: 0 }]);
|
|
862
|
-
k.behave(p, "translateY", [{ kind: "loop", mode: "cycle" }]);
|
|
863
|
-
k.behave(p, "opacity", [{ kind: "loop", mode: "cycle" }]);
|
|
864
|
-
if (i) k.delay(p, i * 280);
|
|
865
|
-
}
|
|
866
|
-
const rig = box(k, hud, 0, 0, W, H, { name: "Tilt rig" });
|
|
867
|
-
k.patch(rig, { anchorX: 0.5, anchorY: 0.5 });
|
|
868
|
-
k.bindExpression(rig, "rotation", `${steer.n} * 1.2 + ${shake.n} * ${hitFx.n} * 1.5`);
|
|
869
|
-
k.bindExpression(rig, "translateY", `${shake.n} * ${hitFx.n} * 36`);
|
|
870
|
-
k.bindExpression(world, "translateX", `${shake.n} * ${hitFx.n} * -60`);
|
|
871
|
-
const board = box(k, rig, 40, 40, 380, 470, { name: "Position board", fill: k.tint("scrim", 0.86), radius: 6, stroke: { color: "line", width: 2 } });
|
|
872
|
-
k.bindExpression(board, "visible", `${mode.n} == 0`);
|
|
873
|
-
label(k, board, "Position", "Small 18", "cyan", 24, 22, { name: "Board title" });
|
|
874
|
-
readout(k, board, `"P" + round(${pos.n})`, "P6", "Pos 72", "onPanel", 24, 44, { w: 160, name: "Position" });
|
|
875
|
-
readout(k, board, `"/ " + ${racers.n}`, "/ 8", "HUD 22", "dim", 150, 80, { w: 80, name: "Of racers" });
|
|
876
|
-
const pitch = 36, top = 134;
|
|
877
|
-
for (let r = 0; r < 8; r++) label(k, board, String(r + 1), "Board 20", "dim", 24, top + r * pitch + 4, { w: 30, name: "Rank" });
|
|
878
|
-
RIVALS.forEach((name, i) => {
|
|
879
|
-
const row = box(k, board, 62, top + i * pitch, 296, pitch - 4, { name: "Rival row" });
|
|
880
|
-
k.text(row, name, { style: "Board 20", color: "onPanel", width: 290, name: "Rival", absolute: { x: 10, y: 3 } });
|
|
881
|
-
k.bindExpression(row, "y", `${top} + ${pitch} * (${i} + clamp(${i + 2} - ${pos.n}, 0, 1))`);
|
|
882
|
-
});
|
|
883
|
-
const me = box(k, board, 62, top + 5 * pitch, 296, pitch - 4, { name: "Your row", fill: "primary", radius: 4 });
|
|
884
|
-
readout(k, me, driver.n, "ZEPHYR", "Board 20", "onPrimary", 10, 3, { w: 280, name: "You" });
|
|
885
|
-
k.bindExpression(me, "y", `${top} + ${pitch} * (${pos.n} - 1)`);
|
|
886
|
-
const ttPanel = box(k, rig, 40, 40, 380, 150, { name: "Ghost panel", fill: k.tint("scrim", 0.86), radius: 6, stroke: { color: "line", width: 2 }, padding: 24, gap: 8 });
|
|
887
|
-
k.bindExpression(ttPanel, "visible", `${mode.n} == 1`);
|
|
888
|
-
k.text(ttPanel, "Time trial", { style: "Small 18", color: "cyan", name: "Ghost title" });
|
|
889
|
-
readout(k, ttPanel, `"GHOST " + clock(${pick3(track.n, best.map((b) => b.n))})`, "GHOST 0:41.25", "HUD 22", "onPanel", 24, 60, { w: 330, name: "Ghost best" });
|
|
890
|
-
const lapBox = box(k, rig, 700, 30, 520, 150, { name: "Lap panel", fill: k.tint("scrim", 0.86), radius: 6, stroke: { color: "line", width: 2 } });
|
|
891
|
-
label(k, lapBox, "Lap", "Small 18", "cyan", 30, 20, { name: "Lap label" });
|
|
892
|
-
readout(k, lapBox, `${LAP} + " / " + ${laps.n}`, "1 / 3", "Lap 48", "onPanel", 20, 46, { w: 180, name: "Lap count" });
|
|
893
|
-
label(k, lapBox, "Race time", "Small 18", "cyan", 230, 20, { name: "Clock label" });
|
|
894
|
-
label(k, lapBox, "0.00", "Clock 30", "onPanel", 220, 54, { w: 280, name: "Race clock" });
|
|
895
|
-
readout(k, lapBox, `"LAST " + (${lastLap.n} > 0 ? clock(${lastLap.n}) : "-:--.--")`, "LAST -:--.--", "Small 18", "dim", 220, 104, { w: 280, name: "Last lap" });
|
|
896
|
-
const ghost = box(k, rig, 800, 196, 320, 60, { name: "Ghost delta", fill: k.tint("scrim", 0.9), radius: 30, stroke: { color: "line", width: 2 } });
|
|
897
|
-
const dText = `(${delta.n} >= 0 ? "+" : "\u2212") + fixed(abs(${delta.n}), 2) + " GHOST"`;
|
|
898
|
-
const ahead = readout(k, ghost, dText, "+0.00 GHOST", "Delta 34", "good", 0, 10, { w: 320, align: "CENTER", name: "Delta ahead" });
|
|
899
|
-
k.bindExpression(ahead, "visible", `${delta.n} < 0`);
|
|
900
|
-
const behind = readout(k, ghost, dText, "+0.00 GHOST", "Delta 34", "bad", 0, 10, { w: 320, align: "CENTER", name: "Delta behind" });
|
|
901
|
-
k.bindExpression(behind, "visible", `${delta.n} >= 0`);
|
|
902
|
-
const mm = box(k, rig, 1590, 110, 290, 250, { name: "Minimap", fill: k.tint("scrim", 0.86), radius: 6, stroke: { color: "line", width: 2 } });
|
|
903
|
-
readout(k, mm, pick3(track.n, TRACKS.map((t) => `"${t.name}"`)), TRACKS[0].name, "Small 18", "cyan", 20, 16, { w: 250, name: "Map title" });
|
|
904
|
-
const mw = 250, mh = 180, mx = 20, my = 52;
|
|
905
|
-
TRACKS.forEach((_, i) => {
|
|
906
|
-
const m = trackLine(mm, i, mx, my, mw, mh, 3);
|
|
907
|
-
k.bindExpression(m, "visible", `${track.n} == ${i}`);
|
|
908
|
-
});
|
|
909
|
-
const dotAt = (u, size, color, name) => {
|
|
910
|
-
const d = k.ellipse(mm, size, color, { name, absolute: { x: 0, y: 0 }, effects: [glow(k, color, 12)] });
|
|
911
|
-
k.bindExpression(d, "x", `${mx - size / 2} + ` + pick3(track.n, TRACKS.map((_, i) => `(${along(trackPts(i, mw, mh), u, 0)})`)));
|
|
912
|
-
k.bindExpression(d, "y", `${my - size / 2} + ` + pick3(track.n, TRACKS.map((_, i) => `(${along(trackPts(i, mw, mh), u, 1)})`)));
|
|
913
|
-
return d;
|
|
914
|
-
};
|
|
915
|
-
[0.05, 0.11, 0.19].forEach((o, j) => dotAt(`((${dist.n} + ${o}) % 1)`, 12, "dim", `Rival dot ${j + 1}`));
|
|
916
|
-
dotAt(U, 18, "neon", "You dot");
|
|
917
|
-
const status = box(k, rig, 40, 790, 620, 210, { name: "Car status", fill: k.tint("scrim", 0.86), radius: 6, stroke: { color: "line", width: 2 } });
|
|
918
|
-
readout(k, status, driver.n, "ZEPHYR", "HUD 22", "cyan", 24, 18, { w: 260, name: "Driver" });
|
|
919
|
-
readout(k, status, pick3(car.n, CARS.map((c) => `"${c.name}"`)), CARS[0].name, "HUD 22", "dim", 300, 18, { w: 296, align: "RIGHT", name: "Car name" });
|
|
920
|
-
readout(k, status, `"NITRO [" + ${keyNitro.n} + "]"`, "NITRO [N]", "Small 18", "onPanel", 24, 62, { w: 300, name: "Nitro label" });
|
|
921
|
-
bar(k, status, { x: 24, y: 92, w: 470, h: 26, value: nitro.n, max: "100", back: "line", fill: [k.gradient({ from: "cyan", to: "chrome", angle: 0 })], radius: 4, name: "Nitro bar" });
|
|
922
|
-
for (let i = 1; i < 4; i++) k.rect(status, 3, 26, "scrim", { name: "Bottle gap", absolute: { x: 24 + i * 117.5, y: 92 } });
|
|
923
|
-
const ring = k.instance(status, "Nitro ring", {}, { name: "Nitro cooldown", absolute: { x: 516, y: 70 } });
|
|
924
|
-
k.ellipse(status, 56, [], { name: "Nitro socket", absolute: { x: 524, y: 78 }, stroke: { color: "line", width: 2 } });
|
|
925
|
-
label(k, status, "Damage", "Small 18", "onPanel", 24, 132, { name: "Damage label" });
|
|
926
|
-
bar(k, status, { x: 24, y: 160, w: 470, h: 26, value: damage.n, max: maxDamage.n, back: "line", fill: [k.gradient({ from: "amber", to: "bad", angle: 0 })], chip: { expression: damageLag.n, color: "chrome" }, radius: 4, name: "Damage bar" });
|
|
927
|
-
readout(k, status, `round(${damage.n}) + "%"`, "0%", "HUD 22", "onPanel", 500, 158, { w: 100, align: "RIGHT", name: "Damage value" });
|
|
928
|
-
const crit = box(k, rig, 40, 730, 620, 48, { name: "Engine critical", fill: "bad", radius: 4, align: "CENTER", justify: "CENTER" });
|
|
929
|
-
k.text(crit, "Engine critical \u2014 one more hit", { style: "Alert 30", color: "onAmber", autoWidth: true, name: "Critical words" });
|
|
930
|
-
k.bindExpression(crit, "visible", `${damage.n} >= 70`);
|
|
931
|
-
drift(k, crit, "opacity", 0.35, 2);
|
|
932
|
-
const cx = 1650, cy = 820, R = 180;
|
|
933
|
-
const dial = box(k, rig, cx - 280, cy - 280, 560, 560, { name: "Speedometer" });
|
|
934
|
-
const lc = (x, y) => [x - (cx - 280), y - (cy - 280)];
|
|
935
|
-
const [dx, dy] = lc(cx, cy);
|
|
936
|
-
const heat = k.ellipse(dial, 560, [k.gradient({ from: "amber", to: "amber", kind: "RADIAL", fromOpacity: 0.7, toOpacity: 0, handles: [{ x: 0.5, y: 0.5 }, { x: 1, y: 0.5 }, { x: 0.5, y: 1 }] })], { name: "Heat glow", absolute: { x: 0, y: 0 } });
|
|
937
|
-
k.bindExpression(heat, "opacity", `0.15 + clamp(${speed.n} / ${DIAL_MAX}, 0, 1) * 0.85`);
|
|
938
|
-
const hot = k.ellipse(dial, 520, [k.gradient({ from: "chrome", to: "neon", kind: "RADIAL", fromOpacity: 0.5, toOpacity: 0, handles: [{ x: 0.5, y: 0.5 }, { x: 1, y: 0.5 }, { x: 0.5, y: 1 }] })], { name: "Redline glow", absolute: { x: 20, y: 20 } });
|
|
939
|
-
k.bindExpression(hot, "visible", `${speed.n} >= 255`);
|
|
940
|
-
drift(k, hot, "opacity", 0.3, 3);
|
|
941
|
-
k.ellipse(dial, R * 2, k.tint("scrim", 0.94), { name: "Dial face", absolute: { x: dx - R, y: dy - R }, stroke: { color: "line", width: 3 } });
|
|
942
|
-
const a0 = Math.PI * 0.75, a1 = Math.PI * 2.25, sweep = a1 - a0;
|
|
943
|
-
const segs = 18;
|
|
944
|
-
for (let i = 0; i < segs; i++) {
|
|
945
|
-
const s0 = a0 + sweep * i / segs + 0.012, s1 = a0 + sweep * (i + 1) / segs - 0.012;
|
|
946
|
-
const color = i < 12 ? "cyan" : i < 15 ? "amber" : "bad";
|
|
947
|
-
const seg = sector(k, dial, dx, dy, R + 44, R + 16, s0, s1, color, { name: "Tach segment", effects: [glow(k, color, 10, 0.8)] });
|
|
948
|
-
k.bindExpression(seg, "opacity", `${RPM} * ${segs} > ${i} ? 1 : 0.14`);
|
|
949
|
-
}
|
|
950
|
-
arc(k, dial, dx, dy, R - 8, a0, a1, "line", 2, { name: "Dial rim" });
|
|
951
|
-
for (let v = 0; v <= DIAL_MAX; v += 40) {
|
|
952
|
-
const a = a0 + v / DIAL_MAX * sweep;
|
|
953
|
-
const [ox, oy] = [dx + Math.cos(a) * (R - 10), dy + Math.sin(a) * (R - 10)], [ix, iy] = [dx + Math.cos(a) * (R - 28), dy + Math.sin(a) * (R - 28)];
|
|
954
|
-
poly(k, dial, [[ox, oy], [ix, iy]], "chrome", { name: "Dial tick", stroke: 3 });
|
|
955
|
-
const t = label(k, dial, String(v), "Tick 16", "dim", dx + Math.cos(a) * (R - 52) - 26, dy + Math.sin(a) * (R - 52) - 10, { w: 52, align: "CENTER", name: "Dial number" });
|
|
956
|
-
k.bindExpression(t, "characters", `${units.n} == 1 ? "${Math.round(v * 0.6214)}" : "${v}"`);
|
|
957
|
-
}
|
|
958
|
-
const na = a0, nd = [Math.cos(na), Math.sin(na)], nn = [-nd[1], nd[0]];
|
|
959
|
-
const needle = poly(k, dial, [[dx - nd[0] * 26 + nn[0] * 7, dy - nd[1] * 26 + nn[1] * 7], [dx + nd[0] * (R - 20), dy + nd[1] * (R - 20)], [dx - nd[0] * 26 - nn[0] * 7, dy - nd[1] * 26 - nn[1] * 7]], "neon", { name: "Needle", effects: [glow(k, "neon", 16)] });
|
|
960
|
-
const nb = k.node(needle);
|
|
961
|
-
k.patch(needle, { anchorX: (dx - nb.x) / nb.width, anchorY: (dy - nb.y) / nb.height });
|
|
962
|
-
k.bindExpression(needle, "rotation", `clamp(${speed.n} / ${DIAL_MAX}, 0, 1) * 270`);
|
|
963
|
-
const fig = box(k, dial, dx - 96, dy - 92, 192, 128, { name: "Speed plate", fill: k.tint("scrim", 0.97), radius: 16, stroke: { color: "line", width: 1 } });
|
|
964
|
-
readout(k, fig, kmh(speed.n), "0", "Speed 96", "onVoid", 0, 2, { w: 192, align: "CENTER", name: "Speed" });
|
|
965
|
-
readout(k, fig, UNIT, "KM/H", "Small 18", "cyan", 0, 98, { w: 192, align: "CENTER", name: "Speed unit" });
|
|
966
|
-
const gearBox = box(k, dial, dx - 50, dy + 72, 100, 84, { name: "Gear box", fill: "panel", radius: 10, stroke: { color: "neon", width: 2 } });
|
|
967
|
-
readout(k, gearBox, `${speed.n} < 2 ? "N" : "" + (${GEAR})`, "N", "Gear 56", "onPanel", 0, 12, { w: 100, align: "CENTER", name: "Gear" });
|
|
968
|
-
const legend = box(k, rig, 40, 1016, 700, 40, { name: "Controls", fill: k.tint("scrim", 0.9), radius: 4 });
|
|
969
|
-
readout(k, legend, `${keyGas.n} + " GAS " + ${keyBrake.n} + " BRAKE A D STEER " + ${keyNitro.n} + " NITRO O PASS C HIT"`, "W GAS S BRAKE A D STEER N NITRO O PASS C HIT", "Small 18", "onVoid", 0, 8, { w: 700, align: "CENTER", name: "Legend" });
|
|
970
|
-
const edge = k.gradient({ from: "bad", to: "bad", kind: "RADIAL", fromOpacity: 0, toOpacity: 0.85, handles: [{ x: 0.5, y: 0.5 }, { x: 1.05, y: 0.5 }, { x: 0.5, y: 1.1 }] });
|
|
971
|
-
const hitRect = k.rect(hud, W, H, [edge], { name: "Hit flash", absolute: { x: 0, y: 0 } });
|
|
972
|
-
k.bindExpression(hitRect, "opacity", `${hitFx.n} * 0.6`);
|
|
973
|
-
const wash = k.rect(hud, W, H, [k.gradient({ from: "cyan", to: "cyan", kind: "RADIAL", fromOpacity: 0, toOpacity: 0.55, handles: [{ x: 0.5, y: 0.55 }, { x: 1, y: 0.55 }, { x: 0.5, y: 1.1 }] })], { name: "Boost flash", absolute: { x: 0, y: 0 } });
|
|
974
|
-
k.bindExpression(wash, "opacity", boostFx.n);
|
|
975
|
-
const lapPop = k.instance(hud, "Lap banner", {}, { name: "Lap banner", absolute: { x: 600, y: 300 } });
|
|
976
|
-
const passPop = k.instance(hud, "Overtake pop", {}, { name: "Overtake pop", absolute: { x: 440, y: 440 } });
|
|
977
|
-
const boost = k.instance(hud, "Boost", {}, { name: "Boost", absolute: { x: 0, y: 0 } });
|
|
978
|
-
const impact = k.instance(hud, "Impact", {}, { name: "Impact", absolute: { x: 0, y: 0 } });
|
|
979
|
-
k.counts(hud, [{ layer: "Race clock", at: 0, duration: 18e4, counter: { from: 0, to: 180, decimals: 2, separator: "", value: 0 }, ease: { kind: "linear" } }]);
|
|
980
|
-
const finish = [
|
|
981
|
-
set(finishTime.id, { expression: `now() - ${raceStart.n}` }),
|
|
982
|
-
when([...best.map((b, i) => ({ if: `${track.n} == ${i} && ${finishTime.n} < ${b.n}`, then: [set(record.id, { value: 1 }), set(b.id, { expression: finishTime.n })] })), { then: [set(record.id, { value: 0 })] }]),
|
|
983
|
-
go(results, "DISSOLVE", { duration: 700 })
|
|
984
|
-
];
|
|
985
|
-
const newLap = (step) => when([{ if: crosses(step), then: [set(lastLap.id, { expression: `now() - ${lapStart.n}` }), set(lapStart.id, { expression: "now()" })] }]);
|
|
986
|
-
const logic = box(k, hud, 0, 0, 1, 1, { name: "Game logic" });
|
|
987
|
-
k.on(logic, when([
|
|
988
|
-
{ if: GAS, then: [
|
|
989
|
-
newLap(STEP),
|
|
990
|
-
set(dist.id, { expression: `${dist.n} + ${STEP}`, glide: 600 }),
|
|
991
|
-
set(speed.id, { expression: `min(${TOP}, ${speed.n} + ${ACC})`, glide: 500 }),
|
|
992
|
-
set(delta.id, { expression: `${delta.n} + (215 - ${speed.n}) / 700`, glide: 300 }),
|
|
993
|
-
set(nitro.id, { expression: `min(100, ${nitro.n} + 4)`, glide: 400 }),
|
|
994
|
-
set(steer.id, { value: 0, glide: 450 }),
|
|
995
|
-
set(brake.id, { value: 0 }),
|
|
996
|
-
when([{ if: `${speed.n} >= 250 && ${pos.n} > 2`, then: [set(pos.id, { expression: `${pos.n} - 1`, glide: 600, easing: "EASE_IN_OUT" })] }]),
|
|
997
|
-
when([{ if: `${dist.n} >= ${laps.n}`, then: finish }])
|
|
998
|
-
] },
|
|
999
|
-
{ if: BRAKE, then: [
|
|
1000
|
-
set(speed.id, { expression: `max(0, ${speed.n} - 90)`, glide: 400 }),
|
|
1001
|
-
set(brake.id, { value: 1 }),
|
|
1002
|
-
set(delta.id, { expression: `${delta.n} + 0.18`, glide: 300 }),
|
|
1003
|
-
when([{ if: `${speed.n} < 40 && ${pos.n} < 8`, then: [set(pos.id, { expression: `${pos.n} + 1`, glide: 600, easing: "EASE_IN_OUT" })] }])
|
|
1004
|
-
] },
|
|
1005
|
-
{ if: LEFT, then: [set(steer.id, { expression: `max(-1, ${steer.n} - 1)`, glide: 350 })] },
|
|
1006
|
-
{ if: RIGHT, then: [set(steer.id, { expression: `min(1, ${steer.n} + 1)`, glide: 350 })] },
|
|
1007
|
-
{ if: `${NITRO} && ${CAN}`, then: [
|
|
1008
|
-
set(nitroAt.id, { expression: "now()" }),
|
|
1009
|
-
set(boostFx.id, { value: 1 }),
|
|
1010
|
-
set(boostFx.id, { value: 0, glide: 1e3, easing: "EASE_IN" }),
|
|
1011
|
-
set(nitro.id, { expression: `${nitro.n} - 25`, glide: 900 }),
|
|
1012
|
-
newLap(NSTEP),
|
|
1013
|
-
set(dist.id, { expression: `${dist.n} + ${NSTEP}`, glide: 900 }),
|
|
1014
|
-
set(speed.id, { expression: `min(${TOP} + 40, ${speed.n} + 70)`, glide: 400 }),
|
|
1015
|
-
set(delta.id, { expression: `${delta.n} - 0.25`, glide: 300 }),
|
|
1016
|
-
when([{ if: `${pos.n} > 1`, then: [set(pos.id, { expression: `${pos.n} - 1`, glide: 600, easing: "EASE_IN_OUT" })] }]),
|
|
1017
|
-
when([{ if: `${dist.n} >= ${laps.n}`, then: finish }])
|
|
1018
|
-
] },
|
|
1019
|
-
{ if: 'upper($key) == "O"', then: [when([{ if: `${pos.n} > 1`, then: [set(pos.id, { expression: `${pos.n} - 1`, glide: 600, easing: "EASE_IN_OUT" }), set(delta.id, { expression: `${delta.n} - 0.1`, glide: 300 })] }])] },
|
|
1020
|
-
{ if: 'upper($key) == "C"', then: [
|
|
1021
|
-
set(hitFx.id, { value: 1 }),
|
|
1022
|
-
set(hitFx.id, { value: 0, glide: 1200, easing: "EASE_IN" }),
|
|
1023
|
-
set(damage.id, { expression: `min(${maxDamage.n}, ${damage.n} + 26)`, glide: 300 }),
|
|
1024
|
-
set(damageLag.id, { expression: damage.n, glide: 1200, easing: "EASE_IN_OUT" }),
|
|
1025
|
-
set(speed.id, { expression: `${speed.n} * 0.35`, glide: 350 }),
|
|
1026
|
-
set(delta.id, { expression: `${delta.n} + 0.6`, glide: 300 }),
|
|
1027
|
-
when([{ if: `${pos.n} < 8`, then: [set(pos.id, { expression: `${pos.n} + 1`, glide: 600, easing: "EASE_IN_OUT" })] }]),
|
|
1028
|
-
when([{ if: `${damage.n} >= ${maxDamage.n}`, then: [go(wrecked, "DISSOLVE", { duration: 700 })] }])
|
|
1029
|
-
] }
|
|
1030
|
-
]), { key: "*" });
|
|
1031
|
-
k.on(logic, overlay(pause), { key: "Escape" });
|
|
1032
|
-
k.on(impact, when([{ if: `upper($key) == "C" && ${shake.n} == 1`, then: [k.changeAction("Impact/Shake", 0)] }, { if: 'upper($key) == "C"', then: [k.changeAction("Impact/Flash", 0)] }]), { key: "*" });
|
|
1033
|
-
k.on(boost, when([{ if: `${NITRO} && ${CAN}`, then: [k.changeAction("Boost/Fire", 0)] }]), { key: "*" });
|
|
1034
|
-
k.on(ring, when([{ if: `${NITRO} && ${CAN}`, then: [k.changeAction("Nitro ring/Charge", 0)] }]), { key: "*" });
|
|
1035
|
-
k.on(lapPop, when([{ if: `(${GAS} && ${crosses(STEP)}) || (${NITRO} && ${CAN} && ${crosses(NSTEP)})`, then: [k.changeAction("Lap banner/New", 0)] }]), { key: "*" });
|
|
1036
|
-
k.on(passPop, when([{ if: `${mode.n} == 0 && ((upper($key) == "O" && ${pos.n} > 1) || (${NITRO} && ${CAN} && ${pos.n} > 1) || (${GAS} && min(${TOP}, ${speed.n} + ${ACC}) >= 250 && ${pos.n} > 2))`, then: [k.changeAction("Overtake pop/Show", 0)] }]), { key: "*" });
|
|
1037
|
-
k.cues(hud, [{ layer: ["Position board", "Car status"], preset: "slide-in", at: 0, params: { direction: "left" }, stagger: { delay: 80 } }, { layer: "Speedometer", preset: "scale-in", at: 100 }, { layer: "Lap panel", preset: "drop-in", at: 150 }]);
|
|
1038
|
-
}
|
|
1039
|
-
{
|
|
1040
|
-
label(k, pause, "Paused", "Heading 72", "chrome", 0, 230, { w: W, align: "CENTER", name: "Screen title", effects: [glow(k, "neon", 20, 0.8)] });
|
|
1041
|
-
menu(k, pause, [
|
|
1042
|
-
{ label: "Resume", actions: [close()] },
|
|
1043
|
-
{ label: "Restart race", actions: [...resetRace, toCountdown] },
|
|
1044
|
-
{ label: "Settings", actions: [go(settings, "DISSOLVE", { duration: 300 })] },
|
|
1045
|
-
{ label: "Retire to menu", actions: [go(main, "DISSOLVE", { duration: 400 })] }
|
|
1046
|
-
], { focus: pauseFocus, x: 610, y: 380, width: 700, pitch: 88, style: "Menu 44", color: "onVoid", plate: k.tint("neon", 0.5), marker: { color: "amber" }, escape: [close()], radius: 4 });
|
|
1047
|
-
readout(k, pause, `"LAP " + ${LAP} + " / " + ${laps.n} + " \xB7 P" + round(${pos.n}) + " \xB7 DAMAGE " + round(${damage.n}) + "%"`, "LAP 1 / 3 \xB7 P6 \xB7 DAMAGE 0%", "Hint 20", "dim", 0, 780, { w: W, align: "CENTER", name: "Run stats" });
|
|
1048
|
-
}
|
|
1049
|
-
{
|
|
1050
|
-
dusk(results, { palms: true, lines: 6, sunR: 280 });
|
|
1051
|
-
shade(results, 0.66);
|
|
1052
|
-
readout(k, results, `${mode.n} == 1 ? "Time trial complete" : round(${pos.n}) == 1 ? "Victory lane" : "Checkered flag"`, "Checkered flag", "Heading 72", "chrome", 100, 60, { w: 1100, name: "Screen title", effects: [glow(k, "neon", 20, 0.8)] });
|
|
1053
|
-
const place = `round(${pos.n})`;
|
|
1054
|
-
readout(k, results, `${mode.n} == 1 ? "SOLO" : ${place} == 1 ? "1ST" : ${place} == 2 ? "2ND" : ${place} == 3 ? "3RD" : ${place} + "TH"`, "6TH", "Place 200", "amber", 100, 170, { w: 700, align: "LEFT", name: "Finish place" });
|
|
1055
|
-
const pod = box(k, results, 100, 440, 900, 420, { name: "Podium" });
|
|
1056
|
-
k.bindExpression(pod, "visible", `${mode.n} == 0`);
|
|
1057
|
-
const steps = [[2, 0, 220], [1, 300, 300], [3, 600, 160]];
|
|
1058
|
-
for (const [rank, x, h] of steps) {
|
|
1059
|
-
const st = box(k, pod, x, 420 - h, 290, h, { name: "Podium step", fill: "panel", radius: 6, stroke: { color: rank === 1 ? "amber" : "line", width: 3 } });
|
|
1060
|
-
label(k, st, String(rank), "Lap 48", rank === 1 ? "amber" : "onPanel", 0, 20, { w: 290, align: "CENTER", name: "Step rank" });
|
|
1061
|
-
const who = `${place} == ${rank} ? ${driver.n} : (${rank} < ${place} ? "${RIVALS[rank - 1]}" : "${RIVALS[Math.max(0, rank - 2)]}")`;
|
|
1062
|
-
readout(k, pod, who, RIVALS[rank - 1], "Board 20", "onVoid", x, 420 - h - 56, { w: 290, align: "CENTER", name: "Step name" });
|
|
1063
|
-
const you = k.rect(pod, 290, 6, "neon", { name: "Your step", radius: 3, absolute: { x, y: 420 - h - 16 }, effects: [glow(k, "neon", 16)] });
|
|
1064
|
-
k.bindExpression(you, "visible", `${place} == ${rank}`);
|
|
1065
|
-
}
|
|
1066
|
-
const tbl = box(k, results, 1100, 170, 720, 560, { name: "Results table", fill: k.tint("scrim", 0.9), radius: 6, stroke: { color: "line", width: 2 } });
|
|
1067
|
-
label(k, tbl, "Classification", "Small 18", "cyan", 30, 22, { name: "Table title" });
|
|
1068
|
-
const tp = 58, t0 = 64;
|
|
1069
|
-
for (let r = 0; r < 8; r++) label(k, tbl, String(r + 1), "Board 20", "dim", 30, t0 + r * tp + 14, { w: 30, name: "Rank" });
|
|
1070
|
-
RIVALS.forEach((name, i) => {
|
|
1071
|
-
const rank = `(${i + 1} + clamp(${i + 2} - ${pos.n}, 0, 1))`;
|
|
1072
|
-
const row = box(k, tbl, 76, t0 + i * tp, 614, tp - 6, { name: "Result row" });
|
|
1073
|
-
k.bindExpression(row, "y", `${t0} + ${tp} * (${rank} - 1)`);
|
|
1074
|
-
k.text(row, name, { style: "Board 20", color: "onPanel", width: 360, name: "Result name", absolute: { x: 12, y: 14 } });
|
|
1075
|
-
readout(k, row, `clock(${finishTime.n} + (${rank} - round(${pos.n})) * 1370 + ${i * 97})`, "0:00.00", "Board 20", "dim", 380, 14, { w: 220, align: "RIGHT", name: "Result time" });
|
|
1076
|
-
});
|
|
1077
|
-
const meRow = box(k, tbl, 76, t0 + 5 * tp, 614, tp - 6, { name: "Your result", fill: "primary", radius: 4 });
|
|
1078
|
-
k.bindExpression(meRow, "y", `${t0} + ${tp} * (${pos.n} - 1)`);
|
|
1079
|
-
readout(k, meRow, driver.n, "ZEPHYR", "Board 20", "onPrimary", 12, 14, { w: 360, name: "Your name" });
|
|
1080
|
-
readout(k, meRow, `clock(${finishTime.n})`, "0:00.00", "Board 20", "onPrimary", 380, 14, { w: 220, align: "RIGHT", name: "Your time" });
|
|
1081
|
-
k.bindExpression(tbl, "visible", `${mode.n} == 0`);
|
|
1082
|
-
const tb = box(k, results, 1100, 750, 720, 110, { name: "Your times", fill: k.tint("scrim", 0.9), radius: 6, stroke: { color: "line", width: 2 } });
|
|
1083
|
-
label(k, tb, "Your time", "Small 18", "cyan", 30, 18, { name: "Time label" });
|
|
1084
|
-
readout(k, tb, `clock(${finishTime.n})`, "0:00.00", "Stat 64", "onPanel", 30, 36, { w: 320, name: "Finish time" });
|
|
1085
|
-
label(k, tb, "Circuit best", "Small 18", "cyan", 380, 18, { name: "Best label" });
|
|
1086
|
-
readout(k, tb, `clock(${pick3(track.n, best.map((b) => b.n))})`, "0:41.25", "Value 26", "onPanel", 380, 56, { w: 310, name: "Circuit best" });
|
|
1087
|
-
const rec = box(k, results, 560, 250, 480, 86, { name: "New record", fill: "amber", radius: 6, align: "CENTER", justify: "CENTER", effects: [glow(k, "amber", 40, 0.8)] });
|
|
1088
|
-
k.text(rec, "New record", { style: "Record 52", color: "onAmber", autoWidth: true, name: "Record words" });
|
|
1089
|
-
k.bindExpression(rec, "visible", `${record.n} == 1`);
|
|
1090
|
-
k.patch(rec, { rotation: -4 });
|
|
1091
|
-
drift(k, rec, "scaleX", 0.04, 1.2);
|
|
1092
|
-
drift(k, rec, "scaleY", 0.04, 1.2);
|
|
1093
|
-
menu(k, results, [
|
|
1094
|
-
{ label: "Race again", actions: [...resetRace, toCountdown] },
|
|
1095
|
-
{ label: "Garage", actions: [go(garage, "DISSOLVE", { duration: 400 })] },
|
|
1096
|
-
{ label: "Main menu", actions: [go(main, "DISSOLVE", { duration: 400 })] }
|
|
1097
|
-
], { focus: endFocus, x: 100, y: 890, width: 540, pitch: 40, itemHeight: 76, horizontal: true, style: "Menu 44", color: "onVoid", plate: k.tint("neon", 0.5), radius: 4, nudge: 0 });
|
|
1098
|
-
k.cues(results, [{ layer: "Finish place", preset: "pop-in", at: 0 }, { layer: "Podium step", preset: "rise-in", at: 200, stagger: { delay: 120 } }, { layer: "Results table", preset: "slide-in", at: 300, params: { direction: "right" } }, { layer: "New record", preset: "pop-in", at: 900 }]);
|
|
1099
|
-
}
|
|
1100
|
-
{
|
|
1101
|
-
dusk(wrecked, { palms: true, lines: 4, sunR: 200 });
|
|
1102
|
-
k.rect(wrecked, W, H, [k.gradient({ from: "scrim", to: "bad", kind: "RADIAL", fromOpacity: 0.86, toOpacity: 0.5, handles: [{ x: 0.5, y: 0.45 }, { x: 1.1, y: 0.45 }, { x: 0.5, y: 1.2 }] })], { name: "Red wash", absolute: { x: 0, y: 0 } });
|
|
1103
|
-
k.rect(wrecked, W, H, k.tint("scrim", 0.55), { name: "Shade", absolute: { x: 0, y: 0 } });
|
|
1104
|
-
const cracks = box(k, wrecked, 0, 0, W, H, { name: "Windscreen cracks" });
|
|
1105
|
-
const cp = [[[1500, 0], [1420, 160], [1470, 210], [1340, 360], [1380, 400], [1260, 520]], [[1420, 160], [1600, 260], [1700, 420]], [[0, 700], [200, 640], [260, 700], [460, 620]], [[1340, 360], [1180, 330]]];
|
|
1106
|
-
cp.forEach((p) => poly(k, cracks, p, "chrome", { name: "Crack", stroke: 2, opacity: 0.6 }));
|
|
1107
|
-
for (let i = 0; i < 6; i++) {
|
|
1108
|
-
const p = k.ellipse(wrecked, 180 + i * 30, "smoke", { name: "Smoke", absolute: { x: 620 + i % 3 * 220, y: 780 }, opacity: 0.35, effects: [blurFx(30)] });
|
|
1109
|
-
keys(k, p, "translateY", [{ t: 0, v: 60, ease: e("cubic-out") }, { t: 2200, v: -500 }]);
|
|
1110
|
-
keys(k, p, "opacity", [{ t: 0, v: 0.3, ease: { kind: "linear" } }, { t: 2200, v: 0 }]);
|
|
1111
|
-
k.behave(p, "translateY", [{ kind: "loop", mode: "cycle" }]);
|
|
1112
|
-
k.behave(p, "opacity", [{ kind: "loop", mode: "cycle" }]);
|
|
1113
|
-
if (i) k.delay(p, i * 300);
|
|
1114
|
-
}
|
|
1115
|
-
const lock = box(k, wrecked, 0, 250, W, 200, { name: "Wrecked lockup" });
|
|
1116
|
-
const g = label(k, lock, "Wrecked", "Place 200", "bad", 0, 0, { w: W, align: "CENTER", name: "Wrecked glitch" });
|
|
1117
|
-
k.behave(g, "translateX", [{ kind: "noise", amp: 12, freq: 6, seed: 5 }]);
|
|
1118
|
-
label(k, lock, "Wrecked", "Place 200", "chrome", 0, 0, { w: W, align: "CENTER", name: "Wrecked title" });
|
|
1119
|
-
const dnf = box(k, wrecked, 560, 500, 800, 60, { name: "DNF plate", fill: "bad", radius: 4, align: "CENTER", justify: "CENTER" });
|
|
1120
|
-
k.text(dnf, "DNF \u2014 did not finish", { style: "Alert 30", color: "onAmber", autoWidth: true, name: "DNF words" });
|
|
1121
|
-
readout(k, wrecked, `${driver.n} + " put the " + ${pick3(car.n, CARS.map((c) => `"${c.name}"`))} + " into the wall on lap " + ${LAP} + " of " + ${laps.n} + "."`, `ZEPHYR put the ${CARS[0].name} into the wall on lap 1 of 3.`, "Body 24", "onVoid", 0, 590, { w: W, align: "CENTER", name: "Wreck line" });
|
|
1122
|
-
menu(k, wrecked, [
|
|
1123
|
-
{ label: "Retry race", actions: [...resetRace, toCountdown] },
|
|
1124
|
-
{ label: "Garage (repairs free)", actions: [go(garage, "DISSOLVE", { duration: 400 })] },
|
|
1125
|
-
{ label: "Main menu", actions: [go(main, "DISSOLVE", { duration: 400 })] }
|
|
1126
|
-
], { focus: wreckFocus, x: 560, y: 680, width: 800, pitch: 88, style: "Menu 44", color: "onVoid", plate: k.tint("bad", 0.45), marker: { color: "bad" }, radius: 4 });
|
|
1127
|
-
k.cues(wrecked, [{ layer: "Wrecked lockup", preset: "shake", at: 0 }, { layer: "DNF plate", preset: "wipe-in", at: 400 }]);
|
|
1128
|
-
}
|
|
1129
|
-
void arcPoints;
|
|
1130
|
-
return k.finish();
|
|
1131
|
-
}
|
|
1132
|
-
});
|
|
1133
|
-
|
|
1134
|
-
export {
|
|
1135
|
-
neon_apex_racing_default
|
|
1136
|
-
};
|