mirror of
https://github.com/storytold/lightcraft.git
synced 2026-11-08 01:19:40 -06:00
- 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>
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.