Finalize macOS icon appearances and Composer sizing (#426)

This commit is contained in:
Nathan Dane authored and GitHub committed 2026-10-12 18:45:14 -04:00
1 parent 3938e267bb
commit b447adafaa
9 files changed
+106 -123

No files matched your search

+11 -18
View File
@@ -1,9 +1,11 @@
# SolidCraft macOS icon
`SolidCraft.icon/` is the approved Icon Composer source, containing separate
background, grid and solid SVG layers and the owner's appearance settings.
The white edges are clipped to the solid silhouette. Artwork is original and
attributed in `ATTRIBUTION.md`.
grid and solid SVG layers and the owner's appearance settings. The saturated
blue solid has transparent geometry cutouts instead of painted edge lines.
The solid and grid are both scaled to 90%, with separate Default and Dark grid artwork.
Icon Composer supplies the system backdrop and Mono material effects.
Artwork is original and attributed in `ATTRIBUTION.md`.
`Assets.car` is compiled by Apple's `actool` and supplies the layered icon on
macOS 26 and later. It is checked in so the existing release workflow can still
@@ -18,23 +20,14 @@ xcrun actool assets/SolidCraft.icon \
--output-partial-info-plist target/macos-icon/icon-info.plist \
--output-format human-readable-text
cp target/macos-icon/Assets.car assets/Assets.car
cp target/macos-icon/SolidCraft.icns assets/icon.icns
```
`icon.vectorcraft` and `icon.svg` preserve the traditional artwork before
Icon Composer's system material effects. `icon.png` is its transparent 1024 px
VectorCraft export with native rounded corners and optical padding. The
`icon.iconset/` variants and `icon.icns` provide the older-macOS fallback.
After re-exporting the traditional PNG, regenerate them with Apple's tools:
```sh
for s in 16 32 128 256 512; do
sips -z "$s" "$s" assets/icon.png \
--out "assets/icon.iconset/icon_${s}x${s}.png" >/dev/null
sips -z "$((s * 2))" "$((s * 2))" assets/icon.png \
--out "assets/icon.iconset/icon_${s}x${s}@2x.png" >/dev/null
done
iconutil -c icns -o assets/icon.icns assets/icon.iconset
```
`icon.icns` is the older-macOS fallback generated by the same Apple compiler
from the approved composition, retaining its layer sizes and positions.
Regenerate both compiled resources together with the commands above.
`icon.vectorcraft`, `icon.svg`, `icon.png` and `icon.iconset/` retain the earlier
VectorCraft artwork; packaging uses the Icon Composer compilation instead.
Only `packaging/macos/package.sh` consumes these resources. Its existing signed
app/DMG workflow copies the catalog and ICNS into `Contents/Resources`, and