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 <[email protected]> Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm
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/[email protected] 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.