docs/icon.md
We use the new macOS 26 “glass” .icon bundle from Icon Composer/IconStudio and convert it to .icns via Xcode’s hidden CLI (ictool/icontool), without an Xcode project.
Scripts/build_icon.sh ICON.icon CodexBar [outdir]
What it does:
ictool (or icontool) in /Applications/Xcode.app/Contents/Applications/Icon Composer.app/Contents/Executables/..icon to an 824×824 PNG (inner art, glass applied)..iconset.iconutil -c icns → Icon.icns.Requirements:
sips and iconutil (system tools).Usage:
./Scripts/build_icon.sh Icon.icon CodexBar
Outputs Icon.icns at repo root.
Why this approach:
sips/iconutil from raw PNGs often leaves a white/grey plate because the inner art is full-bleed. The ictool render + transparent padding matches Xcode’s asset-pipeline output.Notes:
XCODE_APP=/path/to/Xcode.app before running.