forked from 1b-agent/fieldcraft-upstream
cargo xtask app-icon computes an isometric L bracket with a bolt hole and a structured hexahedral mesh (O-grid around the hole), draws it with vectorcraft-cli and writes icon.svg/png, small-size artwork, the iconset, icns, ico, an Icon Composer ModelCraft.icon (floor grid Default/Dark, part, mesh) and its actool Assets.car. The desktop app uses the 256 px export as its window icon, falling back to eframe's default if it cannot be decoded. Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm Co-authored-by: jyviko <2501648+jyviko@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
28 lines
1.9 KiB
Markdown
28 lines
1.9 KiB
Markdown
# ModelCraft application icon
|
||
|
||
ModelCraft'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 |
|
||
| `ModelCraft.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 `ModelCraft.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/modelcraft/src/main.rs`). There is no macOS bundle yet; packaging will copy
|
||
`Assets.car` and `icon.icns` into `Contents/Resources` and name `ModelCraft` in
|
||
`CFBundleIconName` / `CFBundleIconFile`.
|