From 3f2f6a4e3707cdd7b3e84b73759c7283b217e6e6 Mon Sep 17 00:00:00 2001 From: hunter-dev Date: Sat, 26 Sep 2026 00:07:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(branding):=20=E5=8E=9F=E5=88=9B=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E5=9B=BE=E6=A0=87=E2=80=94=E2=80=94=E6=B7=B1=E5=A2=A8?= =?UTF-8?q?=E5=A4=9C=E8=89=B2+=E7=8C=8E=E4=BA=BA=E4=B9=8B=E6=9C=88+?= =?UTF-8?q?=E7=8E=BB=E7=92=83=E7=AC=94=E8=AE=B0=E5=8D=A1=E7=89=87+H?= =?UTF-8?q?=E5=AD=97=E6=A0=87=EF=BC=88=E5=90=AB=20.ico/.png/SVG=20?= =?UTF-8?q?=E6=BA=90=E4=B8=8E=E7=94=9F=E6=88=90=E8=84=9A=E6=9C=AC=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/desktop/build/hunter-notes.svg | 77 ++++++++ apps/desktop/build/icon.ico | Bin 0 -> 56350 bytes apps/desktop/build/icon/128.png | Bin 0 -> 6097 bytes apps/desktop/build/icon/16.png | Bin 0 -> 612 bytes apps/desktop/build/icon/24.png | Bin 0 -> 1228 bytes apps/desktop/build/icon/256.png | Bin 0 -> 13222 bytes apps/desktop/build/icon/32.png | Bin 0 -> 1479 bytes apps/desktop/build/icon/48.png | Bin 0 -> 2538 bytes apps/desktop/build/icon/512.png | Bin 0 -> 27779 bytes apps/desktop/build/icon/64.png | Bin 0 -> 3261 bytes apps/desktop/package.json | 1 + apps/desktop/scripts/make-icon.mjs | 288 ++++++++++++++++++++++++++++ 12 files changed, 366 insertions(+) create mode 100644 apps/desktop/build/hunter-notes.svg create mode 100644 apps/desktop/build/icon.ico create mode 100644 apps/desktop/build/icon/128.png create mode 100644 apps/desktop/build/icon/16.png create mode 100644 apps/desktop/build/icon/24.png create mode 100644 apps/desktop/build/icon/256.png create mode 100644 apps/desktop/build/icon/32.png create mode 100644 apps/desktop/build/icon/48.png create mode 100644 apps/desktop/build/icon/512.png create mode 100644 apps/desktop/build/icon/64.png create mode 100644 apps/desktop/scripts/make-icon.mjs diff --git a/apps/desktop/build/hunter-notes.svg b/apps/desktop/build/hunter-notes.svg new file mode 100644 index 0000000..2950a5d --- /dev/null +++ b/apps/desktop/build/hunter-notes.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/desktop/build/icon.ico b/apps/desktop/build/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9b293c88f7559b3c87ad4155ae4afe4ba49b1168 GIT binary patch literal 56350 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∋bjUbv&)f#8c|kPGW`Wkr6^&Z`oK9@C_Gy)Q?&o4yr_9I?fh*?l_t6Q zF#a;~6DeLKH~W(YX5KwNScE?X|4E%8cy<@z^C>XVWK&jQx4rD%*YaTBi0r6O#!?+^ z%4a)Itsn(l*yLbso6x#BId9N&8%{_;nD-zQ{Ccp9Q%#3FhVC&Ot#vA&iSx=PO*Grn zX8j+;)5=xL9Q$eAkPyHBxj!UG^pq%Dl5$~A*TH&{@a5vUv#Pins@C3V>~E(L1DcP#Hi(|%UQ zlPefb#I*2_+Q`NiW-jnn=Qm||%DX4vfr8AeToZ`p=_V_}e7F&`)l0q9G@9<}AL)mD z!z9rd92Zx#R%3ik1~V?ug4vjIGeA2i zDMOK$#UX2DR-9`6>sRpgc$a1$k2PZ;+QSk@3#`}q?wl9LMvwhDKS`(6=TYC;X-Y`6B@a211FWhug~*n z^}JoNFD`QGa0pv?rA9#`3o>)j%O>IQ6c+jO!%CEUZP&SoKRiIjCd{rOh#NyR{^=F) z^s&e)UvwWSus}bG`nI2dli>H3*U3#kO|0v<=kK%aDy`o z!KEm7FQfsf5_4`|QKR`aZ@(!0{L}oIy~ClkQp~c&3OXu*8|8V2o<7v!Aj%Gc=3>yc znR9CEjTp!j#<3oJfR98ZrHvS3gZGwQPX1Xk3^~c8h$zy<>J5q4Oa-M2zjzWYK$NxK zIqdxN??*@i(9~Q!tW*mdhzM92Fhs__3$YQ;A~1@^m%3vDNr7i4Ok-x=TF9YkGpdOn zxSWj^p5iG%hhTFLyjA>W;L^4=$cK+DsSo`Ar1ph-nmxLra34W(dFP{TinV1k0xvPq zC$zyrDi~8nSoe7V6`vXSTaWuJY=+>xVk_b3%^i{nn_8$P(bJGmEU(q|vuTXrgbf;a z0t0aA8TW_Q)pVEM=Wi5zpR1ZcEh6zpLw+DWcb{an=F%G$zjLZambowq<^1#dIy)>L z9uUsYtj-z~QXe3Jiw081iW~81xP-*oHrQ|ST2us6agi2Qa#%cxRU=Q~M?RY>gB<}) zQ&TYBBlX^f^NFJhF9P_;8LpSF#O2!7Zf;F{mY_MEAzdM#L>bM$chV@fyA188A+jAp z89rO4P9H3!HhE(71SkH6gcga=vV2dUJ49^d=0oAOv2EBE_zN~rL$?4sjAY%Z#`wgV z)}sg89|E@)K99OY@KNvz&-e^{wG;7NJi4rge1Q&m@^FtVfQ|;rN>8KZiWpM7qYI)~ zsOLBj+eXicbtk%hyDqFm-Zhiquh9T_5{9KC2+Tv?eJ9x zdk1(%BAhA)c*@^!Xx0zBBs|Gpj@&(}!MLej%$Ck@M$Iswc;xZh@Z3JgLb4zgIX*O?w>B#R3z;HanJ3>yYZUWo z-hl0G)1ciW;qY6ZS9oQML%#4ikQanMCgeaCX^8kWxno~in{nVZ;IU*(;ema5#6tZ| zur)8|W-y+gnr81VU^{BHvf$;#+28xZ&ZEfof%ftgB3V)IiKwoyJj?(va#F$FXFLHC&>cbSs)xRD;5sjmFDuPcSE-Tr5lW5rE!Yek?R6nI-~J81qJ z2M>T2Y$-~+Wi$x8Y0CS-9GnlxvB#eFR|Q?q=%=4AFKa&f0-e&#XLI4oM@j=*busm| zcJdTLJ|P@QUeoR7g`MyhhLxIvF$S#=n3vdoG2eZ@=O*`<)LR58vj;yR2>9Q&4Qun> zOiz|ZUbQCOh=gpN2x^tcx3S(#sdosR8)zKLeUSx@Sb0F}DSDHHo4Feew`;zARvSJd z6|b9^UFllt z;nxzT*?!pM8DtR8evMRsdlf)O0p(LYhqR1}UQJMyDDKiWk#By(^4=U$ z*`=Lp@{*jnu^>MmU^`~lll_JZ6l!TmTeyRhf z1l{A^a43r!7Pc5`L{(Ncuo{9j_L-`gh*D;5-_WPU)KvRmKX`0vSH7uEkQF?{6( z@%mgcdCVBy%lJ7%1H|CO1s3%agGgfpyO(sg_H>ZA9sd7>o1UZ%0f(h+G;N z%R%}qO+C+oH7m(yOsQLlaj@s1r<7oyjYKdFs9UYLF-f%NjZ%PyR)}t1uSmtuo;}ZN zenBZ;HeP~?Y23?El88xR6T#GhP>Y#7*)U zY#kd}#DiW_4qccoyth^#X#`4l$YP(UPRsPuhDqQA7d)p;S;`|=ZIG8 zgu2Yk#`Az>#*)+i(Lkq9#Q23`=eH4t_-<18Y5d2t3Zd^ImzZI?C$zYlh4Gs#<@7gD zE-8Pbd_4D3Lq16alUsdtqP9yw{F;fCx$UgUBq<6sx%wG0`x1pDD3f?lQWw-8 zZ336JxqvsO3d=G@-J|fpoL8JW4}RoSu`{@H$|aZ#i>n0r#{9Loh`|!Ch^3lX(2ha& z=64hD5o%u_c=bd&@#?f4;UZTB{4@_E_eYq7ol%K$eTi}nXySs}4~mP_JxqIN6!C=r zK_)F=*ZJ#@#6oZ56I+q8c%UPTjHoU~T!%oM3~1dq|Mm!;S7Ir{Hs4fupR?j6k%M|R zu=UiXw1GaKo;zuA97r?xyl=l+*y2>X`sec$eqrD?nQ%=;-TvtgSHMkg>Re@vQg*UC zLzQWqh%yncULri@S+?UcDNrwvMez~fXP)2~ESTXMTC8TJM!Fou`1|!@784&{#k=0LQwe;MK&U~dni%58 z*xsD7=xg2itP2}vfHrg?*X%HwQhy4<^_Tb?ur`Q$YuC1?ZG$BR7>QQi4Qwf#L<1{+`2Ajg#|{E`ONY3sPycp(+*r= zhteuc47lPl41?m*?Ak+auv%1jVnVV-jVnbNhe};lESS&1Z1>i!Bc~5z$LMc9^7H?T zHHnW;_mm`22MfzWwONHp*-^&AsB>7oSK>VKj?c?}zoKH`?@~doJnH&J%QKx0vcv8( z_2UYdw-A6jpZ;h(uu3evm{oUdaZ0#Rk_)SIGTyK!WHO4Pe?NAGF!3tk_<=LY<&%## zI!tmSxNVQNhWIc}9=~TCg`&P}Gz7VL1}$dqOvnik!Wh^s#+jyYOC?pnkWW638QFEj zA6ULjk_}_rnruqCPmSo3)_F^>;{LY{O2$+xjP zojd7((ZSg#DFxw<`B5Avi?S7HKxNN}G~Jq99+En6=}yk1n>g;qA}GNhgwrDPC;R@K zTNe$u8Ho~kL!z|?5fS}3<6@JZvu{*vQ4H2$fo9tI*>$nzL&j0%vSqm_6=~t3`<+cO zdX1kwF{$DAq0NqS&o8>=PT@XUySQ=42k>V109GtqG$MXWVvBe|D^O(D3bw6;GMf~F6?hMXc*$pYB zu}3@>j3m1fwgQWf9UhYA0`8c5*++KVG2x{i7f(&$$Zp~5Bm7%6Yg1LMVHV&z zt|2l0h_Wcv{&By%6<*rbiS@1L8!Ha(04GWl0E9mKH?iqF3lMBm=_ELmw-U5BD#&!w6gI2}Id zfJl%#UT_FSQ6Q^u>S9NU+itgL>+r=g2CW?NJmv~F%;3ByW^7_ik(HO2-{EhUe}p+= zK*InawBUtM_5dD4;Ql?N0O;%6un#*iUneQJxFu00ryv}&i1c@;F9eFh#;E014Pw4c z?m*YSa$)_OseoDJ8FJ(dQxvWt;gjHj?teF(0kA(~TEcNvMVb!4nh6)@V^4=7t-To{ za7y`|1UTW>k$d)NgqGW}{ZYh-K2t1CDeu0W{3#+Lb@Wd^2FNlni%gG^&A@(83bTml z_cxC7nBmcNJi z{h-QsjLnpsbYkppeaB&Itj?_0NzC7kQoFS)YV^WuX)bBSZ4aRj$Pn_9&dCc5P8aK{`=0^dus6hBmCYmWYQ? z6xeg&Dr^H;#6X>^kSvNh!ZPeU7YCwjFTP_)!0-EM?^Y;5BhF~~oQK)= z@p$K)vdtEACXgdV?CwGPgY{r7$*FhMvmh%o@ zP1yRNw1{EHK2RW)Qx<|Wbx*vc6c#?5z_}3z5j`W{)sdk;elli=aeQxW+sqABr_*8Y z15otst=`T5f0hpPCO!cFUzX0Fkay4-T|P$t%hFkbj@@z?f7-IoG;=s0)y>#u!s}Rx z(vK{$L6zUg;I}>w;Nqi7GaM}@(SaI+$0L{x{jMx$=jWvuYcGoZ`NU-)7M=paM@&M+ z$llALuQWV|a#fYDdVI^6t=g!{dlvAvX>+oxV{W+LJAid0B{3J6s80X=&)qQ6>9H; zV$G1!>Z<|Jl>$*?E5hY($6a)czFah!PY4gd%5e^unjp_XQg>=|k`_cT4noZIDaLwr z3KLorf`M2e&b?rQzQ@5s3RfWT6lNM{oxb$HLV&4064_hL5l-bf5Urlq{g(~3#HZKK zYBMMFJWt>s2DF{R+0S9^@ld{$TOOmcJqY~Q&WD9Iw>qEPDg;&0APP{<{`;~N7UDe4 z4&7V=N0BmnzpRp)n$Ph2{mOx;28ddh3L^60x-tg{=n2c|gTl6Mv41v&-mOU0aW*c* zrD}fif=b$%nh_k^5Sr91a8y!ua;;$h_&DSm=UY^9YzF_5Z5_wfnC*KrxSqCjAE<&&l3^s1uTt3p0Q! z0zQ7dRcIg(;Q!zQJoVx3L5S8rpf3cq{;w$R;NPuAWrXlJmchDOW4&77Q=Q^q>c0a#}*1v!GkDQct z#U))Bl?9>z_)@?r&rRoS$3c?dFrzk_w4fZ!u@99HLhAj^Slw7laTI&ll2AA=M4JfP zl}5=wesM5I%nQNpAOF}nq&r(<(9(1!Fw-Oo)Mn~i0kv(Y`{ka3OWppz_+BSu{q4R} z29#){4B;oYpizejUmI;}K2+714D_a@DBzItEajW2_MY`i4n`AH+EnCeAegCMiPc$Jtp1rPo# zJKHmkbv5P+?+dOC$4)$>NP>Lm9hxhb=L%%F55g)}*bQ`N?Y5>*S$}b@b+sCKR&Mc( zVJVupxBXJdnI~LQ{1Sf(snCfle5C8ID3WjxDq5eV@vq|}U&2<4S6E1Mym39XEELBr z55LW0h z1Nl1BzU7f0#skrI+~DziH4i=iqEd0kZcYX{e|y>Nn)AqSO5yk%RiRU2O%iO4zyKvS zp=(2uzJw-U3A}#(i)T)N6l3m7qPPf$D~j(w&S_ijy{+E48?6bkLwe;w$L~23BiDtu zjXbc&-Vp|{x*aA!q43ay9*6Dr_@7Prl@L5pntN_^^7Pw!j#49J6^Zy;DNYuaZAB^1 z>J;6gL4BUs+^ufgoYdW~{MW6S?FUbb;DX~zU1ix3@06T1PCJXiZ7zXk#7@jdEXCzE zG>fRWcK0i7_RY{;>D-+cQipjYP+E_yan}S=!i;hFeS#G*D(|(oB{`F|hk4Bo;vrX(_#8Zl_g!6tS5%^Ion0IiLIL%6;4HY++p!Yd6pm7jdvi^cNV^p z{OJw{{yvv;t1KMHeT+?Ym~=m znFGR^Pe>1%aP6Q}`e15B@DerY>DD09N_OwUmAUN1uvwoMNP3L_?Gw3q2YE-y^ZaeA z<@EByU8@%!H^iQ&8uE%$n_@$L?Obhm>>}x6Rfy@r_}{fN!dK-**mo=_G3$91GPG zB}w(3>J`xU3LyoI7uAj>e4cn_^T*d6_kOTspY75RVnKbqlQc zO}ZX*F+-}srEZFTCU}1KWoOq%EzM`42g*aAOq{w_PyhMuDJoE)I1rb~TGvysT~;IsE=G9I+ajc^9yLW`Hzmzx2T)a8mZb=Hb4w!O_--!kKweYE&B(5gDtl-58Uh)timz;CuylY{^f0* z>K9SW0ceGYEl7K*NrCS*`|dV-o>M&Jrz_-NJIf>bLhLLWqk&QkgUR;GFX!cZ^Nl6A zIQ~?FK1c!6=EliwDqUs?UE}*hWA2(Z)4^H1Km+q(Ym2C~1C(upY$Ne3)3&P%e?9gzATgARW0x;KP2M&{`=EQBmnWD0}=roxo*D48IDV!yE#VjHGrmTY*)B0SgHQ{ z*aqU}$#*RGJPG~ea_GatpYAjC-SdLUvXFRpY=ntBb-CXu3)s-29ZW6qz0ZQapSV&J zZVIh^;XX6axDS9ifSI$HURf1Nv7vvP*L-tj!{2tVw&Qo#Vn?qV&WhizS&6TIHV45f zfG36?xTDO)WQohqI3ei(*v73B#*gVXH#TaqwN+#Mw+bM3F!gzYze z?_|m^4c5fn-P9;-g4A<_yYvL|(bi#n;YIT^unb@DN!Z*J#ySmPycDnYV7$OG#D1_X z96IRq_-n(^=l0xDb(b+R zEzCAfwT10;90Y&{g9df?LKpeT!;Zy3|Bs(%N2Ve4oVKT0zRxa)>d|cw#OIZ)GdF_k z61$9anx=8EwfkWG4yBL#XoT;7W6@gby;n=$czZ`x zdXZX`2VMSS{n<MAZq}aIRsD4*@%yh}&9^s}8>`%$z35MhBoBVrP+GYN zn+StWHolb2xj5a`Wz{jhW#NAW>i)em`{UYz6g&WP;l_q()x<8?R)}&mi z4i5zaq?7?s4hR+@0oWa*e;+~O(#Pq?C&KbRh3r~Aka4HIKYbJ(x_aUv2&|MecSZsx zXuT=iTJ4(Iob}uASKB&~=Sco(b#vdh`>=;n3Jj7wNg}lc7E@1$EW)F4^u`POPWzeu zqnfij8S8CESxS^1|7R|xc13>o*F=qWk|;U_Y?1p<8|ys$QUfITy4zI6Du=rB}1cI3{h) zUO!B|ax!J{5ict&ZsXtBHZ6AP(}(EwKlkO?4^npzHVHap$6M=|LygRCQVfJGm1&^T z8~(1jO@r*8M1&gPlKW>U*$4g@}U!nOkT$fd5bG$hTHqy;y`NZ zz|6&P9B_{K|N03Y^#m3BbP4Z$dR}I?vTOoqx@-^L5=M_-__;qkPakr;I7^RoI^fyg zzkBA6-AihoiqeYw1;!e_9VK+Zotji-)?X1tExRJs=QTNRGA00X*K>WNl`lp7GHSf-DybP zU3l^5m8Rx<5{{RjSk&^cre6BjkJ;h>!>V#?8buM1wr8OpGX-|5Cs?TR%OQ7IC?;}B z6zyeeAg%*J1a5NR2YT#0cpVGeVG8-Mt)H42?-de>CvQ{)sV#0k&u= z3@ZI#CXMQdtp+^EeMOZP=l{@o_ylO+1lv6StM>Jv>j5ZjWAqAUai)*YmS#Kc#yN)l zx~P?;1YicUEJS8vS2fr=2ggA`%@tq<<4m~mjH37N)JzFg$OR>2cyPv1F(hz^8$r(z%&i?nWBh~ z@xYZYMGibj05i9Lmi&2Pt1%X+#c00x%cb^+{6QKZnZieCp0JAK>lgx?Rk?h5ro@Br z1vmwa;ZPtO=t5Ay1<vgo8_7`$<;>>=a0y5?kIYD1KrWp)f)LE8 zftx8GLEJC8fcyeqX<@$$O$ljeN?dMW^_koj!|pc070z*i4NxcrK8Ep7D#h)?PdE(Rm}cZy0DG2urz>kL%5*sDi!931fACvyxBtbxhSPlT0c#|pFifK0 z3an#mEmpwqCH1SV^I>B7BRLliiggKPe-9!I5WV|c+v%`N6N>Mj~2^c~Ld`Y5sz*0`b?;(jAOgI+slX2@=m!OIP#r~ffT>@U%e=^D} zo`rOhS{vV}j%c%a^vHX((zjWQetcYT_13uN3mdL9lCY|2h0Z+yCxF~0gvWoXGAG)( zo6CnG=QCMCmLd#r9J&R(7oX7b5^lTu-k0*`Q@l4&VWwkxhkkzb7WVRIJ&TG)4&+&t z6mbd#MR{99tb7O`Dpa=(iwyHl11H>Qv6@{%{j*Iw!AeLDIJnKVEFG;m_A=4KH?m>O zQ@4P7_PoW4wD-Lm-QS|y6GlngcV1O!i)Jc|Pnk~+knbM+EU~uW{z^`Y!Lwuv8e%Ws zt2ELz#a_1G>Z)yPK6?iH<9ua#jVaY#xVy627889PwSEq1h&_4XR7fqz9)_(z8{=Sr z3HBrxnsQCXOt90YOt8!_@QnR-WZ3RP?#cM3$EyD5j@q(>T}iDiX+YgM|6o;Rpvxm-D|Bg-#m&OYfGhe+ zBfmV$p*H$GSE2 zInKH7Yx!Q^Yuh+y_pim4MSWvyFt7D+L@#-LBP=}J0HCqQ7qyEE8*Yop9j&*s>L7-n zvLSyYS}hv2mH&u2rZ^vbqdfoNwWO;8LTab8c%_62o#n$eGT@w7>WP|W43 zyhJLYy*kQL;TTy#>dqG#!sGk0h7u>_i3dzD8JrXNUJFWbb_7fgF$ZIpIdm6Z@{KO( z?bs6w^_0{?rf+|jPsHThJ*Tb!;Cz4iSX;?(*}8CsUB^3~O#8(jpZ3W=u!mRLaJYW1 z`MBlXEiRQ&Yhjf#*Un24GpIIr4T}nan9H+y43P-xq7mAecS0Ii7IM6i1%jCP+VBY_ zMCAJi#sH9z<1Qy8yu;mHE! zxb<{_lEIl_-8*#dCQ%o-@ocN2d+PEzPJ$;;*8 z(92P=GTPf}x8;VR{@x;nP%6VHV!Nxis$)Wy`x)KCRO0JUa%s}COx3Li#9w- zjyG^IaCjfR=--HU*CUSJ*Urga`o<4duF+xx5)Zog7*gtSkWZ&3Qwbxqa@83BC z1DPZYK>pM3^Ml!k2F*wB-s8TiyUuyMwW|4}?MiBW`fvGA$lo^on=W<7(NyrBp?+Gl z>0N5dG2_To8LElF?VTnSWPB9W&>|_(k_@-gX*ha57K!1!D>E5&?dN4PSc1C`Pstpj z&tH$2Z2)@pOD7}{fi%@YI`=)-!S?ab(S?g{Ju7pUk@A8$$T`ay`lUrKKH>_KWh@<=5##>y&&#oQ(Oqv%QFi0jNe)&5*FknJY24 z;_v#Lkuu2G-a}88`OdELA>4jtZHpODng{Wd; ziqPCr(FzA-VB^dF*;zAj?r9kgm^7N#sT|pTaZY(*ZGva@w>U~_9d<4i-e{NmZ*@4~4M=~5AEOQh&d z4^#vnzfSmOYM#fiHqHYPm6MO*n7IqLJWR|<6SL> z2$AqpKO=i420TX-dKR2-f1@m{@*TF=a%!6=T5o#4XYghHw5{cG{J&vGE~#rCJvNsx zb)xNH#^62|%||jd{^`4Z+`nSqu@~PlzrXg(N>dG0*3NkLI=>I=JrhX694r^L52bKa>U1YE=JfwAijE zr`%|KwyHkVrsup=_N`N!!`Ak|mfm>u(8;#GgwUz0X$_L|wtOoOmFK)I7b}}@Sxh|( znklIAUAvqTq%V+2t2zJYMBc9~g8~;TnTMM1+%M=pdY5;lIVkhAnV|WVE!Xo}T?Jz7 zl4Q*9?J6Wbm8nYqAXoMK5yMY7Ci>UC$oA&FCnboR{qS~9yxwWm9J5go9Z8!xRS7}E z7bZFcY5cElZi-c7UUwtvg*0^TPyVSJ{zpFigXJ36{c1Y6g!O-R_M6^0zbaOx8-9G% zOm$$wEymw{AT=#LzSzE1dXD$!^JbTuQYNS%A)l}>374sM;@aJRuLnqtkB32lQ3m5wGVN6!E1#}g_3CK)jr6(qV97K0D@}8*iS_H;aK=nD zcxCsBm8|rZ6~0juB*|)!{u1yio2wR*d5cdPrf)8{I+MJ3a4fDD&ezvpsOc5FPB{C~ zIcwgwd?~f=@Zu4ro=dX#of;#8S2%rcr5sG8Q7pJmXHfdixf?TXOLELv%@ty#$d({J zqs)+!l2b_%yvFBsTNRLmjlZFmcTQnfSt7(Lbyma9F9DLAv|}RSWh?7l((C_LE?)sb zJ6vYm~VAaBjc+V6=MX=tGfy!PWU^tXH5e zuEzC;$ECWcwXEQ&oYM}g_w&O4T-F=1Ta!nbz70q{I$&nAu;%qiDV+b*fb+KH-NGAF zvU~qz&A7V{AZG9c2=|@Bx6aL5$ZkzmrEz;SUljIe4$75y-CRR>{duRELWW|h{Wezx zLD5XbBU|`XEsHJx-eoA=jWvjgQ`*#W+AL1RrZkjHJyCp;_oiWo)Z^EOrT*Mvh!vG; zRfqRAm-x6BJT(^kWF%noF`Ck2$!oEleD(ZcmwWMfQ@(L6A;l%NS2FB_WxKSl4*P_5 zzB8V+HVe^v9Jq<$@RIELXIs8s*o4yZ`((dXjziB(_;hE4byvrFXD0(T3J>OlU)d2d z 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 XT^=x9>rmBk00000NkvXXu0mjfm!WQf literal 0 HcmV?d00001 diff --git a/apps/desktop/build/icon/16.png b/apps/desktop/build/icon/16.png new file mode 100644 index 0000000000000000000000000000000000000000..75aaed1a98377dd11e9b187c67c6b82f63b2986b GIT binary patch literal 612 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 WKiJyr+u)qP0Vu}SNaGbxltGw@@Woip=&d*%Ye zFa?V!$DWFE?2ahM#zaqSNc6-8L{A+5PpqGwOOB0-a%@_ZV^0{h#U({&1t~fr$Wc63 zQgqNIMQ4h_c`-cebcatn-C?{S{k#~yN5eUn@{|*l5l&FB-grTQQzU^A@M5@h|2a-j z9y1PC=#Ik`!g?bi zh1uqTnU!I&dFXcOST*GMTw4#ur{)k%cC0F3Ef~wt05z-!bvhfYtP7GH1m~1tFgZ|F zV?<4z1+@(<>h%ujj6C#a0Y-}(Cabhm)=MwJ4`;69(9x4HTIH2XVB-QsIgE*wpr*mV zA(6}?*V2x7q7kV~4$Unc*wo&MY_1KN#umg9jflij2!x{W`onO`L71&PYU)g=t+&9h zWbpohBRF{U6uNp}2PcGRXkiXRnyV3|5Dg%qR4b8R(bU|I#-=u;8(WY}=MYb35sPQ& zZ>^g)(_ZDmaS2{({I^+5-Fb`)m!{wn zz0`^C266k(zwyiXAFE4CeuN@fsAVxEtW;GUi*Pgrj(3COC2-DXe1RCQ-dw=7$p!Qe z-GCtaz`JBz7`u%d(|=)NY93BkNpaB!Zy*J=ET*c?hEm#UGkv^l4uP^e#6_HlOs*3@ zU7g3z*XD8Y*LjRypU1$Dw=g#T2$v@w0fRT;ST4R)-s_Km<$O@fQY}!Yv%?>ZfVI0; z$#2_*GZ$xZc61i!F3n=_(j11y<}iGD4kK6Q@cFT`v}hr6bJiQ2YZYKoinU90S}iOO z3+sfHur2D_wFln~J;3+F5AfO10lfF&S2%L)JaGOY`Y$}h2cI4XYZqX%3oA1ijc1{j zLok)KEK0fDL6|KZ%+}TNU9aIdX7Ek_47POdrX{!b?8eD6_i^g%eeB(Lc%|$zC7Om> z4#8B`T2V@r6&THSD%;eGzU@1a-@Fa!Ob)(47`;39VoT4PFk2jy;11#7msjw`x6?>u zI%!c$0rE~!%OMzTjRmEgVhF6w1-+4_&+_t1W$U(X?0Dr>?0(}d?AiPFip`x}Fq-Tu zr3sVSvBDQjKrM%0*4m*&v#@az;>jGgcJ<=rzMbgq*^Zvx9eAm`5Bbh6=nX6_S;}Cv z!C+cMih2BTG#H(06sR_1ErO&#_Ql}wC*TVv5eTIa45tx_WDt!vfp_^}wD2&RIT%cK z=#4g7KxeR0WZNw(U>%+{GZ;;^sb5oV!hb~`RdQlc4#Vw@!W&3X0VPER!(^QXF9!eh zJdCEwG^D9AVWTh=RmRbZDkCh7w3A(v@%kIOW=$udpDNSUSq>uk78 hqnjwx=oShy{{ab~Hhf`|q6+{3002ovPDHLkV1ir8zfS-F literal 0 HcmV?d00001 diff --git a/apps/desktop/build/icon/48.png b/apps/desktop/build/icon/48.png new file mode 100644 index 0000000000000000000000000000000000000000..a2ce2c740543239dffb90401f309f3d7737eed29 GIT binary patch literal 2538 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/build/icon/64.png b/apps/desktop/build/icon/64.png new file mode 100644 index 0000000000000000000000000000000000000000..cd0d8e560aec4b58f85cb79cf71cec06b3bbe4fe GIT binary patch literal 3261 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 79fec79..79fbc70 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -18,6 +18,7 @@ ], "asar": true, "win": { + "icon": "build/icon.ico", "target": [ "nsis", "dir" diff --git a/apps/desktop/scripts/make-icon.mjs b/apps/desktop/scripts/make-icon.mjs new file mode 100644 index 0000000..c830199 --- /dev/null +++ b/apps/desktop/scripts/make-icon.mjs @@ -0,0 +1,288 @@ +import { deflateSync } from 'node:zlib'; +import { promises as fs } from 'node:fs'; +import nodePath from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __dirname = nodePath.dirname(fileURLToPath(import.meta.url)); +const OUT = nodePath.join(__dirname, '..', 'build'); +const SIZES = [16, 24, 32, 48, 64, 128, 256, 512]; + +// ---------- PNG encoder ---------- +const CRC_TABLE = (() => { + const t = new Uint32Array(256); + for (let n = 0; n < 256; n++) { + let c = n; + for (let k = 0; k < 8; k++) c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1; + t[n] = c >>> 0; + } + return t; +})(); +function crc32(buf) { + let c = 0xffffffff; + for (let i = 0; i < buf.length; i++) c = CRC_TABLE[(c ^ buf[i]) & 0xff] ^ (c >>> 8); + return (c ^ 0xffffffff) >>> 0; +} +function pngChunk(type, data) { + const len = Buffer.alloc(4); len.writeUInt32BE(data.length, 0); + const typeBuf = Buffer.from(type, 'ascii'); + const crcBuf = Buffer.alloc(4); crcBuf.writeUInt32BE(crc32(Buffer.concat([typeBuf, data])), 0); + return Buffer.concat([len, typeBuf, data, crcBuf]); +} +function encodePNG(w, h, rgba) { + const sig = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]); + const ihdr = Buffer.alloc(13); + ihdr.writeUInt32BE(w, 0); ihdr.writeUInt32BE(h, 4); + ihdr[8] = 8; ihdr[9] = 6; // bit depth 8, color type 6 (RGBA) + ihdr[10] = 0; ihdr[11] = 0; ihdr[12] = 0; + const stride = w * 4; + const raw = Buffer.alloc(h * (stride + 1)); + for (let y = 0; y < h; y++) { + raw[y * (stride + 1)] = 0; // filter None + rgba.copy(raw, y * (stride + 1) + 1, y * stride, (y + 1) * stride); + } + const idat = pngChunk('IDAT', deflateSync(raw, { level: 9 })); + return Buffer.concat([sig, pngChunk('IHDR', ihdr), idat, pngChunk('IEND', Buffer.alloc(0))]); +} + +// ---------- ICO encoder ---------- +function encodeICO(sizes, pngs) { + const header = Buffer.alloc(6); + header.writeUInt16LE(0, 0); header.writeUInt16LE(1, 2); header.writeUInt16LE(sizes.length, 4); + const entries = []; + let offset = 6 + 16 * sizes.length; + for (let i = 0; i < sizes.length; i++) { + const s = sizes[i]; + const e = Buffer.alloc(16); + e[0] = s >= 256 ? 0 : s; e[1] = s >= 256 ? 0 : s; + e[2] = 0; e[3] = 0; + e.writeUInt16LE(1, 4); e.writeUInt16LE(32, 6); + e.writeUInt32LE(pngs[i].length, 8); + e.writeUInt32LE(offset, 12); + entries.push(e); + offset += pngs[i].length; + } + return Buffer.concat([header, ...entries, ...pngs]); +} + +// ---------- Rasterizer ---------- +function blend(buf, W, x, y, r, g, b, a) { + if (a <= 0.001) return; + x = Math.round(x); y = Math.round(y); + if (x < 0 || y < 0 || x >= W || y >= W) return; + const i = (y * W + x) * 4; + const da = buf[i + 3] / 255; + const oa = a + da * (1 - a); + if (oa <= 0) return; + buf[i] = Math.round((r * a + buf[i] * da * (1 - a)) / oa); + buf[i + 1] = Math.round((g * a + buf[i + 1] * da * (1 - a)) / oa); + buf[i + 2] = Math.round((b * a + buf[i + 2] * da * (1 - a)) / oa); + buf[i + 3] = Math.round(oa * 255); +} +function inRR(px, py, x, y, w, h, r) { + if (px < x || px > x + w || py < y || py > y + h) return false; + const cx = Math.max(x + r, Math.min(px, x + w - r)); + const cy = Math.max(y + r, Math.min(py, y + h - r)); + const dx = px - cx, dy = py - cy; + return dx * dx + dy * dy <= r * r; +} +function inCircle(px, py, cx, cy, r) { + const dx = px - cx, dy = py - cy; + return dx * dx + dy * dy <= r * r; +} +function lerp(a, b, t) { return a + (b - a) * t; } +function lerpColor(c1, c2, t) { return [lerp(c1[0], c2[0], t), lerp(c1[1], c2[1], t), lerp(c1[2], c2[2], t)]; } + +// linear gradient stops: [[pos, [r,g,b], alpha], ...] +function vGradientColor(stops, y, y0, y1) { + const t = Math.min(1, Math.max(0, (y - y0) / (y1 - y0))); + for (let i = 0; i < stops.length - 1; i++) { + const a = stops[i], b = stops[i + 1]; + if (t >= a[0] && t <= b[0]) { + const lt = (t - a[0]) / (b[0] - a[0] || 1); + return [lerp(a[1][0], b[1][0], lt), lerp(a[1][1], b[1][1], lt), lerp(a[1][2], b[1][2], lt), lerp(a[2], b[2], lt)]; + } + } + const last = stops[stops.length - 1]; + return [...last[1], last[2]]; +} + +// Box blur on alpha channel (for soft shadows) +function boxBlur(buf, W, radius) { + const H = W; + const tmp = new Float32Array(W * H); + for (let i = 0; i < W * H; i++) tmp[i] = buf[i * 4 + 3] / 255; + const src = tmp.slice(); + const win = radius * 2 + 1; + // horizontal + for (let y = 0; y < H; y++) { + let acc = 0; + for (let x = -radius; x <= radius; x++) acc += src[Math.max(0, Math.min(W - 1, x)) + y * W]; + for (let x = 0; x < W; x++) { + tmp[x + y * W] = acc / win; + const add = Math.min(W - 1, x + radius + 1), rem = Math.max(0, x - radius); + acc += src[add + y * W] - src[rem + y * W]; + } + } + const src2 = tmp.slice(); + for (let x = 0; x < W; x++) { + let acc = 0; + for (let y = -radius; y <= radius; y++) acc += src2[x + Math.max(0, Math.min(H - 1, y)) * W]; + for (let y = 0; y < H; y++) { + tmp[x + y * W] = acc / win; + const add = Math.min(H - 1, y + radius + 1), rem = Math.max(0, y - radius); + acc += src2[x + add * W] - src2[x + rem * W]; + } + } + for (let i = 0; i < W * H; i++) buf[i * 4 + 3] = Math.round(tmp[i] * 255); +} + +// Affine: rotate around pivot +function rotPoint(px, py, px_, py_, cosA, sinA) { + const dx = px - px_, dy = py - py_; + return [px_ + dx * cosA - dy * sinA, py_ + dx * sinA + dy * cosA]; +} + +function render(size) { + const hi = Math.max(256, size * 2); + const k = hi / 512; + const W = hi; + const buf = new Uint8ClampedArray(W * W * 4); + // 循环坐标即缓冲区坐标(缓冲区 W=hi,循环 0..hi);k 只用于设计坐标→缓冲区换算 + const blendAt = (x, y, r, g, b, a) => blend(buf, W, x, y, r, g, b, a); + const sA = (ang) => Math.sin(ang), cA = (ang) => Math.cos(ang); + + // ---- Tile base (vertical gradient, rounded 116) ---- + const tileStops = [[0, [0x1a, 0x1e, 0x2b], 1], [0.55, [0x16, 0x1a, 0x26], 1], [1, [0x10, 0x13, 0x1c], 1]]; + for (let y = 0; y < hi; y++) { + const c = vGradientColor(tileStops, y / k, 0, 512); + for (let x = 0; x < hi; x++) { + if (inRR(x / k, y / k, 0, 0, 512, 512, 116)) blendAt(x, y, c[0], c[1], c[2], 1); + } + } + + // ---- Top sheen (rounded top, white 0.09 -> 0) ---- + for (let y = 0; y < hi; y++) { + const t = Math.min(1, Math.max(0, (y / k) / 260)); + const a = 0.09 * (1 - t); + for (let x = 0; x < hi; x++) { + if (a > 0.002 && inRR(x / k, y / k, 0, 0, 512, 512, 116)) blendAt(x, y, 255, 255, 255, a); + } + } + + // ---- Stars ---- + const stars = [[96, 120, 2.6, 0.5], [150, 196, 1.7, 0.5], [420, 360, 2, 0.5], [356, 92, 1.6, 0.5], [88, 340, 1.8, 0.5], [452, 200, 2.2, 0.5]]; + for (const [sx, sy, sr, sa] of stars) { + const r0 = Math.max(0, Math.floor((sy - sr - 1) * k)), r1 = Math.min(hi, Math.ceil((sy + sr + 1) * k)); + const c0 = Math.max(0, Math.floor((sx - sr - 1) * k)), c1 = Math.min(hi, Math.ceil((sx + sr + 1) * k)); + for (let y = r0; y < r1; y++) for (let x = c0; x < c1; x++) { + if (inCircle(x / k, y / k, sx, sy, sr)) blendAt(x, y, 231, 236, 255, sa); + } + } + + // ---- Moon: glow + crescent ---- + // glow + for (let y = 0; y < hi; y++) for (let x = 0; x < hi; x++) { + const dx = x / k - 404, dy = y / k - 116; + const d = Math.sqrt(dx * dx + dy * dy); + if (d <= 62) blendAt(x, y, 238, 242, 255, 0.22 * (1 - d / 62)); + } + // crescent (rotate -18 deg around (404,116)) + const cosA = cA(-18 * Math.PI / 180), sinA = sA(-18 * Math.PI / 180); + for (let y = 0; y < hi; y++) for (let x = 0; x < hi; x++) { + const [lx, ly] = rotPoint(x / k, y / k, 404, 116, cosA, sinA); + if (inCircle(lx, ly, 404, 116, 40)) { + const t = Math.min(1, Math.max(0, (ly - 76) / 80)); + const mc = lerpColor([255, 255, 255], [201, 212, 242], t); + blendAt(x, y, mc[0], mc[1], mc[2], 1); + } + if (inCircle(lx, ly, 418, 106, 36)) blendAt(x, y, 0x1a, 0x1e, 0x2b, 1); + } + + // ---- Card drop shadow (behind card, dark blurred, offset down-right) ---- + const cardCos = cA(-6 * Math.PI / 180), cardSin = sA(-6 * Math.PI / 180); + const cardLocal = (x, y) => rotPoint(x / k, y / k, 256, 268, cardCos, cardSin); + const shadowBuf = new Uint8ClampedArray(W * W * 4); + for (let y = 0; y < hi; y++) for (let x = 0; x < hi; x++) { + const [lx, ly] = cardLocal(x, y); + if (inRR(lx + 4, ly + 12, 96, 150, 320, 236, 44)) { + const i = (y * W + x) * 4; + shadowBuf[i] = 0; shadowBuf[i + 1] = 0; shadowBuf[i + 2] = 0; shadowBuf[i + 3] = 255; + } + } + boxBlur(shadowBuf, W, Math.max(2, Math.round(18 * k / 4))); + for (let i = 0; i < W * W; i++) { + const a = shadowBuf[i * 4 + 3] / 255 * 0.5; + if (a > 0.002) { + const x = i % W, y = (i / W) | 0; + blend(buf, W, x, y, 0, 0, 0, a); + } + } + + // ---- Card group (rotate -6 deg around 256,268) ---- + // draw card (and inner bar + lines) via local coords + for (let y = 0; y < hi; y++) for (let x = 0; x < hi; x++) { + const [lx, ly] = cardLocal(x, y); + // card body: gradient white 0.16->0.07 + if (inRR(lx, ly, 96, 150, 320, 236, 44)) { + const t = Math.min(1, Math.max(0, (ly - 150) / 236)); + const a = 0.16 - 0.09 * t; + blendAt(x, y, 255, 255, 255, a); + } + // inner top light bar + if (inRR(lx, ly, 112, 164, 288, 30, 15)) blendAt(x, y, 255, 255, 255, 0.10); + // card border (ring): draw by testing just outside inner, inside outer + // note lines + if (inRR(lx, ly, 140, 338, 150, 11, 5.5)) blendAt(x, y, 255, 255, 255, 0.55); + if (inRR(lx, ly, 140, 360, 110, 11, 5.5)) blendAt(x, y, 255, 255, 255, 0.38); + // H monogram + const hStops = [[0, [0xf2, 0xf5, 0xff], 1], [1, [0xa7, 0xb8, 0xf0], 1]]; + const hc = vGradientColor(hStops, ly, 210, 330); + if (inRR(lx, ly, 204, 210, 46, 120, 23) || inRR(lx, ly, 286, 210, 46, 120, 23) || inRR(lx, ly, 227, 254, 82, 42, 21)) { + blendAt(x, y, hc[0], hc[1], hc[2], 1); + } + } + // card border: stroke ring (approx) - draw after body + for (let y = 0; y < hi; y++) for (let x = 0; x < hi; x++) { + const [lx, ly] = cardLocal(x, y); + if (inRR(lx, ly, 96, 150, 320, 236, 44) && !inRR(lx, ly, 100, 154, 312, 228, 40)) { + blendAt(x, y, 255, 255, 255, 0.4); + } + } + + // ---- Downsample hi -> size (box average, straight alpha) ---- + if (size === hi) return Buffer.from(buf); + const out = Buffer.alloc(size * size * 4); + const ratio = hi / size; + for (let y = 0; y < size; y++) { + for (let x = 0; x < size; x++) { + let pr = 0, pg = 0, pb = 0, pa = 0; + const x0 = Math.floor(x * ratio), y0 = Math.floor(y * ratio); + const x1 = Math.min(hi, Math.ceil((x + 1) * ratio)), y1 = Math.min(hi, Math.ceil((y + 1) * ratio)); + for (let yy = y0; yy < y1; yy++) for (let xx = x0; xx < x1; xx++) { + const i = (yy * W + xx) * 4; + const aa = buf[i + 3] / 255; + if (aa > 0) { pr += buf[i] * aa; pg += buf[i + 1] * aa; pb += buf[i + 2] * aa; pa += aa; } + } + const o = (y * size + x) * 4; + if (pa > 0) { out[o] = Math.round(pr / pa); out[o + 1] = Math.round(pg / pa); out[o + 2] = Math.round(pb / pa); out[o + 3] = Math.round(pa * 255); } + } + } + return out; +} + +// ---------- Main ---------- +async function main() { + const pngs = []; + for (const s of SIZES) { + const rgba = render(s); + const png = encodePNG(s, s, rgba); + await fs.writeFile(nodePath.join(OUT, 'icon', s + '.png'), png); + pngs.push(png); + console.log('rendered', s + 'px', png.length, 'bytes'); + } + const ico = encodeICO(SIZES, pngs); + await fs.writeFile(nodePath.join(OUT, 'icon.ico'), ico); + console.log('icon.ico', ico.length, 'bytes'); + console.log('DONE'); +} +await main();