From 24985c949f6f676d56db15c24630141826ee4189 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Fri, 1 May 2026 23:05:29 -0400 Subject: [PATCH] feat(web): redesign FALLBACK_COVER as a beamed-pair glyph MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous placeholder was a single off-tilt eighth-note silhouette in muted pewter on slate — readable but plain. Replaces it with two filled note heads connected by a slanted beam (bolder, more recognisable as 'this is a music placeholder'). Keeps it muted enough to read as placeholder rather than real content, in line with the FabledSword understated palette. Same inline SVG data URL pattern (no extra HTTP round-trip), same 100x100 viewBox so all existing call sites are unaffected. Co-Authored-By: Claude Opus 4.7 (1M context) --- web/src/lib/media/covers.ts | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/web/src/lib/media/covers.ts b/web/src/lib/media/covers.ts index 1f46f404..7c53acab 100644 --- a/web/src/lib/media/covers.ts +++ b/web/src/lib/media/covers.ts @@ -1,13 +1,24 @@ -// Fallback cover — an inline SVG data URL showing a music-note glyph on the -// surface color. Used by AlbumCard's onerror handler when the real cover -// fails (e.g. scanner didn't pick up an embedded image and there's no -// sidecar). Data URL avoids an extra HTTP round-trip. +// Fallback cover — an inline SVG data URL showing a beamed-eighth-notes +// glyph on a slate field. Used by AlbumCard / CompactTrackCard / PlayerBar's +// onerror handler when the real cover fails (e.g. scanner didn't pick up +// embedded art and there's no sidecar). Data URL avoids an extra HTTP +// round-trip; SVG keeps it crisp at any size we render. +// +// The glyph is two filled note heads connected by a slanted beam — bolder +// and more recognisable than a single-note silhouette, while staying muted +// enough to read as a placeholder rather than real content. export const FALLBACK_COVER = 'data:image/svg+xml;utf8,' + encodeURIComponent( - ` + ` - + + + + + + + ` );