From e53b9b35673218c6340281794e5928dcfd6a9ed3 Mon Sep 17 00:00:00 2001 From: mie Date: Wed, 11 Nov 2026 12:54:27 +0300 Subject: [PATCH] feat(branding): regenerate artwork with ink-based letter spacing LogoEngine now measures the gap between symbols from the ink of each glyph (IOExtend/LogoEngine#2), so the "i" in IOViewer sits 2 cells from its neighbours instead of 4. Regenerated from the LogoEngine ioviewer preset: logo, banner and social preview. Package icons and favicon show "IO" only and are unchanged. --- docs/images/ioviewer-banner.png | Bin 5252 -> 5250 bytes docs/images/ioviewer-banner.svg | 2 +- docs/images/ioviewer-logo.png | Bin 7048 -> 6932 bytes docs/images/ioviewer-logo.svg | 2 +- docs/images/ioviewer-social.png | Bin 7220 -> 7215 bytes 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/images/ioviewer-banner.png b/docs/images/ioviewer-banner.png index 8c554130888d52c501eeee08cacb1d3096e1be85..d94427662e42a6772d666b221ecd83b9e5bfd493 100644 GIT binary patch literal 5250 zcmeHL`9IWc_rJzoDDJyZcStJQj0ho1r0!CrERjKrHCr;sU`9OMPe|F4tdV5~L-wT^ zBUu_-VMt`jzKvxtjP3c1t-jyC;Q8VC>6)4AdYyBwbKd8D-q$?4u5*cZ=l-1l0N%@g zU$_APJMfrl3tx^B_e2B&#x{u53el(($HOwGq>d@2iKMsWIT=f%pZvQne z^@;&uqY0uO4#SJr4C)WJp*NSu7 zJl7`Llu((bS=`{DjPQDuxxT^%=U?R}B}yJ0tNqNlp;G#829A@E(9#R9|6nJmm|4L* zZDGS^;mB7pFR07b6O3IBY^6-o3Nw|`6JC!YVSwlPsV@*>{1aH~cu!hi!iqiinEt!B z1Tth|RE@Rt%=UcUtW-Bw0>D#E&UGNUV%jgNsCm7U>JNTjud+kuSTlAgg+esDgj3heQ&t25=ucppD);qEQ$Mo{G`_&BIGZloG;&ho$YqiaLJgCOCF}ci*NukYe2p+^2yW^NIXb2t zF%e2GON)!Kk4x&POLq&|j7muythuzxD4iPPMg1)>(6_9a+eE6QF)ZiL{Ylo_#Jy z1^Nau;Gl=fMS3Y_efP9k1A_%ngSRTc(+&l909l4#b-UpmQi8e=3kbUX0Y{54VZOJPwJL6i1<~3Ns?LRSM0RUs}FmURqPuFl05E@H3pmOYKdKQCWuhtG7n#*QHgYx56m+a8XVvVfrQUD8ZA z`40n$u(^TNpPwmo5m-@3PE>05J_ZSp{;u3f8hIxQ6SClrroD=fJ$nSoskr3^2-!w~ zx#9($3rQ6Pb-Tw|2-jz#nm3 zXXo&u+X-0*>flWRHr97x_IFI;3ma8+kVgf8v@^?;72LHu7f9c=EIqj-!U{;pZ!EkJ z%X2A_%)L~nT-@?vgy*1ZB>AX1t0+QvSr1cts}xg$P!W~_CA8ciewgj-b2Lk@(TkMx zpFSS_*t*PwY}G~4h504Hwji>?7-ztiiQ*S#Ewd;DK;FRpdnI5y?>(5QI#!{dG#c^0g(}Py~`LfA9 z3!;8S0ND?vs3GSa4d z2BpLQ?~Z!bo(Ll-Q&rXoVYM}3!=c47MOnyOM%uZeNOAppu_H*t`;BITa>cSZ@uDom zO(D6_J!?dCZJ>vjB@Up=Q;8FV{yxolyH0F2O_L3=sjX zui?3r*}Td3d{CF`OeE#)@(po;%Svr?As@o{%*e^alumlNoJ-*l&NX)uCq4i$u?b*)>f{hHFj8w1}Xg+NR=D# zG4W_-beh>P&9F)U)+y6=DecMx1%vOt-2xFvu6u)KR$sPoZ2^dqDv|kdG4HDLG$QeC zJt$S_pf{+fJ58_+;6n#Y+v`?Bg+g$McSDNSNzhT`>vm+h(Ia?8>`WmqFn0`7vMaxL z2IqDft9C*r)UC&9^~U>M&pr`&+{pqq8xyJP{U{yX`7`wmdSMB%`~D}FOlU;Tea=#A z|Cvf$&CC+4cr}J}xFpBGRjnwf4Ugx$#18bDw<&b56y=UFmMaRCP^TXBX;B9{#$1FQ z=_c_$vkd}jTH6y%2vT@M0WdCT%7~pc;vsGM_JMTBC`BrO)L=wb*0ao4gT5-Hd`Fds#qFAJX`h5e2 zjPq@M%Wh3r(Su(HL1W{m883^2PTN%mB=eTAuzH$r^ka%t3p-VVBE{i@j;Q}o6At+# znP;T;4WY$b{Z?6ptJ3WR!x*{5OZ?$m^*zT$nOrNX)Rl9W4xJ|FKdmUkH>!D^n26LC z_It2o5!hC;HYl$~N$y_m@9^GzM_qMsP6AqIDGRen?gb2NqAY@Fh)-8&Q?5i3Y6u7J z5QVrmgwq!ohg*XE;K+~ur`{F-3)M7l$A*{^ zX^rNzX562~=%Qz>sb$5l6y|5GOqFT{mt=^MuKhsM{7weWFaG1SS8@NU7cbhsn4CXT z+*R9uZG%>!0bNWO7*CT7_{?z0A?oV_M`l|zXXc#C=lr|Jifcg~=*YMmhbD4G%e)4x+ho&4xX`QUPB0d_QE zCyVo6*AzRJb&f$~jyoI_iHg$W!?af|Pn}oV!{}Tj(@h#_wn$*pPe5 zFXc5Lh5&_;>uXT#?@ZxltEhbC#ichHa03BMN1B90^bo584Tnfu5A{4hrrjHKnV;jw zz>1QQ$mL~tgb8@c{|GKCx!pZ}w0uz?1-Y=BYKw1hlip=DdNk2Bv;JY)?(Qq7#HQ4b zZLVwey94lEjIYXC!K>8x)l#8?2`k0SG)ErvoSW@}J9%m-y>|bgC!!e79KS>hqixaa z3q?j3)Ws8xuD&8$#dY~P&WsQY~^^#MdE3p=ryr8SIHX>w71K%NGB=Z zsT>s+r2Q)&c6d8TO?QuJo931%5lGw5st8cY%;xx%wcZ>uw{J7`YK)=2LPpoa)8@DS z;)~g$9NAr#9q+Q(6v7Avv*p*~$cdLFgyaT@FNTVqr^F=hH7KZcJZ?J|9Ju)LJ0_dW zqUtTqh#sdZ6>!&QAt6p=R^`v3T*QN{>fnwX)|?E zP+j@*AqQW#qlQ%}bB~wC`xLG3K4g~s)t5ZgNqcx6MOkW)`vGerKW1MP&TLMFjmn%7 zmR6j&yh!3HT!Ufw)`{&ox{prtjm%Aga6kFpxlngJLqcMt7oQ!QPMH0nCi-nun46iV z^V|K}CvR*{g~#pDdQU|i)|56jPf0z}J)0VE=S1`(sT+rL3yHJv61S8si|(CLpoE3# zFP<7a(MIV=?(IHS5uY_-ch;-5s)z?o>^Z@+>@9--Ymu!-P;FOD-C&`;%COqP`n(xK z?fGE(UAt_tzKs&Fe|2=CX=*aOx3O)CDbje+4z9KfGq7&$QeiR+)I6WT(@8O$YvlF+b>=8 z^yl}r?O$EoTKdABQ|nw}Qe|4h!jQ;L`mL%fyasVK?pN?_lp}Kbk2$orlx&$z4zbhx z+=!)2PKZeMx%=z?3UnvuM7hs%7|GKPT|%^GYgfd>BSa%jyB(NO6+==`wT%+}p85aK zyb9DBpy<(N7ej*=Y7~f`A-%vHcEBGJTuhGp-^PDOO7`$C!*|j@so#_`Z-62Km$h^* J;596s{0D36e2M@7 literal 5252 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 \ No newline at end of file +IOViewer \ No newline at end of file diff --git a/docs/images/ioviewer-logo.png b/docs/images/ioviewer-logo.png index 6f679d469571dcd4c433757f3cdabf96aebd0872..290e070655391422a503f8c88e0b3aa058705bd1 100644 GIT binary patch literal 6932 zcmeHMd010d7Jmpr849#xN0e2+R;{9tii(CHaT%$o-~zHQRtX|YWDi7=P(|9QfPNJL zAqf@%37agk2T)Y3ECC?_44WbZ2oN;J7_u-g$+LB)GkN`I{+s*H`@Vb6IrrRierLJ& z{dm;TUiUACe*pkM_u#ktj{|@f3INoKKhXqd?y!2mk0JZu{yomP?789lSW^L6b78bm zb92b9viQEkl@kHY1FjNyG_-BPXRrOshMDE;#k^N_zE z#g84mge|$_vEgd?xBKs|LvMA*pDgpPEHCdAKj+z4F&e21wTUCR(aeqx?BkwXp4d6> zlumnUaaUR$vwqg=4sB+dK3d{>sBmT0hykb@IL4}Gl8@8w4f`?$VwcrkqZaI-tQtGE zl%DV0JJRytf#^}4Rp^VK2nIHE zWFRAMtWNm1Y9>C<`6oSFLX}TA%7!w|Q1WxwgK{!x(d|^>Fy6 z1kSTJr!84|ji)Ohtus>2g=HMntNiua=r>Q7wjDkueBh|$B25=L#LD=d)@3OROXR}= z8d$x0UVA=)E)#~WOmCPjaX z-J-|FiD%C5bd+m;+tOte?-W^DHJ(nsn0jDHISsTphxFSxnKC)CuP$*wdq&hZK;}o( zk8kbZX;2Qer_$XV+)c(Sl?nj)Ap)NJr0@ui<(l7Q4#_z!4!se(W?|^a{-W?x5`8(u z!I4ox^V*4;h&}tDH}b=|{I#q)vFeN@Mv2#sVQnQ{q=$>eEG8>Sok6ZA+`31G{JE-! zK8V>aVJPq>nzKA0Rgwdw9U<6G+p4AdBe<|48r3ceIF!we4sRjV%z~nM)}BcIM6%t4L-c9!hfcu&tsNxkMM9r<;hM=;(R+T*e7 zmPH3oXz@l1gpeQBEkNpir;UPq?Y8WLjQ^9#?M3=u8H5$TuFp~yPM`B8ou)6oUv3}p zeX%f@)p~|5>q>qW;7YOcUF;CaBZKs-)e8u<5C4jTz*Me5QMwadJfP<^Rbgr1s@F(3 zKaL3!FAJ$OUDd{t8t6Atnj7W;%`lmq^z21#Rj!?0xTHCS(BLNY_Go8zDmKp1Uatxk zd95ova(Y)3YdP9)IJ1MJFIP1Xp-R=wCX{Y9r0xB;F97oFl;dMGU#qdi!zjf3)uF5A~ zvNxBlo^hjpw62GH5kDc~hw$X4?_L3C6OxZ8JZz$ct7RQpU2O>%W4W@Qw0sz&-Z8au z3!V4|#zMf`n~qMTPm#7@M3Q>9!clj8L8bt!Bje=C<-${M`<=QCR+IDkzf+43{}Fm0 zIV@=dkPTWLtqF1f0HQ%9wRv?bpV?-aJy3pQzEht#I`z(HahPg2>?0BqL!$BfBjO!T z@_3eq`>=$Di61m0WEI}AGRco7X`pCeR;AitG%#9ChiV78jv(4GY{{@dy(~&$9T>)u zNStYY?+SplyLVcSzPoLg{s_n4<1dc=A~r+5$Kv4vIUS-%<&lFhNR+-@Fq%63R-Sb+ zi7LafGdPKJN{)dkD}_bTzL_eMwI1Vh8{1!BN_zZDoq+lQ#R;xHRe6F)Ty)=|X7LGj z1JD*84~Aofbh5@1gn7W2#2^1MEtNfz=p!1pB=)_tIIqdtw}XqVSZp%&vK;iH*7{(Q z#DX(*L?p!5KY4dH4PO+Vr<=aH@YB&8_V%IMvt3|>pc;1&C4qDog*91x2#HRCh>RdG; z!@Y{xOLWRo?M)C@YkYidzFm{>Z>&H68P-+z&4{Ah6*d;@Lj zNXMTA94Qm#*TlS+X}6q3jaJ4s_4>=`2hCvc1!}Z2QPjXqj*eS)8+n0JK!=t0Gt2|i{Cb6Gmt|>jV9#7>vom|Ce5BH z$ug4c^#!ebctE0cKGq2l2oFFc7*%dW<0IfP2u<^5jF_=vl_7s9DZpM=Ch0#=Q^R*! z8kl6*ll+v?qtA4xWKEJ^b?=GMiQz4aJfBE;*Yy900?>hq5gQX z4M1drX{A)9hVo_=P}E+0BtdZ~^$?YfxSV0xzcL(wWdPe@5D)MEbmH2prDz`pa``&I zVjJHiW1C7#fbFxIqBorF5iJL#<08H6G&qPneg}Ht)x(sYgGQ3K0Vkvv@`E_8OVgie z$+MBuY+ptdn5w>xkLI+dvqA5TnaL)I#?4~_!g~VCdcOZkEC0zNx1!0HN*M7srtq%h z@`O$#9$d^PSmD9jOD>s$#!vD}t)EY8BQ_@ST$6YK@#6$tmRYwQg$JBR!JYPSwxd&q z3Gxid8EG4Z*mpwGs8QPtw7iAOBYrcHaSvv@k1fCbY`U;_#m$$TbuH56z2>KHXc zD=s;aWh1;P5Fmm~VzUny9IN!Ax)E9G_I%X28=PbB1k)0KYI9RWe0Z6=FOk)X!${+9 znW)q=%6B?2DJ#Wp%93k>sp0Pl(DZ(}sKHgMZ{dHP#kW^9aHOwPieP4ejeMl!{_Ne6 zQ_)jbZ?$_-{cO<&I8*-!+0@p4@P60ruUY^bR=_%y0=8S3P?DzKUmQF|Z=LO4yHBaL z#RBT-q@vBfYnpRJwSY=k0S8qIaM?okEM$*BcVQCDz4t%do`1it{PtY%(VgwLOZNZC zoawGrJ;+wL0(y@ozC?2D2T*wCXefG9o1 z+I8pY*x~>WdV)JUh~OFrr-#U|Eb@WQKE-m^C6-6d_gFdirE|CL z&s%cCLmtK`yBwfO`3hOI6<0I&;dOcylkm9C2p3AUsztu}u(d}uHEdp!l9gq>W2Szk z;${p=CR=yxNLtOQN#M*|(q`sP3gtf$z~QGM#AGq)#Jg3E6+X1^Q`hyO{my!MmyXuO z^Iyu^u^UiA=Q8VNdnF5yi_8c#%~&wrIsqZ~tHUv--@Mp$<|$;Vsb6@Q%+bsRV-IA_ zn`0aO?_C3{y<)s41jU37UwE^C1sU9*%HP&MF@xSfyMF+mhrd*3bh4=>%qS^2?5L85 zl&@Rae(G{;AJs&ZRxQ5KRnq9{P`B-#E%dCsbMT%`P3Z23Av4omFY2)Ppn1{pnPlD| zq;1O=eMb1qiPw&wqO7g4!NL6ktG(c5M?P}g1)(Q*b!>Jr!RhHX>(p#wUR$0cUjRoh zqT}mS?wqmtg7Kn+)mfDHn<;hg6s1R7J^lR37dXA)I_b2h%SJ_!2boA43#~6_zCvUf z3rv``S#EBGGf}0q5%W9`WBigrEC4vp%o@K43U=BK>ROvHS0c8!alABH?4w*Jed%R{ zxjKHCTyS%tv43BCYST#L!d^? z*vCrvmwksKaTB-symr>zkxmaX=$kZ2goEV-xOzBt@ziH=~>d=1^&gMjEINh jTt0&kdGNpeCz6<<-i5FIWh_yFx`Tgr++Vua@B4oO{N=?6 literal 7048 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 diff --git a/docs/images/ioviewer-logo.svg b/docs/images/ioviewer-logo.svg index e5f1277..017df74 100644 --- a/docs/images/ioviewer-logo.svg +++ b/docs/images/ioviewer-logo.svg @@ -1 +1 @@ -IOViewer \ No newline at end of file +IOViewer \ No newline at end of file diff --git a/docs/images/ioviewer-social.png b/docs/images/ioviewer-social.png index 3487b75f0e0accbe4e585615243ddd4ac6bfee26..d9fde1f51dd484c3acfca179c25de749da99e11b 100644 GIT binary patch literal 7215 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 Fe*i&h5s&}?