Add raster panel icon family
Some checks failed
Build: Android / Android Rust Core Stub (push) Failing after 25s
Build Rust / Cargo Test (push) Successful in 4m2s
Build Site / Next.js Build (push) Failing after 4s
Lint Governance / BEP Metadata (push) Successful in 2s

This commit is contained in:
Conrad Kramer 2026-06-08 00:20:25 -07:00
parent c81712b781
commit 60cc48a4b7
278 changed files with 1992 additions and 621 deletions

View file

@ -1,50 +1,46 @@
# Burrow Brand Source
`burrow-owl-icon-master.png` is the current generated master for the Burrow app
icon. The mark centers a leg-forward burrowing owl in a dark brown/black field
with minimal warm brown and gold accents.
`design/brand/panel-variants/source-sheet.png` is the locked icon style sheet.
The six cropped PNG masters in `design/brand/panel-variants/` are the canonical
app icon source. Do not redraw these as SVG; regenerate platform outputs from
the raster panel masters.
The editable source is split by intent:
`Scripts/generate-brand-icons.py` owns all generated outputs:
- `burrowing-owl-icon-source.svg` is the human-readable vector source.
- `icon-layers/*.svg` are the transparent source layers used to regenerate the
Icon Composer package.
- `Burrow.icon` is the Icon Composer document. Keep it to three broad raster
layers: `burrow-ground`, `owl-figure`, and `owl-legs`.
- `burrowing-owl-concept-v2.png` is reference art only; do not use it directly
as an app icon.
- `Apple/UI/Assets.xcassets/AppIcon.appiconset`: primary iOS and macOS app
icons at exact asset-catalog dimensions.
- `Apple/UI/Assets.xcassets/BurrowPanel*.appiconset`: iOS alternate app icons.
- `Apple/UI/Assets.xcassets/BurrowPanel*Preview.imageset`: in-app selector
previews.
- `design/brand/watchos/AppIcon.appiconset`: watchOS reference app icon catalog
using the selected watchOS panel.
- `Android/app/src/main/res/mipmap-*`: Android launcher PNGs.
- `store-metadata/android/icon.png`: Google Play icon.
- `burrow-gtk/data/icons/hicolor/{16,24,32,48,64,128,256,512}/apps`: Linux
hicolor PNGs.
- `design/brand/low-res`: low-resolution QA exports and preview strips.
That layer count is intentional. The identifying cue is the long Burrowing Owl
leg silhouette, so Icon Composer should receive broad shape planes instead of
small decorative SVG layers. Face and spot details are flattened into
`owl-figure.png`; the legs stay in the front layer so they survive small sizes.
Platform picks:
Regenerate the Icon Composer layer assets and Apple app icon PNGs with:
- iOS primary: `panel-01-guardian`
- iOS alternates: `panel-02-field`, `panel-03-burrow`, `panel-04-sentinel`,
`panel-05-stride`, `panel-06-post`
- macOS primary: `panel-05-stride`
- watchOS primary: `panel-03-burrow`
- Android primary: `panel-01-guardian`
- Linux primary: `panel-01-guardian`
Regenerate all package assets from existing masters with:
```bash
for src in design/brand/icon-layers/*.svg; do
name="$(basename "$src" .svg)"
sips -s format png "$src" --out "design/brand/Burrow.icon/Assets/${name}.png" >/dev/null
done
magick \
design/brand/Burrow.icon/Assets/owl-body.png \
design/brand/Burrow.icon/Assets/owl-face.png \
design/brand/Burrow.icon/Assets/owl-spots.png \
-background none -layers merge -strip \
PNG32:design/brand/Burrow.icon/Assets/owl-figure.png
"/Applications/Xcode/Xcode.app/Contents/Applications/Icon Composer.app/Contents/Executables/ictool" \
design/brand/Burrow.icon \
--export-image \
--output-file design/brand/burrow-owl-icon-master.png \
--platform iOS \
--rendition Default \
--width 1024 \
--height 1024 \
--scale 1
for f in Apple/UI/Assets.xcassets/AppIcon.appiconset/*.png; do
size="$(basename "$f" .png)"
magick design/brand/burrow-owl-icon-master.png -colorspace sRGB -resize "${size}x${size}!" -strip "PNG24:$f"
done
Scripts/generate-brand-icons.py
```
If the locked source sheet changes, extract fresh 1024px masters and regenerate
with:
```bash
Scripts/generate-brand-icons.py --extract-from /path/to/source-sheet.png
```
Run low-resolution export QA with:
@ -53,12 +49,9 @@ Run low-resolution export QA with:
Scripts/check-brand-icon-lowres.sh
```
The script writes `design/brand/low-res/`, including:
Review these after every icon change:
- `burrow-icon-{16,20,24,29,32,40,48,64,80,128,256}.png`
- `preview-strip.png`, a 256-to-16px visual strip scaled up for inspection
- `pixel-preview-strip.png`, a nearest-neighbor strip for 32px and below
- `report.csv`, with color-count and grayscale-contrast checks
Sizes that overlap `Apple/UI/Assets.xcassets/AppIcon.appiconset/` should remain
pixel-identical to the generated app catalog assets.
- `design/brand/panel-variants/preview-strip.png`
- `design/brand/low-res/preview-strip.png`
- `design/brand/low-res/pixel-preview-strip.png`
- `design/brand/low-res/report.csv`