From 855ce8283646812881f216ecd0ac378ed5456c66 Mon Sep 17 00:00:00 2001 From: Martin Dvorak Date: Thu, 15 Oct 2026 10:15:11 +0000 Subject: [PATCH] Aero: heavier shared blur, and the composer field reads as a field The composer's input was still a flat 60% white bar (the "clean, even tile" from the earlier pass) on a panel that had rightly become translucent, so it read as a white slab - "especially the part where you enter the prompt". It is now the app's standard frosted tile plus one light veil: measured against the same backdrop the field sits at 178,212,157 where the panel is 145,183,79 - clearly a brighter field, still glass. Translucent glass needs softness rather than opacity, so the shared backdrop (background-blur.webp, the pre-blurred copy every Aero surface sits on) is re-baked much softer - a 64x36 upscale - and every panel, card, chip and button now shows the scene as an even frosted wash instead of white or mud. ?v=5 busts the asset. Contrast scans stay clean (chat, library, study, settings across all three themes, 0 findings) and all 15 suites pass. Version 0.6.4, SW v86. --- README.md | 14 +++++++++++++ app/globals.css | 35 ++++++++++++++++++++++--------- package.json | 2 +- public/aero/background-blur.webp | Bin 12716 -> 12050 bytes public/sw.js | 2 +- 5 files changed, 41 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 5992133..99acd4d 100644 --- a/README.md +++ b/README.md @@ -1434,6 +1434,20 @@ Things I chose while building, with the reasoning: (measured: 268..1280 at a 1280 window) — a flat pane floating 40px inside the scene read as "cut off next to the sidebar". +95. **Aero, second pass: a heavier shared blur, and a field that reads as a field.** Two follow-ups + on 94. The composer's input was still a flat 60% white bar (the "clean, even tile" from 91) on + a panel that had — rightly — become translucent, so it read as a white slab: "especially the + part where you enter the prompt". It is now the app's standard frosted tile plus one light + veil; measured against the same backdrop, the field sits at `178,212,157` where the panel is + `145,183,79`, so it is clearly a brighter *field* while the scene shows through. And because + translucent glass needs softness rather than opacity, the shared backdrop + (`background-blur.webp`, the pre-blurred copy every Aero surface sits on) was re-baked much + softer — a 64×36 upscale instead of the old half-res copy — so panels, cards, chips and + buttons all show the scene as an even frosted wash: nothing to read as a muddy patch, nothing + turned white. `?v=5` busts the asset. Library, chat, study and settings screens all scan at 0 + below-minimum contrast findings in all three themes; phone touch still strips the bake + entirely (flat 32% glass, as in 93). + 94. **Aero glass goes back to glass (the "even wash" read as a white pane).** The uniform wash (`background-glass.webp`) from decisions 91/93 made the rail and the chat chrome nearly opaque: "why is the sidebar so white and non-translucent on the frutiger theme now? and the diff --git a/app/globals.css b/app/globals.css index 74deede..ad7d4d4 100644 --- a/app/globals.css +++ b/app/globals.css @@ -477,7 +477,7 @@ rgb(255 255 255 / 0.09) 100% ), linear-gradient(rgb(255 255 255 / 0.16), rgb(255 255 255 / 0.16)), - url("/aero/background-blur.webp?v=4"); + url("/aero/background-blur.webp?v=5"); background-size: 100% 100%, 100% 100%, cover; background-position: 0 0, 0 0, center 42%; background-attachment: scroll, scroll, fixed; @@ -572,7 +572,7 @@ border-color: rgb(255 255 255 / 0.85); background-image: linear-gradient(rgb(255 255 255 / 0.3), rgb(255 255 255 / 0.3)), - url("/aero/background-blur.webp?v=4"); + url("/aero/background-blur.webp?v=5"); background-size: 100% 100%, cover; background-position: 0 0, center 42%; background-attachment: scroll, fixed; @@ -597,7 +597,7 @@ rgb(255 255 255 / 0.08) 53%, rgb(255 255 255 / 0.13) 100% ), - url("/aero/background-blur.webp?v=4"); + url("/aero/background-blur.webp?v=5"); background-size: 100% 100%, cover; background-position: 0 0, center 42%; background-attachment: scroll, fixed; @@ -631,13 +631,28 @@ .chat-column { padding-left: 0; } } -/* The composer's field: a clean, even glass tile — no wallpaper gradient - inside it, just a lighter veil than the panel around it. */ +/* The composer's field: the app's frosted tile plus one light veil, so it + reads as a brighter, even glass field inside the panel. Both extremes were + wrong: the field's own wallpaper gradient (a blue→green wash) and a flat + white fill (a bar on a translucent panel). The heavy blur in the shared + backdrop keeps this one clean and even. */ .aero .chat-composer-band textarea, .aero .chat-composer-band input[type="search"] { - background-image: none; - background-color: rgb(255 255 255 / 0.6); - border-color: rgb(255 255 255 / 0.9); + background-image: + linear-gradient(rgb(255 255 255 / 0.3), rgb(255 255 255 / 0.3)), + linear-gradient( + 180deg, + rgb(255 255 255 / 0.15) 0%, + rgb(255 255 255 / 0.06) 46%, + rgb(255 255 255 / 0.05) 53%, + rgb(255 255 255 / 0.09) 100% + ), + linear-gradient(rgb(255 255 255 / 0.16), rgb(255 255 255 / 0.16)), + url("/aero/background-blur.webp?v=5"); + background-size: 100% 100%, 100% 100%, 100% 100%, cover; + background-position: 0 0, 0 0, 0 0, center 42%; + background-attachment: scroll, scroll, scroll, fixed; + background-repeat: no-repeat, no-repeat, no-repeat, no-repeat; } /* Touch devices: flat glass, no bake and no live blur. The baked layer is @@ -715,7 +730,7 @@ rgb(255 255 255 / 0.32) 53%, rgb(255 255 255 / 0.44) 100% ), - url("/aero/background-blur.webp?v=4"); + url("/aero/background-blur.webp?v=5"); background-size: 100% 100%, cover; background-position: 0 0, center 42%; background-attachment: scroll, fixed; @@ -730,7 +745,7 @@ rgb(255 255 255 / 0.32) 53%, rgb(255 255 255 / 0.44) 100% ), - url("/aero/background-blur.webp?v=4"); + url("/aero/background-blur.webp?v=5"); background-size: 100% 100%, cover; background-position: 0 0, center 42%; background-attachment: scroll, fixed; diff --git a/package.json b/package.json index 663bc8a..4c8df4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "freezmo", - "version": "0.6.3", + "version": "0.6.4", "private": true, "license": "GPL-3.0-only", "scripts": { diff --git a/public/aero/background-blur.webp b/public/aero/background-blur.webp index 662949591652769a24495b6577edc67a49b45d97..a9992b4863cb725bcb58d3b1c153057179535e42 100644 GIT binary patch delta 11677 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 z zuABH~ZGpI`2?k$Pbbs5zT3?d(DjWtEQ9CCq2MQx?m$8sPVZnTHB$YH~5(zESd2L*h z8oynNjmC^V>UEi*Q{W5hJ=7*W%u*!fHfsG28T+hqcxg0vVC_gD`lXnSE8=cjt2+rV zTy&M>(4%K9hrHsCKyzWh+1VlPRDQ+8bAvI!Wd8ph*4|R7&wn08`v!ah*LC;A4N>N% zLH?YBfT0MY2bgn1jQzB5FPC49Mj_3!MK|xZ_gi1Xd^m}jrQT|Qw zfp*MU%UP&tEJgUWp|&B_2pa_R&K+uR;&)ostFCWCxlLm}shc7AsHeu~?-(anpx6B! zWBxk^ZSrqm-jp+fm-*$$T~yfz+|`cz^rTNWq=@9U@b%X?klh`1LI`Jt3FW4^lFOae zz+~UOlz*%K$_)gadv#?y}$ zb;+!&SJLF;d+XNB4ymI5O$s?6Mum1Y!jEYHoT*qM|obD7-% zPk@fDGY^c0;Pmx)FMhLSgxErzbr-nHS9~gg++MjABv@o8%f(5k)1Eo;^YeW}x%RoL ziGMco6yrWu*p|csAyAaiHAUsfWl-V&{I(|tQigki61ASsv5jPvaOq^){Zt`m2QT;W z7%v}5l5%oa!I)R*b){YSgbwYmB=T?mG+p8tmYfFM2imLB&$w;qG%%iqeq(NbfV_Af zyOf=iFExbY>hW5 zHS@AWuWjaKarXIOXQ)d>{-AGtbzT57h=sdnNVkfjzF|tgMm>Vzb%N9&t!qPVb(kSj z^*8tWQ+I@~*`ZYite2r*2mDm%NG757tzqe}PlbL|7CemVQw+;d1mgxx*_IX-fqxo$ zXf1^XaZ#!F*D&HT@K5b$v?TANy-X@Kr@av4wTt|CzRCd+?bh^A^)#HDDz5w@mpZs> zzNg40Sx1KBrKsvS7tUiEI661VJ~yztxSP1cmLe{#nvm;W;&mN*;bwDRe$EIItF$^U!hi95m`B|C{46!QFaI+q%oq7A} zxf?md2Oqhz0Z56TrvjNL9FAV(zAbh$zI7P`;ae&fVZ~JH9|I-mA6ZEAbv&#E)0`1A zV9S_-ds2i(cL^4PJGKO6_4zA{=pu+xmo^8b71ubhJ1d&LKUu#hy~AGXMP&O_+>)^iF*$RT6C>$%CWtZVi*^ecH`npWfnD_ATvLF(H>>=$(yU?9DLAI>lE)EBB2vQ>KVY?StTIVz2 zVP&UjL?ukVEL9cVdC-!>HCbsy_@vFec$lVf&|Z?7%Pa7J7SC$wJtFpWc*{f3?^`QX z=NjoYxU)bLVPdmiX?}fZjv&%+>b4hAEv^t_7gEJjS>MCYbVCBNteaBL)hnlMay$$= zO#-t$tz%%jx_1QI3i&F^;Et1muY1KCg{0vkM4J7z@CJg{iYWr|@E`dR)rK>A&r}~A nY-OEQ%u@s41gztfPsMibmA=L&q?Ro@%$3p%U)*{y@;Lwii?7I_ delta 12349 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 vM3h{r(