-
released this
2026-08-03 20:58:25 -04:00 | 0 commits to main since this releasePer-day CalVer. Branding only — no server changes, no schema migrations. Merged via PR #117;
mainCI green onfa7ea41c(Android incl. debug assemble, web, and the image build). The Go lane correctly didn't run: nothing outsideweb/andandroid/was touched.Minstrel had no mark.
favicon.pngwas a 1×1 pixel placeholder, so every browser tab showed the blank-page glyph, and Android shipped legacy bitmaps only — modern launchers letterboxed a square instead of masking it to the device's icon shape.The mark
A Didone M whose right leg is an eighth note: stem, flag and notehead in the forest-teal accent as one object, the letter in the text colour.
It's deliberately subject-neutral. "Minstrel" pulls hard toward a lute, a bard, a troubadour — and any of those would tell someone opening the app for the first time that this is a player for renaissance-faire music rather than for everything they own. A geometric letter plus universal notation says music without saying which music. The family look arrives through the palette and the drawing, not through the subject.
It changes with its background, because it has to
Parchment on a white surface is invisible. So the letter flips with whatever it sits on, while the note keeps the accent in both — teal holds against either:
- In the app, the mark takes the surrounding text colour, so one asset serves both light and dark themes.
- In the browser tab, an SVG favicon swaps the letter's colour with your system scheme; a tab strip is chrome the app doesn't control.
- On your home screen and in iOS, the mark sits on its own dark plate, because those composite onto backgrounds we can't predict — iOS forces white behind anything transparent.
The plate colour was picked by measurement rather than taste: the note only clears the 3:1 contrast floor for graphics against the deepest obsidian, and lightening the plate would have made it worse, not better.
Android gets a proper adaptive icon
New
mipmap-anydpi-v26foreground/background layers, with the mark inside the 66dp safe zone so no launcher mask can clip it — round, squircle, teardrop, whatever your launcher uses. It also supplies a monochrome layer, so Android 13+ themed icons tint correctly with your wallpaper instead of falling back to a generic badge.Install
- Install the attached signed APK for the new launcher icon.
- Redeploy the server image to pick up the web favicon and header mark. Optional if you only care about the app icon — this release carries no server changes.
Verify
CI covered lint, resource compilation, unit tests and a full debug assemble. These are the parts it can't reach:
- Your launcher. Long-press the icon, check it isn't clipped, and if you use themed icons confirm it tints rather than falling back.
- Your tab strip. The mark should be legible at 16px among other tabs, and the letter should invert if you switch your system between light and dark.
- The header, on both themes — the letter should flip while the note stays teal.
Also
The house design system gained the principle behind this work: a mark's subject must not imply something narrower than what the app actually holds, and non-text graphics must meet 3:1 by measurement rather than by eye. The previous wording banned a vocabulary; two drafts of this mark satisfied that ban and still failed the intent.
🤖 Generated with Claude Code
Downloads