* fix(branding): regenerate raster favicons — white mark was shipped without its gradient tile
favicon.ico, icon-512.png and apple-touch-icon.png contained only the
white network mark on a transparent background: every opaque pixel was
pure #FFFFFF, with no trace of the red gradient tile that favicon.svg
and apple-touch-icon.svg define. On light browser tab strips and
bookmark bars the icon therefore rendered as a blank white square.
Regenerate all three assets from the canonical SVG sources:
- favicon.ico: same 7 frames as before (16–256), each rasterized from
the vector at native size, stored as PNG frames — 141 KB → 16 KB
- icon-512.png: rendered from favicon.svg with the gradient tile
- apple-touch-icon.png: rendered from apple-touch-icon.svg at the
180×180 size layout.tsx declares (the shipped file was 512×512)
Add scripts/ad-hoc/generate-brand-icons.mjs so the raster assets can be
reproduced from the SVGs (byte-identical) instead of drifting again.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix(branding): keep standalone PNGs truecolor; palette-quantize only ICO frames
Review feedback (gemini-code-assist): 8-bit palette quantization
measurably clips the antialiased gradient on large assets — 1242 → 253
distinct colors at 512px. Make palette opt-in per render: ICO frames
keep it (16 KB container), icon-512.png and apple-touch-icon.png are
now truecolor (+9 KB total).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>