# Brand assets Logo and icon assets for Arboretum. Source artwork is a neon circuit-tree (green branches, cyan session nodes, a `>_` prompt at the base) on a dark background. | File | Use | | --- | --- | | `arboretum-logo-source.png` | Master artwork (opaque dark background). Keep; everything else derives from it. | | `arboretum-logo.png` | Full logo, **transparent**. Best on dark surfaces (the wordmark is light). | | `arboretum-logo-on-dark.png` | Full logo on a dark backdrop (`#09090b`, the app's dark theme; the UI now also ships a light theme on `#fafafa`). Safe on any theme, used in the README. | | `arboretum-mark.png` | Square, **transparent**, tree only (no wordmark). Ideal **Gitea repo avatar**, reads on both light and dark. | The transparent versions are extracted by luminance (alpha ∝ brightness), the clean way to lift glow-on-black artwork: the dark background becomes fully transparent, the bright strokes stay opaque, and the glow halos stay semi-transparent so the logo sits correctly on any dark surface. ## Gitea Upload `arboretum-mark.png` as the repository avatar (Settings → uploads a square image; the tree-only mark stays legible at small sizes and works on Gitea's light and dark themes). Use `arboretum-logo.png` (transparent) on dark pages, or `arboretum-logo-on-dark.png` when the surrounding background might be light. ## App / favicon assets The web-facing assets live in `packages/web/public/` and are wired into the SPA: - `icon.svg`: scalable favicon, redrawn to match the brand (vector, glow, `>_`). - `icon-192.png` / `icon-512.png`: maskable PWA icons (tree on `#09090b`, content in the safe zone). - `apple-touch-icon.png`: iOS home-screen icon (180×180). - `favicon.ico`: multi-size favicon (16/32/48), transparent. - `logo.png`: transparent full logo for in-app use. ## Regenerate ```bash python3 brand/build-assets.py # uses brand/arboretum-logo-source.png python3 brand/build-assets.py other.png # or pass another source ``` Requires Python with Pillow + numpy. Writes both `brand/` and `packages/web/public/`.