From 6408dce4f40707332301053320266b5752765fa0 Mon Sep 17 00:00:00 2001 From: TuringLambdaAI Date: Tue, 20 Oct 2026 16:43:58 +0800 Subject: [PATCH] fix(windows): eliminate MSI completion checkbox backdrop patch --- .github/workflows/acceptance.yml | 3 + .github/workflows/ci.yml | 2 + .github/workflows/release.yml | 3 + assets/wizard-dialog.bmp | Bin 461814 -> 461814 bytes assets/wizard-dialog.png | Bin 23211 -> 461863 bytes assets/wizard-dialog.svg | 6 ++ scripts/check-windows-installer-bitmaps.py | 72 +++++++++++++++++++++ shared/spec/DESIGN-TOKENS.md | 15 +++++ 8 files changed, 101 insertions(+) create mode 100644 scripts/check-windows-installer-bitmaps.py diff --git a/.github/workflows/acceptance.yml b/.github/workflows/acceptance.yml index 8b2c0a4..a13efb5 100644 --- a/.github/workflows/acceptance.yml +++ b/.github/workflows/acceptance.yml @@ -36,6 +36,9 @@ jobs: run: | raco pkg install --auto --no-docs "https://github.com/turinglambdaai/keel.git#$env:KEEL_PIN" raco pkg install --auto --no-docs "https://github.com/turinglambdaai/rivet.git#$env:RIVET_PIN" + - name: Verify Windows installer artwork + shell: pwsh + run: python scripts/check-windows-installer-bitmaps.py - name: Run executable acceptance contract shell: pwsh run: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 341d442..7835a05 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,8 @@ jobs: run: bash scripts/check-release-version.sh - name: Verify dependency pins stay aligned run: bash scripts/check-dependency-pins.sh + - name: Verify Windows installer bitmap and checkbox surface + run: python3 scripts/check-windows-installer-bitmaps.py core: name: Racket core (contract tests) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3fba709..d550bc7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -102,6 +102,9 @@ jobs: - name: Version preflight (VERSION == rivet.rktd == updater == tag) shell: bash run: bash scripts/check-release-version.sh "${{ github.ref_name }}" + - name: Verify Windows installer checkbox surface + shell: pwsh + run: python scripts/check-windows-installer-bitmaps.py - name: Release (MSI + portable zip) shell: pwsh run: raco rivet release --without-updates --development diff --git a/assets/wizard-dialog.bmp b/assets/wizard-dialog.bmp index 3bcab09e068a1b2bfc873f6c73d6c01a4b275bac..e775df569a885aca36e56cfaffbfe66bcbd17f13 100644 GIT binary patch literal 461814 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

