Files
lightcraft/assets/app-icon/README.md
T
Andrew FrahnandClaude Opus 5.5 6cbc0eb5a9 Phase 0: configurable brand, MIT licence, plan/ and Immich tracker
- brand.toml is the only place the product name lives; every crate and app
  reads it through dac-brand (env vars with legacy fallback, settings folder
  with copy-only migration, default library, preset extensions, i18n {app})
- cargo xtask brand check|test, run|install|package, docs, rename-crates,
  deny and immich; packaging files are templates rendered from brand.toml
- icons regenerated from brand/icon.svg; upstream branding removed
- MIT licence (segment and fetch stay Apache-2.0); cargo deny licence policy
- clean-room rules in AGENTS.md/CLAUDE.md; docs/upstream-merge.md
- plan/ rebuilt and committed; parity tracker reopens Classic rows, adds
  PLAN.md section 2 rows and the IMM Immich section; plan/immich.md and a
  pinned Immich test server

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-10 10:30:06 +11:00

21 lines
1.1 KiB
Markdown

# App icon
Every file here is generated from `brand.toml`'s `icon_svg` (`brand/icon.svg`) by `packaging/icons.sh`.
Do not edit them by hand: change the SVG (or point `icon_svg` at another one) and rerun the script.
| File | What |
|---|---|
| `app-1024.png` | 1024 px render (store listings, docs) |
| `app-macos-512.png` | runtime window/Dock icon on macOS (embedded by `apps/app/src/main.rs`); Apple's grid, with a transparent margin |
| `app.icns` | macOS bundle icon (`CFBundleIconFile`) |
| `app.ico` | Windows icon, 16-256 px, embedded in the executable by `apps/app/build.rs` |
| `hicolor/<n>x<n>/apps/app.png` | Linux icon theme, 16-512 px; the 256 px one is also the runtime window icon on Windows and Linux |
| `hicolor/scalable/apps/app.svg` | Linux scalable icon (a copy of the source SVG) |
Packaging installs the hicolor icons under the brand's app id (`packaging/env.sh` `install_icons`).
## Regenerate
`packaging/icons.sh` needs `resvg` (or `rsvg-convert`); the `.icns` needs `iconutil` (macOS) or Python Pillow,
and the `.ico` is packed by `cargo xtask ico`. Every output is committed.