1# Brand icons
2
3The three Icon Composer projects are the source of truth for full application icons:
4
5- `dev/app-icon.icon`
6- `nightly/app-icon.icon`
7- `prod/app-icon.icon`
8
9Each project uses `text.svg` for the T3 mark and `background.svg` when the background is a vector layer. Additional layers use semantic names that describe their role and placement.
10
11Run `vp run icons:export` from the repository root to regenerate the tracked iOS, Linux, Windows, and web assets. The development web exports are also copied to `apps/web/public` for the browser favicon, web app manifest icons, and splash screen. Run `vp run icons:check` to verify that the generated assets and public copies match their sources without changing files.
12
13Exporting requires Icon Composer 2 or newer on macOS. The script selects the newest compatible exporter from Xcode or a standalone Icon Composer installation and pins design generation 26. Set `ICON_COMPOSER_TOOL` to the full path of `Icon Composer.app/Contents/Executables/ictool` to override automatic discovery.
14
15## macOS exports
16
17Icon Composer's command-line exporter does not expose the `macOS pre-Tahoe` preset. A plain command-line `macOS` export is full bleed and is not suitable for the desktop app, so the export script intentionally leaves the tracked macOS PNGs unchanged and prints a reminder after every run.
18
19After changing an Icon Composer project, open it in Icon Composer and export the macOS PNG with exactly these settings:
20
21- Platform: `macOS pre-Tahoe`
22- Appearance: `Default`
23- Size: `1024pt`
24- Scale: `1×`
25
26Save the three exports to:
27
28- `dev/app-icon.icon` -> `dev/blueprint-macos-1024.png`
29- `nightly/app-icon.icon` -> `nightly/nightly-macos-1024.png`
30- `prod/app-icon.icon` -> `prod/black-macos-1024.png`
31
32The result must be a 1024×1024 PNG with the classic macOS safe area: the opaque icon body is 824×824, inset 100 pixels on every side, with only the native Icon Composer shadow extending into the surrounding transparent canvas.
33
34To have Codex perform the native exports, paste this prompt into a task opened at the repository root:
35
36```text
37Use [@Computer](plugin://computer-use@openai-bundled) and the Icon Composer app to export the three macOS app icons in this repository.
38
39For each project below, use Platform: macOS pre-Tahoe, Appearance: Default, Size: 1024pt, and Scale: 1×, then save the PNG to the exact destination:
40
41- assets/dev/app-icon.icon -> assets/dev/blueprint-macos-1024.png
42- assets/nightly/app-icon.icon -> assets/nightly/nightly-macos-1024.png
43- assets/prod/app-icon.icon -> assets/prod/black-macos-1024.png
44
45Do not resize, composite, or otherwise post-process the exported PNGs.
46
47Verify every result is 1024×1024 and has the classic macOS safe area: an 824×824 opaque body inset 100px on every side, with only Icon Composer's native shadow extending beyond it.
48```
49
50Do not edit the generated PNG or ICO files directly.
51
52## Android launcher and splash artwork
53
54Android masks the central 72dp of a 108dp adaptive canvas, and the Android 12+ splash screen masks
55the central two thirds of a 288dp canvas, so the Icon Composer exports cannot be used directly:
56their rounded-square silhouette gets framed again and the wordmark is cropped. The Android artwork
57is instead rendered from the same Icon Composer SVG sources by `vp run icons:export:android`:
58
59- `apps/mobile/assets/android-icon-foreground.png`: the shared transparent wordmark, sized to stay
60 inside the safe zone
61- `apps/mobile/assets/android-icon-background-dev.png` and `-nightly.png`: full-bleed variant
62 artwork (blueprint grid and annotations; night sky and clouds). Production uses a solid color.
63- `apps/mobile/assets/android-splash-icon-*.png`: the two layers composed into one 288dp image, so
64 the splash mask reproduces the launcher icon's framing.
65
66Rerun the export after changing a layer SVG. `android-icon-mark.png` remains a flat silhouette for
67Android's monochrome themed icon.