diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 30e18bb3..2fdfe7ee 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -19,13 +19,13 @@ Generated-in-code assets are original and have no file to list: |---|---|---|---| | assets/icon.svg | SolidCraft contributors | original macOS adaptation of the code-drawn SolidCraft mark, edited and exported with VectorCraft; Apple HIG and production templates consulted as layout references only | MIT OR Apache-2.0 | | assets/SolidCraft.icon/icon.json | SolidCraft contributors | approved Icon Composer composition and appearance settings for the original SolidCraft artwork | MIT OR Apache-2.0 | -| assets/SolidCraft.icon/Assets/01-background.svg | SolidCraft contributors | original full-square porcelain background exported from VectorCraft for system masking | MIT OR Apache-2.0 | | assets/SolidCraft.icon/Assets/02-grid.svg | SolidCraft contributors | original perspective grid with elliptical radial alpha, exported from VectorCraft | MIT OR Apache-2.0 | -| assets/SolidCraft.icon/Assets/03-solid.svg | SolidCraft contributors | original blue CAD solid with white edges clipped to its silhouette, exported from VectorCraft | MIT OR Apache-2.0 | +| assets/SolidCraft.icon/Assets/02-grid-dark.svg | SolidCraft contributors | original blue perspective grid with elliptical radial alpha, exported from VectorCraft for the Dark appearance | MIT OR Apache-2.0 | +| assets/SolidCraft.icon/Assets/03-solid-blue-cutout.svg | SolidCraft contributors | original saturated blue CAD solid with transparent topology cutouts, edited and exported with VectorCraft | MIT OR Apache-2.0 | | assets/Assets.car | SolidCraft contributors | Apple actool compilation of assets/SolidCraft.icon for macOS; contains original artwork only | MIT OR Apache-2.0 | | assets/icon.vectorcraft | SolidCraft contributors | editable VectorCraft source for assets/icon.svg, with named face and background layers | MIT OR Apache-2.0 | | assets/icon.png | SolidCraft contributors | 1024 × 1024 transparent sRGB export of assets/icon.svg from VectorCraft | MIT OR Apache-2.0 | -| assets/icon.icns | SolidCraft contributors | traditional macOS fallback packaged from assets/icon.png by Apple's iconutil | MIT OR Apache-2.0 | +| assets/icon.icns | SolidCraft contributors | macOS fallback compiled by Apple's actool from the approved assets/SolidCraft.icon composition | MIT OR Apache-2.0 | | assets/icon.iconset/icon_16x16.png | SolidCraft contributors | native sips export from assets/icon.png | MIT OR Apache-2.0 | | assets/icon.iconset/icon_16x16@2x.png | SolidCraft contributors | native sips export from assets/icon.png | MIT OR Apache-2.0 | | assets/icon.iconset/icon_32x32.png | SolidCraft contributors | native sips export from assets/icon.png | MIT OR Apache-2.0 | diff --git a/assets/Assets.car b/assets/Assets.car index 0ebc5605..6cf5b24c 100644 Binary files a/assets/Assets.car and b/assets/Assets.car differ diff --git a/assets/README.md b/assets/README.md index 483d3031..7600437d 100644 --- a/assets/README.md +++ b/assets/README.md @@ -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 diff --git a/assets/SolidCraft.icon/Assets/01-background.svg b/assets/SolidCraft.icon/Assets/01-background.svg deleted file mode 100644 index 69c86349..00000000 --- a/assets/SolidCraft.icon/Assets/01-background.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - Untitled-2 - - - - diff --git a/assets/SolidCraft.icon/Assets/02-grid-dark.svg b/assets/SolidCraft.icon/Assets/02-grid-dark.svg new file mode 100644 index 00000000..102a21af --- /dev/null +++ b/assets/SolidCraft.icon/Assets/02-grid-dark.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + SolidCraft macOS application icon + + + + + diff --git a/assets/SolidCraft.icon/Assets/03-solid-blue-cutout.svg b/assets/SolidCraft.icon/Assets/03-solid-blue-cutout.svg new file mode 100644 index 00000000..17518d8f --- /dev/null +++ b/assets/SolidCraft.icon/Assets/03-solid-blue-cutout.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + SolidCraft • blue cutout 36 pt + + + + + + + + diff --git a/assets/SolidCraft.icon/Assets/03-solid.svg b/assets/SolidCraft.icon/Assets/03-solid.svg deleted file mode 100644 index f9fbe5da..00000000 --- a/assets/SolidCraft.icon/Assets/03-solid.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - Untitled-2 - - - - - - - - - - - - diff --git a/assets/SolidCraft.icon/icon.json b/assets/SolidCraft.icon/icon.json index 5296c3a0..610452ae 100644 --- a/assets/SolidCraft.icon/icon.json +++ b/assets/SolidCraft.icon/icon.json @@ -7,11 +7,18 @@ "glass-specializations" : [ { "appearance" : "tinted", - "value" : false + "value" : true } ], - "image-name" : "03-solid.svg", - "name" : "03-solid" + "image-name" : "03-solid-blue-cutout.svg", + "name" : "03-solid-blue-cutout", + "position" : { + "scale" : 0.9, + "translation-in-points" : [ + 0, + 0 + ] + } } ], "name" : "03 Solid", @@ -28,28 +35,57 @@ { "layers" : [ { + "blend-mode-specializations" : [ + { + "appearance" : "dark", + "value" : "normal" + } + ], "fill" : "none", "glass-specializations" : [ { - "value" : true + "value" : false + }, + { + "appearance" : "dark", + "value" : false }, { "appearance" : "tinted", - "value" : false + "value" : true } ], "hidden" : false, - "image-name" : "02-grid.svg", + "image-name-specializations" : [ + { + "value" : "02-grid.svg" + }, + { + "appearance" : "dark", + "value" : "02-grid-dark.svg" + } + ], "name" : "02-grid", "opacity-specializations" : [ { "value" : 1 }, + { + "appearance" : "dark", + "value" : 1 + }, { "appearance" : "tinted", "value" : 1 } - ] + ], + "position" : { + "scale" : 0.9, + "translation-in-points" : [ + 0, + 0 + ] + } } ], "name" : "02 Grid", @@ -62,48 +98,6 @@ "enabled" : false, "value" : 0.3 } - }, - { - "layers" : [ - { - "fill" : "none", - "glass" : false, - "hidden" : false, - "image-name" : "01-background.svg", - "name" : "01-background", - "position-specializations" : [ - { - "value" : { - "scale" : 1, - "translation-in-points" : [ - 0, - 0 - ] - } - }, - { - "idiom" : "watchOS", - "value" : { - "scale" : 1.09, - "translation-in-points" : [ - 0, - 0 - ] - } - } - ] - } - ], - "name" : "01 Background", - "shadow" : { - "kind" : "none", - "opacity" : 0 - }, - "specular" : false, - "translucency" : { - "enabled" : false, - "value" : 0.3 - } } ], "supported-platforms" : { diff --git a/assets/icon.icns b/assets/icon.icns index 561f60d0..50375ccf 100644 Binary files a/assets/icon.icns and b/assets/icon.icns differ