release: v0.15.0 (#585)

Eighteen changes since v0.14.0. See CHANGELOG.md for the full list and the upgrade notes (bump IMAGE_CACHE_VERSION).
This commit is contained in:
Ralksta
2026-09-19 22:24:10 +02:00
committed by GitHub
parent e99d3f2f1b
commit c3f92ca4ec
74 changed files with 4791 additions and 2146 deletions

View File

@@ -1,5 +1,20 @@
/* Fonts are loaded dynamically via layout.tsx based on theme config */
/* --text-muted missed the 4.5:1 that WCAG AA requires for text of this size
in every preset, ranging from 2.33:1 (monograph) to 3.50:1 (studio-modern).
It is not a decorative colour: it carries the hero subtitle, section
labels, album metadata and the footer links, all between 0.6 and 0.9 rem.
Only lightness was raised; hue and saturation are unchanged, so the warm
greys of editorial, classic and noir stay warm instead of drifting to
neutral. Each value is checked against --bg-primary AND --bg-card, and the
worse of the two counts.
In minimal and monograph this pushed --text-muted so close to
--text-secondary that the two steps became indistinguishable (#828282 vs
#888888). --text-secondary moved along there, restoring two distinct
levels: about 7:1 for secondary, about 4.7:1 for muted. */
/* ── Design Tokens (Fallback Defaults) ───────────── */
/* These are overridden at runtime by CSS vars injected from gallery.yaml theme config. */
:root {
@@ -11,7 +26,7 @@
--text-primary: #f5f5f0;
--text-secondary: #a0a09a;
--text-muted: #706f6a;
--text-muted: #86857f;
--border-subtle: #2a2a28;
--border-hover: #3a3a38;
@@ -64,7 +79,7 @@
--text-primary: #f4f4f2;
--text-secondary: #9c9c96;
--text-muted: #6b6b66;
--text-muted: #82827c;
--border-subtle: rgba(255, 255, 255, 0.08);
--border-hover: rgba(255, 255, 255, 0.2);
@@ -97,7 +112,7 @@
--text-primary: #161614;
--text-secondary: #5a5a55;
--text-muted: #8a8a84;
--text-muted: #73736e;
--border-subtle: rgba(0, 0, 0, 0.09);
--border-hover: rgba(0, 0, 0, 0.25);
@@ -112,8 +127,8 @@
--bg-overlay: rgba(0, 0, 0, 0.98);
--text-primary: #ffffff;
--text-secondary: #888888;
--text-muted: #555555;
--text-secondary: #9e9e9e;
--text-muted: #7c7c7c;
--border-subtle: #1a1a1a;
--border-hover: #333333;
@@ -128,7 +143,7 @@
--text-primary: #000000;
--text-secondary: #475569;
--text-muted: #64748b;
--text-muted: #627083; /* 4.65:1 on the tinted header (#f6f6f1), not just on white */
--border-subtle: #eeeeee;
--border-hover: #cccccc;
@@ -144,7 +159,7 @@
--text-primary: #ede8e0;
--text-secondary: #9a9086;
--text-muted: #6b6359;
--text-muted: #8c8275;
--border-subtle: #2a2620;
--border-hover: #3a3530;
@@ -175,7 +190,7 @@
--text-primary: #f0ece4;
--text-secondary: #a09888;
--text-muted: #706858;
--text-muted: #897f6c;
--border-subtle: #2a2822;
--border-hover: #3a3830;
@@ -206,7 +221,7 @@
--text-primary: #f0ebe0;
--text-secondary: #998f80;
--text-muted: #665c50;
--text-muted: #8a7c6c;
--border-subtle: #252228;
--border-hover: #3a3540;
@@ -236,8 +251,8 @@
--bg-overlay: rgba(15, 15, 15, 0.98);
--text-primary: #e8e8e8;
--text-secondary: #888888;
--text-muted: #555555;
--text-secondary: #a5a5a5;
--text-muted: #828282;
--border-subtle: #222222;
--border-hover: #3a3a3a;
@@ -252,7 +267,7 @@
--text-primary: #111111;
--text-secondary: #475569;
--text-muted: #64748b;
--text-muted: #627083; /* 4.65:1 on the tinted header (#f6f6f1), not just on white */
--border-subtle: #e5e5e5;
--border-hover: #cccccc;