obXl)GiL!Y_w5RRI= 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 L0a^iCfeZdGjzf@m delta 19202 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 diff --git a/assets/wizard-dialog.png b/assets/wizard-dialog.png index 82c5a47d4b8e2866ba6dbcc46e82f87b111d3561..9604ce024e83250e6968a8901245a9d348bc5a97 100644 GIT binary patch literal 461863 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 Lmo|Oz;=BGo_8h2Z literal 23211 zcma&O1yqz@*FFp?A&h`XOGtMOA~l47bVxTyBjwNyA}~ldNJ|JJ-67#HbV|20LwDzQ zIL4U;8=}@>WUu2^JX^3JS^-Ss6)H6cp4Q;156M z1K?jS=pkIdU+5({8-zgSVR`=V3#qN%NHkNR9HL4)xVa~mqF61DPA zPR+?#Ic~M)3T!s=X#!IQMJ70;2xVrgXdyO(=%mz zyb{*8gl^)m9{periAzpp1eHBY1L=vNc0kv7dtRe-etIgd)@i7+vxFW3_uqH4!ZWX% zcOi23)GU`=+{b4EZHX;Gs7z5fsxv4bjbnlW5R3F&l%%@@0?o0VgX!; zqSOL?ce!{%Ll_}=R-jS~oOa?aL4!aN2M{aLAEU{_CQ2kJg7Jw+IY`nNDx()c+zaX6 z;Iz1a8}TKp#7+;AS+cdhh3I&3nAgApf$^gd3^kZn`$7$gkrHkTxBHMfHNsds^wnv| z`w3jCmkf|ksnLta$sTg?17lQ3cd%2iI7}@>E#)=;tAJ~DnHLRTsS_6=jjM6^^hmUp z^fb$TkJn2_F>pnaQWEkn9}Ih;2=%+3eKGF3H>oZ>#bLl=&CSNpU)t-}*RPir;}`3W zMLSRk?5eb5pOy-lg>KOVJoEODQ}2Q%;zb(&8X0NFKXLZNBpnb8{K$RIHrxW9-G6XU z7qCPCo~=*rX=g>3j^F$CrX_l@I%ct`GmNxcBWbZYjqWNwYdFkP=3%Bqk|N2q6R=BbVAg5R@MUr$tPK_>T{IdTJj4 z{{ts5NurPy;o;uPNG~^l?JLy8qQc+!2n!(?&Hq9>IxqM+7~(!c`xQKERXxYpn>|H= zk4q4sSEa+JR=*$5#M%gAHLG*7h>|C;6^8|wKKcR=%bPydI8|4K9mRi-USy*tNAwY+ z2P@)cOf8Uu7HG`)n}irKFf!VndStR;e~w-p=vU`3+qS-?V#QldDi zuXNdpljt?8w{rxCFPITGtqY%vT&iiWMy&ZfTSe^-lW|IJs*=+ z1|mjp-Rki#_($z?0q|$E;*uK`C=CP8mQaaU-A6bzVuR->o+-Uhbl|{j4JQcHNsc=C zjpEnf8~jd8<29d(G>V)5K5Pbu0iN^57Y7$z3k=}^6#5v=_*0Do@jBS9%mjoklm3SA zdjkM9XD3er9(J^%Evk`TD+N!+DkRy)Y@egCK2MQ41U$DXCZ?iwOJ=Dx59|?e(Ak~jX zh1r0!wdAou=S(>f(HSt^m%FD8XQ+H&^kTF&+!QKChA-0vy(EEv)6z+-Zhr6xZ^K`n z>EL_;As5**y{e-w>XgKg0ea-9sENP3E0XZ6|KEx;xHjg9FvfWUlQyHMEk|mb7lzHNmiE-rqhO<8vhe?=RB*J$Z zfunXqnnDNuvfM}FiQ@%hy_bk(aoCk1Ea3kI^Z?;~y2JDY7E z;3fEiZHLb<^AQPpH?BvkuY)!J2hz)8>V&|v?j2RinjVv7-O!1F?9mc}FBh^){%k5z z`Z|UgT+sljiNh*&2uT{Pe)&|eENfl}zsvmMdb9u9w3W8*F{x5!a=zq-{*6Nz+dObjx7=|xHGW@H*lLvo*Q|LeU2q+ylM9u^z9 z~%4}y#-WXSQ@WJVBANGTgPsLl8vX1EaW{As)C zEbLt%vKt3T8baTL#fiWo-AxntOyBbWw;F^?9NDz-7Nx~ zxIW(J&)qa~@>lq0+OX#qfBYb};IycrKoEu*j#&tJsfW@LmbII8R(1-IoQS0&Cu>#P z!1VSli-s@mH4Wlldog0U#;hW!<(IbH?Lzt=aQA+Jm`kPn(Mz|hhc3N+pSc(uGVs40 zmYqJK3Bh>piKn#9YYu%ULXDW}dxMS<)e27q(hW;Wg$#hwe=|X|IaG)fh_ks1k~AKa zH_zFL7TS4*uNe@Qg50!G*rdDboj70jTpf|gE)Z+fQCo2maW{XOU{DbR{70s#U9 zr{zoPEShUmBhq;=$|ZFcP~!lKp9;VFX!A-~3__{-KMEXx0h;3%bCouIDws?z6krqU zY%DU6uk<~iS$lh*p${WsmAjy?j$+~IC`9Rz5Tz5!GG&FIzUQnV_nFU(-^T*@uudnP z0vUa?K<4{Gi}JJT;d#BxQsoGO0>5Hjj|BmhdM*P#ydpyMrAprX7a;StpHqVSFA>H8>02_`| zKMIFi#)!iZ`$ahmF^lv*KNK@HzOr=v|H8csfqllZMykkN5A;5J!55!~TW|c>BoPEgmhde}jpj9Edq{4)^X7kp{RR@> zMGs&5O}Un1&}5GUEI88Qz3HyWmfkN`f6EZ;hjR1qnoY$Jr1L%ZT>R= zuIYO$vgjO)diFP!ah+1-oFC<#rofq7G4XM&?rGuhFwpj^t-sL>$|zP05FgQ% z8R}uHk?j9c0#zkpUc3WYnCe$y>P)Z|7Tyep5tdmf$Uq|HU8O_r2BXO z6gSibMcD2QG6RJOVtRrPghK-4@(07wV&broPN*L2%GWdS=t`jzZyd54^|xQht@gy7 zHG`II1ITc}L^a*l$&Fs*f^0Flo7G`^CNVq;>GV0k4E7 zBU8%m__-e!kG+KjOcjRip#r48deNxmkM`)ONOCF*$hJV)4^Ru}FY3Dz3m(9k5Kq_+ zJP9-K&4ZGRgFtQrtupH_j$g76ARVoqYuc!w3>G$jWe zYRFq=k_u%aW-{6uaOgXrWCnnX+{7hSD(MCGAT^{Hi*&z8V&C1fOpD;LY^`$Q8!KSpny~^!vrR-zr;Wj5FicDCQXjh&;XLq&z4Y^stTaP0+Uk*MwcKNq`?vo zr^>UoC*S%yD)d?$>udHRt88@#&GEz?UzW7tJJMxKn#!>~eQzC6~Ce{MRP4!---WpU7)Ya2jZ|9J5t7KZRKMan(J3)`lO1kbn1ItlGy))@pP)lr-&xdVyfU~Z?8AlL1%zl^DTuYleRp8>&pd!C3$%q5opv%X7C0_{G+ zYzFa#1Dy{w0=0bDQt8Q#5A^ysYVJ{+L+7E|vV@l_uIR}-#E%mL;-)>>-0n0LMeDMgnf=O~rNh>pH<{Na3$QWneD4qCQ^^&v#X(^oS7< zPXL)hT#mmLl5Yi4Qu?tIt_DAhoRrTy?7wP@t(uG&7+N>USq4*Rb*Am&RTZ554GCA2cR3 z)-rd;Bq86r+`kPTgm~f(SWeM=Q4DP}u}eRw8PK+|EV6r@TmL4q!<_d=+cUYBFuY+$ z9rn0!YyshWv3oiCOl5Nw}ZL~Rv-TITf&SGG3;7;96wA}lz zBxOpFmAD8~q!49$B61=&lHx=XOu#@I>Fl#maD_qDf@_0TgCdt*;xXsJzEv~oR{CX% zxV;#E?8MA(@H{KvS#ZV}n3>Dl!aD|y*l48s=ErdP-}?Us-zBb%-C&aUn++Xh)rN`_ zsXd=?p68@T+Nm%Kb~sBj2K2n>8^+bu?Y`)SzX*C!?srAY54JkB)ea{O^_jg7(H}4k zEuo_<2jeJF`l8yP!ImT3TsZ4@DS)H@)4ji-h)azC7%u1CP`GU}3*K$)q7)BLRIn_J z_T_2opIfh6EzXrJF?yBxhWB2`i=@IQiVCL2oGR?XyrZh_C}!Sm=E8Vg1l+tExO+BuD-3jvU)A2vl<~Qk4Ch+pT$ozd|TE zNHa(UU6%On5-2DhWYI+QW4mr!Pq{bKY3ScBs)U#nMYWXqEtGp5c00VSveH8y@-_4Q zDUY@%s2Twhl-*0*yx@1x8oZ*M{X_CSL{L092YCSH<`;M0zG%wdy-Gl@FH;U}Yv5>X z@R?a%B_n@DL~O=CROM}NHcuO%EUN8WpKB*BKxW{5k_ymOr6SQNesL8L-A^do8_(a! zn80HPj@(|B=o&qRhR z(sdW7a_W~Y3s#r-o7g6L2 zQNV4A7Hzt6Gv(Z6wb`5X9s4Bjmhx{l*O5VG#Lfos+5SM5IbJF5g;l!=v^|LcNs}m2 zdX(Qa8x5Ie+ZnL_IfS3GCv|P#SMR9rfow!KUgar)IIN7j5!Mxy4Uxk=Ri^YQH=ZKn zRT1ShcXxHJLk{dIXY%V$C2a1=vaLtfxHcGN-=}JEE;)=nNq{kyfdj(y>xVoq%VjdhvqkAdeg7$IvWxNePS!rt4EI~ z!>+Q~?G7S?;A|@L=WT_98Rt8=*lLNyrz>%4#YkI1FnJ)*7Da)Aai?m*+bl7ZLWCjSik11 zB$Li7ioIdeQ&uHeN`)0aKb2COHO+T@cL;ep34*r7ZWDiTIp^69J%FF-QINhcQPZwMUKoW_O#CiYRA}h zJEAkPD#@^!F|$TD{@h;qCQy);Jz2)j5x@=Z=A;A9=3_H|-it@B9lw1{vB+@H_UT*q zA6iWk0U{&Eote}LyF8Lq7eiN|v8O+k32ivvZ`{LUA0G|y~VO!wW1H`IvD$j42MPf|sJR0!0Wt+MPJ z*n9!R#ZEJXnh?q@{l@El05Gon5&f@te}>tB8;4US>?7S=GSBCtDkSm?S~oBE{{%Be zHBL4i*`3I13g%g^7sY~0#LKc7`RL!Bg=%xav_;>ro z;Ye%_MtyUmFnlyX(bj%63}8}8bl*l8pn$8Y?oV9)w0V=!i;8I|Fj3D`l_RUwaRH9 z_H-D2YQ$R}B@PJN4rOe)@w|#BU zuk~f9h42U70ouVYQbfmsbIEP=Vj4E{tB=}x$cn8GUqn327GgwmF)p*77TUFSt4xf| zRWCQd%q>;WzS`V>&I>V^SI>fWCy9;B2;O*kB=@+bE-!^F=2j(B_|sOISiD#+@mMBbloy4bh0sKA!&SF;Mv(ynn1J=i4J@cbUx!B+SyO!2d&S;qP|^v z!A?b9dR#}hF=NbenfQ;h>;Cb86Gjw{Qx{a^%Azv;9X^P>gYGlA6RF~flWdWVzs%ig z(EJtjAcNWpn^mWSwRw<)nvHZ2YfU7skWN-6QT>gkx@=<151CkUeNw|I*~Z)?aLzku zG%+_XM{fSnNZiFnck6L(qS9s%goB_gZzD+mpb(-H(Pb^Esv)bgDkB*(QTQYx29_t| z6Q?`zu3c^{Zn15kVVAJ?=X@rGh;ZH6Vu)788_METEpQ!OH_-06+P9>5cjB6$gaW$p zudpq0pofVpH)MLp9);~;Fk#iHq%Du~C6HU3Y`{kMfMJ=$ST@%DjVf(ycFzwv2iMvG zJr{J&_w=Xo50&Sn&kaQObD{$PWf9&|^tRWcg7)E5419b29koDEIohfUUA&oW@rTfA zmyYS5CU)5IQ}ZzsVz3!)Uu)ari~LR_Uk1_FZeEb2qVTqyemnN90h_5h_UXw7nD<@M zw-c-YP^V|}M{I$nx4#6h88N--3?u2$qcwC?a%DzSMw&7yHC2GNOKZOl5czy-_E5)9 z`hIV0|K8~967%(JElx8hdT$k3}RGd%eNWQX_bBo5} zWfAyFD^haVU=GN?9n%eTx*Rz&gQv`j6ZuM%8M_`Xmn%bkT_3lw*GZ`9vfQseU4AQk zu9Y@dcFdMPZ-)QiH!yPiOTc`BE=9x@o*el}+mQ=|0ko%T8AU8ZpI=I^|6Wwr0>q4^ z17J#$kzhqFoDOlI^VkebR8n2b8GIkX+F2NK+3==!E2&iTS)`WiOrG0&Ppgd;=e+~< z`Js*G<*9PxD}%S>3M!_>6u?`Kx|CXLSE$O4A|x=;ksr03O^TMi4SUVY^5A7S1=iGv z9Ys|_0sJ_cr<)(7=VBJ)@6Sa3p_k0ovaKo2IeH9yL!Vv$FfJ#q69w~a!jqwBUnC4~1<&8kcW++x4ta|KyK zj!M4Q@Hij${$j4t!$wKZySh3|wW@9v?2AC6jFNC$XA=yEd&0FWMJYpQPk{i%nr; z9;zdcppjkElVN@z6vr<`1lc7F2rv&uf+3>3+_yci%h2=X*B_aKVp7SdX0P5h`n>Li z9nnM-zj{o5sFos6-_!pd5Q0tQJ2bLsKscS;3Z zV6aE6Ep6<;rQKOyl-R9%yW~%;^VN)h>anSC>QDtKJ&~3Pw^_9V12tJET&oXmWTxjbi$3(g!Nwg2(DxHlC^nQ6p~CYP!mi&GLi z>b@Sq_7INiQ&wKd&p+&DX6G$H3Y46QVH&4x?sbEXdDE-QjaR4eO&Wq8BnaVRI3-$5 z$~0nu$xYc)hblk8*>C6qk8Py}%@efsBRk}(Jb2B4G1`^cRD{1d-Rh)R_rAEJ^>Mwh z&O*dWuej_FGMo2NE^Oh|u2Oo_^fO!Ot1<-A*@p_BPupx?hM%+^tGn7V@qwc$MbsL9 z1;CHRjjvZNV{e3aQaR~3E8`>n0OKu79!}C({IAF(U4{_eE8KKrT8FJ?h7854V7W%6 zNJ(~b0nL~qOX-6K#FJ5f@(c;Kcc4hF49Mm1$|ADd(8GgGVU(1 z*h*AqZn=3UOf6qIS1EloOh^W$6NVQ{P=8Sr0c5A7$o>HQ_HTFG=wIzE4l13E$qqnW zMoEMw#b3XvDNzXmS$5R70?=+Mtn0b!Siy}}BaD$^?z3<3ac9qx<4kD>ce|Ba`9N@) z*o5;|`jffdWs0!vZ?)}WDD;9}h{|UhJU%2s=^tcr3Go^+lsyQ$s;dPvpW2c zF;0WIvZd{MPW+8ymr^$0;XcJYWj%< zZ=Cz9@t@F#Tq(e|w0r4JyayCXcgX^1|EN(iXQcXSjz~zi-+WJyq&VrYs{+}7VUG&d zg8}s#3>Ts+qoiWNl0q(DRWzqQ--N%P@l@*d3nv&?EX@R`j?R1&&6J<_VFEE$GJ)_b z;op4c=aN_B^0b;)&7naAua?cBl4;Cr+Ho5}jfrw5z>ryqD3V^$QzYNUgWix+IxX<2 zNiqe|7R!@$HoTogJ7e$c*xvgj)3pE2|D4;nn zHmc|uPY(_dkRLV29|WbRYzm}hlDx)zlQQ!>sWilmBd=dRb;M}il8BRa6il@B!M6Ls zAOIaDDtBZp-AB)Fg{DUrwfvk=-J>Qjf~D1Bvh51ad?c5A)p$~FD^5JrKVNl7e6;)KaW|ZCmp0aYC{Kyp!u^B7P}xp@ z0L4KcojsogdmIN{esL$7sNsAp|4!Chd9eymr|S*jZIHTZFI~A|8d;yTP=JOdWzre9 z9^f96wXyg9!k`MYcy>qaLu)l+UHd)uvWY+}DY5Abp3bV(Gl%N+Q|H9CxN_W> zH_jVB8}#&@)08^j{6kmtd~1|P59`Xv9hXC^`)vl}2)cX|Rxco?(4#mjC%p;!iTjSw zXNk*vcOy>PkyfHOwdRf9G&6MEK>JBcpATww)BrX|Xs1US{soVE84a z>JRh1X|6FJq6*==Nuzsl&EASholA&SAX{CMt%+`Mb zspA*;C~vp=x5URZHb`|}t^e}pDM&ON+#{H zoxT?e3O5mxf0|3aFfQcybt!!mBgZ z43jjwy{Qqb?B&p@PaWei0Z~YXf?b$DcLv0lNqBO;!NIGj|FEyqO(zR2T-g#}{Z7M4 zp|eVqP^*aEja}`RdJ{lQ)ZXg?gu|Ni)}CDpW9M`$8Ab_a?jAzpsv}I?KYtRfS}6?1 z&wTJ!E-HTZ@=L4?M{L~$km6+|p0xrh`gf3ei?c@OMG|v4{}{^Si$)XZw726+%@(t7 ziQOxVolL>skWSrdfX+y2V;?8ycOjtmb(_A&DU$JOW9s-k%My@)(AzUd}^wZ{AOpRX2N~DJoIB0<6jzYs<6URbk+m`3b~>^WFS(vKYh~o)4ZSYWsAe3v)`a^7S-X`St8#B{xB6 zXjD7fp}*sjo)ypJ>bA+7{FU9PcG|X(2tarJlbqokDbv44egCw_z!*Z)ZW9(UsfAOi zcREq1z^oxpAA|%E=*5{H=&X!w7FuWy%UKjXF!g% zBCc9~qSE_%5NIo!1+djDF9=u!lZPb~I&QrqxS~iw>_-hT?<|!c?#D-K1fNd79k`EMRV%(Jv>HxWQ2b zT{(CG=6~_zF@ZIy;rp15HDFl71HhrJkW*dXbNg+!_JnG_ms-Bps?5uBsO(&}`Ox^l zR4R?mua7*Bwmj`^`CZn`E)|R}6y*wx2mz)XPaCN-DV~!;t9(31ePFGGE1bkke^AEF zU!6H<=04@bp4x#qq)%(va>qZ2YfJgJorvnlkdzBRclqv066 zzjUSkmTfe+inT#dkDJE+nNEa?WR^=fHPK8qa?&<8^l2*~1WS?*Tnb{5Dp|@I_)MI# z<|~tDxSt4YW@c)DUbC7>qXS(!Cbg`}=%rM3iAwQ@@Ru){Lp*g<=-wpIJk<$#5$Mbw zb>vY*Se8dP45Z0!amOFgX)JX4I~-xTB48bj)Ct=nBiFOUQ8^ZB?V+yUpl|YN%MLAj?cA?buDNB3U-WR}L%RRzeVI z6E^P@dzB-R8@{i5+#*Z4WPj*Y6`9X52v}cb@$%n~;a%88D}%DMK#}gs9=Y!JmuQl( zBtc{Lgm|)^(|649AB1>oDvwlPM_hFq|7DKsNa`(;Ta_ttxk>CWw^XF`6>(`uVt>J3 zFK>vMrR}BF+i>*b+J}K=fPje2z|w(OBG3ge^F;#2m8(DuuBPae$Wgw2UnpBA8AN2h zMmFm+1Ci=F0#8o8_=By`UhL(!hs(hk-|m=2s7_N$NgK13c1z_ra?-x=%UdIQQ8KKWQyaQ5usyjy zdXQ8Zkk4HzQy{Y&t5sFq^nUD8yHnhRG+qk3PdwCES1^coIH{>>=#vak`Rt=`)uE0b z@~6i1_*F;YiL+QqsQ9tvqWt4h`N}?|4XB4F71yI}qX!ZjBaG?xKb4YZ2{~m$-PmpQ ztEt!O&bGIYF%v=3m>U;GiIpw#6^d15+(4lKmGMR|Tm{Gekg>j~`TWtRf*deHa{LR< zfKG~j+sZOLIa{+KzO(I=?-iA&oX(b;Hx=jPRp9a@?K--0caN%XbH}b~{A9JumMivv^p7vK zLm*x(lsX}Nl#fOhd`aOxtK$M#^++E60f3AJ#){|pRrH1|1(=Ii8#>urtSES{E7&`i zaS6X~`Z%Dp6iZhSp*S>NB8mLuekFdHDt)B|8&Sk%kITEXAL0G4Vq>io#K~q?Don3NR<+SorP1`MxJ>V=V@^Qw5PWv>Ewupe&+q}TaA*s4 zC}0-R6UwnOkQ=>~VrjENon&aw)8kx`^&*{?#x4Z~x4bdru6ssK3y@i_oSbB2pKZ77 zn!_1M8gO+140(smyt)e^?^DYr;!>@|k6<9;kY&^Vgx9J)Fx zw*++Y=&t=?U-r1zv1Hbs$BSn~{Pm4U<>;|@v$v(R{MkkCLSp3N z3*h9$Jw;dxSipO6^k)29cn>-NkI-9AvpPLNY>U?ki-98HEf z!)ePd6i7#FOmp`!(piBNz@k|x379Sce{T^mra)s)Dz-ukbR7U}M~{ry*;dq25(f)3 zeO}hT^W{inVg(FD5RiQsVAt;daLZNq?BgNX_W0q7V$3< zz)c4xAPdm}9wtx*e)Y$Ceu*DE!n4#4qKZHU8RH$9P zFRLZfXM;fbgB!g;1i`*3s;%_3vmi(aHafhjc7KHiK+e6Z6nj$~i=VVrX3)Z-R`oGW$WK~C0AfK2+I9Su@wpcz zl3B%?pY)%dIthiNzL)um*R`K5G>$!`a8A;g%gaw^Xan4$cmnuum1ep-7ohHs0ml&u z;DxbIWb%0>ob={1(jwnJ&fP8_@C#r)y4S@t0Pp=n1_W9_CFvO|hN)+KgJ}`5)h>bY zGp2VyaYSoPBI~`YLjSKN84&^k{I+zv@}!148!>}PhItP{R#5>e2ZkP-rl$MZ1(KW% z+GX6@(nq0iJMLeDuf+bE@dprgs%f*9KR(HZW9Z!%BmZCk&+Sv`j)+cGfi(-FyN}{K zzIkQJoKM6YaOWa3opLwY{dXRQlnf_9nFk+X58yA9*dJ>hmxDdeQw=)A_)n|aHxRHp zP;fRV(<8QYGIN|e`hz)uaaF!(+wEEA5~?$dkYF{~^6(wWKlf6$M`&&5En|N?*t&qc zi2gu2JIrlMXGjR_9(&YP09^44N)l55U>zl(cjVbzBp{qdBz7p zYDp)vgRhFXS9oL>&y|1+IOo>J zKD3A@l>k5iZ&l%cSmmIVlKxZQzdSajc*^notQJHJQrblKT|;`hjj_ZtVM9j25Pi^q z%P;>7%9qr~`cv7VEu?ANT`JFC(>r`HtMgx-WDElVb6HknW=AXguBm&`*cT znvda~$)+mSJdI@?QbBrS9yHi;J{&=H`}yE_$L}^#PxQ3*E&koHsQ0aZFy*U^+cjcQ zgQ|D_%Xk}l>HUEIRkeXiQEJE})1G+;T;&2bc1xO6Y5b@2RpBJs%Ftjnhl;_7p|E4y z{`bOCqZ+fvkOYA3;v0z2_8tPp_fPqf@NReWI)64Z(pVuhm;UZn?$3a`z)ed_OA!De zOb%vQF?Hs<&ak|3ip_C;+2V&58yW?ldZ>+F?EA9h-cH37oxwTk4Fm2R{jD5s0q?BU zZlwZ<1Te>K!d8xAK#UkJ{Xq1)=V3j<xM5bf{0M4WWEWBcrxOpH9 z#v|;2xM*KX=zy9gUY>Nl5a4cj--t48H%pz%3J6`~*921dz+Efih?LF%c0{t8!#%0Z zCV?9-?+txC6OXn_o~{5@;(f3d5(W&mZkYT&;NS9EKnDQ!G1Km2vv2I;ct1$#=rdrR zZ%$ftQbg-{(zzqvuw=H_1y=@KXkSo)izG^r0T%wQ`*3CVh&=eUu<&c)-K$gy%(00H z&YfL*Yiqioa&KI4a^HSe*ZR6PLuy2Ob{H|o=JxginUlGrD`(#5U#~sx^zl2tZW$Sa z3A)6O_j3CU6XNl3QV01N)tMZS7_90$?`{^OaLB!hsB;s1qny{rv_vlt^dj<&Zik7t z@E`MNPMly+daq|(QBBs~iLs<}^p=|)EU|LT97NVOxh#G{18lURHH2AMTN!HJE6TC9-WyjE~}x0eIM?U{rx%bwzQ7&`V+>B4UQI5Md*6L@aKc%6ZxWN zQQc-eRt*~gdo#`h0i}Lj2^~v>8zq70PKR2CjEjM;l7rnUM zp{kDL1f??zzZd4cug7oI^1~CI1_h8leg_=jkiitTUiN-PT#>`?Llsc?gXffkt4E?Y z?VNGlW(V&LvhDkSRJLCDFhBwyn*~(OKxa7sB#lP`tOQ&@dI(%&opi_j(u@6!O0}~L zonO+Fv@(HWYr|vS=(hSv$n!)_g4-P%qq`x$yCU$#-Njj{&mM+o6^#SJS@CKw^Jb8^ z<(kt;(YcfRzJK1tGu=KrL$cb7j`hZ!F+-O1%p$#l)UaD}X zk>Zv7l+dimp@bW3wZEaFnq8!!5-5bDpI;xQHwCr2{*u#Q-5N? zu>8xMCveJQ@PM3K?u36!r)m>Sem<4gH?6Dp^CvNNU|FP6x`r%8F_>8s@ey8a?% z>y*=wmb>uedOUGft&+()V?=97i9W}~%miS3dN?vNBDKfYa&}{5=rpzzgdLICbcH*6 zF*Bb+>&$8Be4AK|-5|&_W&6QsUd`()Z^Wr~ui+}{Oux}*#-_A+`rvI?rw{~u$yYl& zJ~Q#*rGfWijo)o6(vhJP9B5Y|ppr+IeEY zW*uEt$xi5%AX{0S5v($iWQWl_{njMmM=vze{6V=QR-aXVa8Car|CV&e51u-wmq@eP zxofxDtQHB(Z>j~XZoA-VzRaHoTX$0D!pPlVDglp*3HRyQ+2i__yJLD{11mgXai+L_ z?~Pugi;<=?!pzMS*Fm2%zXf4F5}cO$t+TZ+e9d=0RG#x*3apI$334~fqCOY!U@C5J z-}AW4p#y$Oisx5d{k6#$9;>TD&F8q8A>SkU(35SNd?yA7>9rM}e45jzu8df_!qyg=7r>!c$U8x7GCvH)TYvsi#R%)IrklqbaZrx93JRBVUEC? zzDOx-Ij$cZh~b}$*`2Oe<1X$Jy>A7WbLDTQIV?feEd z@v-fxIEhek;qM-(1%4)?b)F{U4QewQTIa@M3Fxd}TrQb=H;xdv=(H{J5;8l<@1&UZ z{`*wwz&5EWQEg3=}aaa9ylho z^Lzkqib`n!`;SKso})^z!FSHKZsnnX2VfEpNIu%9-8A9!T=a70^Vgd#I)TjfQl@6k z$5rpEoBA4l{={uM{Bdx+rtH0`Ry)_Yb6srynzLmE|I%MkLBaPJcn?Y;`>Mtr_7BY` zrc~({MJS@feA^8J3l4$5eQ>ukmL0nFUHa|0tyn&W1c1(RN%opf#~66`eRfsH&y)r?z9jhA8Nh~^GHPkeJ2^R} z+!GjbI$Y`g^XE_V?K4JYB_$<+2c?tc%RRkrkmD}XwGM!j_pWyg+-^@f0^jP{%p~?B z4Xb=++GlFDuFK-y`8Ax~RwSCSTu{wlpHkHR5qHcNG}BOV-SO^M_B-fZ8u^sB<9i-c z+j!vl(7R=Wl3++?C55%r8H*I}eyWyJ;RGQG!(;im4rpp+#y4FHmHV5(L4S8o`!(Cw zKs0%OMWpu}e^>OpZ_w|eH~(~3S?fAB&XL^cde-vpq|oTP*4(I=@3n85@oBoeOy>5p-@9Wg;n#i-UT zth~e9z|nM0v!wZGWz=7=bHbhan=KwaanzMA>?hnxqqRY1>9w{DGfyx!t^(`RZ@BR8 zWLfe$lBEuDIgZS`*1NM+T)*vQT;W5Kn6}guGR}IdD~j5A3(?5WKYS0zQ~j=Q_8M0e zCuW%J4JN33mO{?{oNHB1yqJ#ANnGtmW(XyrFLT~xmVPN=M5Wr>OkjOgq-O*1IlUkr z0O1f(iC&&l9<>f_xlXhFh_=K^7f{3v#z#}a)xQPwt@euv;hO!>{Hmev=5_2Lh>l1B z*|eJk$ByZfq%(o2fD=L*Wbxw=S}$RxuRAHBZ0|&p%=o3&=bKM6-R5pEoR)#dan8EJ zrzbL-bB6!qxs&um;>GZhxT!X@`USe4*xzCP^!(+sZF z7rC3_yl%Oxw%q_0De7Qg?XeVfxk?b?@H)c~ao+4pHd)^A_b>H1ngLc={`D~Z`QFLT z5}%FVtUQBU&3FD7AKWK|@WjuA&!ZQ|hG!iQ-pq8nZ&?o1*IxovATot(wI^H%OnytG zp(cIwYi?`|75I{a7>~5RSzdaFKltWlOTF_m6K=>4YrercT3TmQfKb1>nw0GK$c*AE zO?83sSSVqkW|8}Iam*}uRu&L6Keu*8g|Dt>*VO90Z>2?VrjU2HI3~^-Dk67hZu(9q z8kku#_P3Mlnb%cACtE*vn=gA9X`*yByMNH8= zmbcspWyz_XH-d=Cq5vLW=JdH>Epzb(sEfon{H>`ef>6knM7WevVA^SE1ra5h!8ezc zXQJ}$*u~AklV38xZ<@XvY7||^jiaTcyONV)6GXu)1r*0$`;~BsWz$&5q|CRLzx741 zP^mInZm(ECC$(MXzFUV|h|XjPs5#1>znQ7kfk(Kk$a#6r-(qvNT(+`W-1?k|w!B~b zJby;K2j)yy4p-K0SEqe?G@>VR$@k=mQwy4~%UYk`7hkgvmQEND%MX*)BioL9yBPgm zKZrx_%1aAeoy4xO*O?qMhcsnLPE7-Uis()Z|^a{#j?%7HW;wn>K`=#1}AE8q(&(jJ9J-0AcDu%cH2rwHLtqSq=a zon(t2#pN*!BQuLCx7jrhczB+LJh{~`F4<2dKR`r{2!=TW?8`j%%_RYTn z^VixnwsK?lwFnc@-v1WRqIbpvtO37E1xGqmv&$oc6u0$9Yh`qXgdZ88H6KiWm{yL zZsFWSTNYwzkU2AMk!ZAd=&OcH%<`>dyM$j_cqD;a|OAuy>C94FCE1n>$?3 zv}x(7l&x;!OkF3@nwEd~*uHuas$fOoh+S{q?Bm|~eK>cd$}j)p-UQPTNCXmw9Q&n3i*<2)P>Q8w6CyqL{nE9}ep&T=%HANzF!O3GxH1d@8!58|ugFPf=`9eqS&Rvc}5G--kgv3Ih=z@?EVc34upx2%y@(qxxU-@@kyhxF13VmKs8|2|3M(mXDA2|Dc#;V%?w-TSc z_KC65a*L_My7yKU`dKiZ2H`3LK$80gJW7w#J5gx_lv)N+S#4V8vs`Ji3aiWL8Bm%f(K_4~)II0fU zhOD_ZEts_R&A*Kg|2@8ww~m~(@vbqx{){D`*;U7i9%+)i*{}FPbBe({suNRzcf~u} zI{CJ4v!>*)<6DdAT1)+h{)Bl>#j?5bvp7kRZ!QRJo2;ojcn4EgOJM-gbT#^6F45lk zs}(bh6qGN{kHG*alHH&-WgKu3b{R_j?!1H-Q~OPyT>ZW&rB(sGjlz5;Mr81L23|?K*X5Tfi_QK=116_r>v`okhFl zx8tSF^Iz!n)9ph=TMNh@6(Cxm3^BEqTzeuQEFLJG(e3y%5TeC~CE@5cbYz@!b9=t? z=E%=m#y$OTb@==Qs`H>bkfExN?H!b7*wp(No6TBovn3@QIKmyfEcwLZfslA^{Z>tP z(yjPy-gmwOJc!@H!Iy^|uK}mvE-@?&MS)`*3GKy1292-#!XSOW6E~W9@>ON!coMks zO=uO`@;9osW5WF%+szbY6_JrnsOw%Ax=&Gt9je3}!DP%pJu2lP4H@)4`Lbe)ditX# zaB9?{dri;_mGmAaj2iZveLsHuIFU%4HmWJEb{-z|tg-hEuL{819N_vqoy`X8SP^X& zg%CGh-U)*OsBX&aONSe)o^(09LkGIB}x2wxnly&%efLCz3eK_Tj3>K%b zAPY!dRc+-a>39_ZJZ3jJai9S!_tY>A#OR%lCIJ!hQ&Nr46;rQ#rj%C7X^Ik)LQD?% zb6mTcgRj#G0LKERis+DpslGfvvz{i@>yEP2BwSVJZt0+1ooA2OL{gM++3#FL*w#+I zg;e=WhYZm!EWAN35VYF%7;?$M*=Zu^^m3Okt~y@C1F{0=6zi*@US1h~AUZ`EnOmA;)!-Cu`ja>*%?#0o;;5{n5eLL6(=3vlKDB2h z#Um}jO#M(y$aN*DYU_c^VA-J9NKq1zQB4i!-t`J>R2m)3LDh{Bi-%cdXAo zVTH3Vf{_b?6nS8#2Bnc*?L-bCbu_Ksnoktv`?1WHlyCumjnsjst5aJY4>Ge%oXFt3 z%K$h;;G$aXs65yi_Y#k@>G1VlK99dbp2iM6t#lJbt1`+A0iPBOR~O*jpc5b2a7DUS z3(BlZ09S$(GvJ<>rTSRb?f=Bma?!)R4z-ORtzq+}s1%M0n zJ0Oj)qJ*!zf4~@gY3aDpA9wEe-#efDx?Ggpf9O*Hkb&Xixck_l#I=1H+wDAe@)EfY zFWeXaAUiw*Qv%u0%2vcL@;)MV=7HRn+jmUmub4~G7gMw2QQi4b@1R$fKm2kpLfKH$ zm(L5mC&-ZGaiICN_p}8V1c%cLorsXu`s}d-yx2RW(T1YGrPz%567`}n3&%H~n)Tn4 zZyyKnCtM3{!aM^`f~m(B58VcIy*>EMH5W*_Qtjx={{ntri351u3xHY&67T$s;O$?E zqX3m}f6qBq(EgtVCrKcb)?;07b?BR&EVU}9z8^Yt`rk4&a~&)Tk3PMV9}792{=%fR zx~@J~LH!fLx(hP4rzr2SN*o_8u)wcDWNZbtw;(Bru0|V9X^h8qs|J%v>|J7%PV`1H zIsUX>ey}qB*l>1+VY$)P1>3WLNmegTxpV}epA3ZRZ1bued@p1fTvlub1S9DPP|(to zz7Z9*4mzUabftgztVFR%C9|&5OzBtYODm#3qvwd%IJEzB5K(+EeEuU7m~i%o&84HTI{t+J#RLwNTxf$0($QR3?$ds#K&2_3VmMT13z zf%~mfr@#yfYo&3%D8}!{+5l?|^4T)}Eh+1o(GM>rwN=Tbv^Nq)y%D7v`k~>wng;m3 z%&P68U{~{W@vZQkpcRPO_+NG>@RA9rv?+gRw`BLotLBx#_9C!|jBOSL0Q*@6ecc18 zB`MfPJP7_4#-$%CWh+aiYzjsM)Op^43U@J|m~bSe*iVvxJyH-eIEUT+m)-K>Q1crg z?x?hAbno-j_cta2h=M_Z)j&)$2l4ef0!}p*^2D^FWnnGl56GP@DfnE~50(U!Vei52 z!6mG|Q(Y;TJ>6&bA5!Hv;DAN21tpSA|1QuI0)e)mrGOqiaeu1^hOlfJ%6#ompyz*1=s=ipXjC#bh3tvRXoKg;Pk$?6z$H# zy;TVj3>EiggE-m|D7!xqOq=``3<&i@`!z&IKPaRVTWxnz=|Zu@{A&o+r=xk@{yxF` zF!(>J&Qv2DRq4|cZAFIXTPo7InpZQMXA)dP3mLeJ9H#U3X~m znM>3G5>jw!*|~M2T2!Y;gR!B>MSyClzA1PcZ1Ep!+1UB+{Wvs~XB#VglrV<_d_a~b zFBqc$bq9R#j#@VFX&!kFscGV=V`l|)q7b%KAYo}telNTqUY>?4JVODM;s$|Nvt}0H z=_+qHf-~RsRM8E?w(Ve?hMHCftqpVD^m?YG!`S4+GH|b#l+&0DqEAJF&XybHd56KO zlrqg+l)<{sTngFD`CuKxklj9g+lx1*%@B4eBE=LS)}&QJ+ipjb^B=U zOR*yNQJezTm#`pa;vsD1yqh!yiB=lawpoB z5sEr`GwabgZ_OXHo|OT6FE@I~--~@3u1xMU7;=U2-I02GH#t@MV7m)J0K>r!pPvl8 z*#%;Bf%k;b9(nx8Sg}${W~la&JoxaXV5DF1yxDR zhi7A8N}yHCJ^0Ot5DZQ#Xdc^o=9}T9gYI{qcGnAvxv=fv>p!cSGD@109?wI8XG>kZ zwoo?$M*uDl87jq2dV<+$AuK7a)D2N|!@7Qwb{SXcW{ODEXhpMRCR9f3vZpnBXa|u> zyczv&Pxa0uZ)CS#6r|YRgu>CMke(_41gV0g^PgE{{B+)?LnV*O@O!VU{5FZk^B|C@ zGcP&fk8ioGf!yTJ{kFH3Lf*VQbFR&L+ub7CvbPKF)cZ8X+D9+<`druN=yppeV* z+1Rg5S_TbGOXD@Rg53jM-d@ro$}ed=k|MaP#xN6o8^TBJ#e_2`P}5xJ$MSUD^ZTX^5YQwwF>m^nAU4roVUFg)Hn>uRL1~qqa7qASbSmN== zZe853=YPX@##@Zja7wZ>&g#0o{w3@F#AI*{n2}>S^Q#JZZn^eQ~gCZE8Z^7Z%~z4b2ykp3S0e8R)e;j*SR0C@5Py=env|x7FaTW zSXNSV4OtfCHc6K+p6_M~a;`J9;7>G{vrK%~`$0}OB?_I diff --git a/assets/wizard-dialog.svg b/assets/wizard-dialog.svg index de30f9a..cda33c1 100644 --- a/assets/wizard-dialog.svg +++ b/assets/wizard-dialog.svg @@ -11,4 +11,10 @@ taskly + + + diff --git a/scripts/check-windows-installer-bitmaps.py b/scripts/check-windows-installer-bitmaps.py new file mode 100644 index 0000000..a5c325a --- /dev/null +++ b/scripts/check-windows-installer-bitmaps.py @@ -0,0 +1,72 @@ +#!/usr/bin/env python3 +"""Verify WiX 5 completion dialog bitmap and native checkbox background.""" +from __future__ import annotations + +import struct +import zlib +from pathlib import Path + +ASSETS = Path(__file__).resolve().parents[1] / "assets" +WIDTH, HEIGHT = 493, 312 + + +def bmp_pixels() -> bytes: + source = (ASSETS / "wizard-dialog.bmp").read_bytes() + assert source[:2] == b"BM", "invalid BMP" + offset = struct.unpack_from(" bytes: + source = (ASSETS / "wizard-dialog.png").read_bytes() + assert source[:8] == b"\x89PNG\r\n\x1a\n" + pos, chunks = 8, [] + while pos < len(source): + size = struct.unpack_from(">I", source, pos)[0] + tag = source[pos + 4 : pos + 8] + payload = source[pos + 8 : pos + 8 + size] + if tag == b"IHDR": + assert struct.unpack_from(">IIBBBBB", payload) == ( + WIDTH, HEIGHT, 8, 2, 0, 0, 0 + ) + if tag == b"IDAT": + chunks.append(payload) + pos += size + 12 + raw = zlib.decompress(b"".join(chunks)) + stride = WIDTH * 3 + pixels = bytearray() + for y in range(HEIGHT): + offset = y * (stride + 1) + assert raw[offset] == 0, "PNG preview must use filter None" + pixels.extend(raw[offset + 1 : offset + 1 + stride]) + return bytes(pixels) + + +def main() -> None: + pixels = bmp_pixels() + assert png_pixels() == pixels, "preview PNG differs from shipping BMP" + row_width = WIDTH * 3 + for y in range(248, HEIGHT): + row = pixels[y * row_width : (y + 1) * row_width] + assert row == bytes((240, 240, 240)) * WIDTH, ( + f"Windows checkbox backing is not flat #F0F0F0 at y={y}" + ) + divider = pixels[247 * row_width : 248 * row_width] + assert divider == bytes((214, 210, 206)) * WIDTH + print("Windows MSI artwork OK: 493x312, flat native checkbox footer") + + +if __name__ == "__main__": + main() diff --git a/shared/spec/DESIGN-TOKENS.md b/shared/spec/DESIGN-TOKENS.md index 853904b..e4051a0 100644 --- a/shared/spec/DESIGN-TOKENS.md +++ b/shared/spec/DESIGN-TOKENS.md @@ -109,3 +109,18 @@ accent-filled white-text rounded button. No chrome field borders anywhere. White rounded square (macOS-squircle radius ≈ 22.5%) with a quiet checklist mark: one system-blue rounded bar over two neutral (`#CECED3`) bars, staggered widths. Monochrome, no gradients — must read on light and dark docks alike. + +## Windows MSI installer artwork + +WiX 5's `WixUI_InstallDir` shares `assets/wizard-dialog.bmp` (493×312) +between welcome and completion pages. Its `ExitDialog` optional checkbox is +**opaque** at x=135…355 and y=190…230 installer units, mapping to approximately +x=180…473 and y=253…307 on the bitmap. Gradients under this native control +produce a conspicuous rectangular patch. + +The image's **entire bottom footer** (y=248…311) is flat classic Windows +button-face `#F0F0F0`, with a subtle divider at y=247. The interactive +checkbox remains native and accessible, while its backing now blends into the +same surface. Keep SVG, PNG preview, and shipping BMP synchronized. +`scripts/check-windows-installer-bitmaps.py` verifies pixel identity and +native checkbox surface in CI, packaged acceptance and Windows release.