style(glass): tune the over-image tier — cards let the image show through

The app-wide 'glass over image' tier: panels stay near-opaque (surface 90%, menu 100%)
so chrome text is readable, but glass-card drops to 50% so the per-scheme backdrop image
gently shows through the feed cards (blur 22, inset 10). User-tuned via the live GlassTuner
and validated ("the image just barely shows through, text still readable"); supersedes the
uniform-88% pass that had killed the image-through-cards look. Only the data-backdrop=on
tier — :root (image off) and .glass-media (Plex art) unchanged.
This commit is contained in:
2026-08-09 06:07:15 +02:00
parent f777eee9cd
commit d93c465176
3 changed files with 21 additions and 11 deletions
+1 -1
View File
@@ -1 +1 @@
0.60.6 0.60.7
+13 -10
View File
@@ -125,25 +125,28 @@
(`html[data-backdrop="on"]`), and on the Plex art-backed detail views (`.glass-media`, which (`html[data-backdrop="on"]`), and on the Plex art-backed detail views (`.glass-media`, which
have their own art backdrop even when the global image is off). When there's nothing behind the have their own art backdrop even when the global image is off). When there's nothing behind the
glass (image off / perf), the :root defaults keep it solid & readable. ===== */ glass (image off / perf), the :root defaults keep it solid & readable. ===== */
/* App-wide background image: the glass sits over the FEED (and menus over it), so readability wins. /* App-wide background image. Chrome stays readable — panels (.glass surface) near-opaque at 90% and
Near-opaque with a strong blur — the backdrop image still tints through as soft colour, but the feed menus fully solid at 100% (a popover over the feed must not read through) — while the FEED CARDS
behind the nav/popovers no longer punches through. This is SEPARATE from .glass-media below: the two (.glass-card) are intentionally translucent at 50% so the per-scheme backdrop image gently shows
used to share one tier, which was the root cause — a value tuned for Plex art was forced onto the THROUGH the cards without hurting text. SEPARATE from .glass-media below (Plex art tier). (Tuned by
whole app. (Tuned live on prod, 2026-08-08: 50% → 72% still too see-through; 88% reads clean.) */ the user, 2026-08-09: 90/50/100 + inset 10 — "the image just barely shows through, text still
readable". Supersedes the 2026-08-08 uniform-88% pass, which killed the image-through-cards look.) */
html[data-backdrop="on"] { html[data-backdrop="on"] {
--glass-blur: 22px; --glass-blur: 22px;
--glass-saturate: 1.6; --glass-saturate: 1.6;
--glass-dark-bright: 1.2; --glass-dark-bright: 1.2;
--glass-surface-alpha: 88%; --glass-surface-alpha: 90%;
--glass-card-alpha: 90%; --glass-card-alpha: 50%;
--glass-menu-alpha: 93%; --glass-menu-alpha: 100%;
--glass-border-alpha: 80%; --glass-border-alpha: 80%;
--glass-edge: 25%; --glass-edge: 25%;
--glass-inset: 15%; --glass-inset: 10%;
--glass-scrim: 30%; --glass-scrim: 30%;
} }
/* Plex art-backed detail views: the glass sits over the item's OWN poster/art, which is MEANT to show /* Plex art-backed detail views: the glass sits over the item's OWN poster/art, which is MEANT to show
through richly — keep this tier translucent (unlike the app-wide one above). */ through richly. Its PANELS/MENUS are more translucent than the app-wide tier above (72/85 vs 90/100),
but its cards are actually MORE solid (80 vs the app-wide 50) — the app-wide feed deliberately lets
its backdrop show through the cards, while here the poster reads through the panels instead. */
.glass-media { .glass-media {
--glass-blur: 14px; --glass-blur: 14px;
--glass-saturate: 1.6; --glass-saturate: 1.6;
+7
View File
@@ -14,6 +14,13 @@ export interface ReleaseEntry {
} }
export const RELEASE_NOTES: ReleaseEntry[] = [ export const RELEASE_NOTES: ReleaseEntry[] = [
{
version: "0.60.7",
date: "2026-08-09",
fixes: [
"Refined the frosted-glass look when a background image is on: the feed cards now let the image gently show through, while the panels and menus stay solid so text everywhere stays readable.",
],
},
{ {
version: "0.60.6", version: "0.60.6",
date: "2026-08-09", date: "2026-08-09",