Commit graph

2 commits

Author SHA1 Message Date
e5fc0a1d35 icons: ship the leather mark, with a simplified version for tab size
Christian's leather patch art is the app icon at 180px and up. It cannot be
the favicon: leather grain and stitching turn to mud below 48px, and the
pulse is black on brown, which is not enough contrast in a tab bar.

So the set is two-tier. Sizes 180 and above come from the leather art;
16, 32, 48 and the .ico come from a flat source whose spike geometry was
measured off the original (left tail at 52% height, peak at 42% width,
trough at 54%, right tail at 84%). Same colours sampled from the leather
body, so the small mark reads as the same object rather than a different
logo.

make_icons.py gained --small-from for this: one command builds both tiers.

Signed-off-by: Christian Sass <csass@binaryranch.com>
2026-10-21 22:24:01 -05:00
52885cad78 icons: one mark in, every size out, and a place to serve them
Three surfaces were showing generated identicons: the forge org avatar
(which is what Discord unfurls), the GitHub org avatar, and the browser
tab, because the app shipped no favicon at all.

make_icons.py turns one SVG or PNG into the seven sizes plus a
multi-resolution favicon.ico. The server now serves /favicon.ico and
/icons/*.png from icons/ when they exist, and index.html asks for them,
so dropping the real mark into icons/ is the whole integration.

Co-developed-with: CLU <clu@binaryranch.com>
2026-10-21 13:35:45 -05:00