forked from 1b-agent/fieldcraft-upstream
A push to the release branch (or workflow_dispatch) builds the macOS universal dmg and CLI zip, the Linux tar.gz and AppImage and the Windows zip, with the version from Cargo.toml. The last job checks the set, writes SHA256SUMS.txt and notes saying how the macOS app was signed, and creates or updates a draft release; it never publishes. Off the release branch it only uploads the files as a run artifact (dry run). macOS signing and notarization use the APPLE_* secrets when they exist and fall back to ad-hoc signing (#72). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm
30 lines
2.1 KiB
Markdown
30 lines
2.1 KiB
Markdown
# FieldCraft application icon
|
||
|
||
FieldCraft's mark is an L-shaped bracket with a bolt hole, drawn in isometric view and covered
|
||
by a structured hexahedral mesh with an O-grid around the hole. Its faces are separated by
|
||
transparent gaps rather than painted edge lines, so the backdrop shows through them in every
|
||
appearance. It is original artwork, attributed in `ATTRIBUTION.md`, and shares the Craft
|
||
family's layout (rounded-square backdrop, isometric floor grid, lit top faces) in its own teal.
|
||
|
||
Everything here is generated by `cargo xtask app-icon` (`xtask/src/app_icon.rs`), which computes
|
||
the geometry and draws it with VectorCraft's command-line tool (`VECTORCRAFT_CLI`, else
|
||
`vectorcraft-cli` on the PATH). Change the recipe there and rerun it; do not edit the exports by
|
||
hand. It runs on macOS (sips, iconutil, `xcrun actool`) with ImageMagick (`magick`) installed.
|
||
|
||
| File | What it is |
|
||
|---|---|
|
||
| `icon.vectorcraft`, `icon.svg`, `icon.png` | The full icon on its backdrop, 1024 × 1024 |
|
||
| `icon-small.vectorcraft`, `icon-small.svg`, `icon-small.png` | Small-size artwork used at 16–32 px: no mesh or floor grid, faces edge to edge |
|
||
| `icon.iconset/`, `icon.icns` | macOS iconset (sips) and its iconutil compilation |
|
||
| `icon.ico` | Windows icon, 16–256 px |
|
||
| `FieldCraft.icon/` | Icon Composer document: floor grid (Default and Dark), part and mesh layers, each scaled to 90% |
|
||
| `layers/*.vectorcraft` | Editable sources of the Icon Composer layers |
|
||
| `Assets.car` | `actool` compilation of `FieldCraft.icon` for macOS 26 and later (needs Xcode 26 or later; the task skips it with a note otherwise) |
|
||
|
||
The desktop app embeds `icon.iconset/icon_128x128@2x.png` as its window and Dock icon
|
||
(`apps/fieldcraft/src/main.rs`). The release packages (docs/releasing.md) use the rest:
|
||
`packaging/macos/package.sh` copies `Assets.car` and `icon.icns` (as `FieldCraft.icns`) into
|
||
`FieldCraft.app/Contents/Resources`, named by `CFBundleIconName` / `CFBundleIconFile`;
|
||
`apps/fieldcraft/build.rs` embeds `icon.ico` in `fieldcraft.exe`; and
|
||
`packaging/linux/package.sh` installs the iconset PNGs as the hicolor icons.
|