# Interface icons (high-res) Generated on 2026-11-07 with `fal-ai/nano-banana-pro` (`resolution: 2K`, one image per sheet, `aspect_ratio: 21:9` for the 5-column sheets, `16:9` for the spells). `batch.py` holds the prompts: the shared text below followed by the numbered icon descriptions. ```text A sheet of game icons for a dark-fantasy dungeon strategy game, arranged in a grid of {cols} columns and {rows} rows, every icon centred in its own equal square cell and filling about 80 percent of it, all icons the same size and in the same style: hand-painted pixel art, chunky clear shapes, crisp edges, a dark near-black outline, rich but slightly muted colours, readable at small size, light from the upper left. The background is a completely flat pure magenta (#FF00FF) everywhere, also between the icons - no frames, no grid lines, no cell borders, no text, no labels, no numbers. The icons, in reading order (left to right, top to bottom): ``` ## tools (5x2) - `I_PICK`: a pickaxe for digging - `I_HAND`: a clawed green monster hand reaching to grab - `I_SELL`: a small pile of gold coins with a curved arrow (selling) - `I_FLAG`: a red rally flag on a pole - `I_BOLT`: a yellow lightning bolt - `I_HEAL`: a glowing green healing cross with sparkles - `I_SUMMON`: a glowing violet summoning circle with a small imp silhouette - `I_BRIDGE`: a small wooden plank bridge arch - `I_WALL`: a block of grey stone wall with an upward arrow - `I_STEEL`: a riveted dark steel wall plate ## towers (5x2) - `I_ARROW`: a small wooden watchtower with an arrow - `I_CANNON`: a squat stone tower with a black cannon - `I_MAGIC`: a slender dark tower with a glowing purple orb on top - `I_RUNE`: a dark stone obelisk with a glowing red rune and bronze bands - `I_DRAWBRIDGE`: a raised wooden drawbridge with chains over water - `I_RAM`: a battering ram: a tree trunk with an iron cap under a small wooden roof on wheels - `I_CATAPULT`: a wooden catapult with a stone in its arm - `I_ORDERS`: two crossed swords (attack order) - `I_ORDERS+1`: a round shield (guard order) - `I_FREEZE`: a glowing pale-blue snowflake (frost spell) ## traps (5x2) - `I_TRAPS`: a floor trap with sharp metal spikes - `I_TRAPS+1`: a floor vent puffing a green poison cloud - `I_TRAPS+2`: a floor nozzle shooting a jet of fire - `I_TRAPS+3`: a big round rolling boulder - `I_TRAPS+4`: a brass alarm bell - `I_TRAPS+5`: a glowing red rune mine on the floor - `I_TRAPS+6`: a floor trap with a glowing blue frost crystal - `I_TRAPS+7`: a wooden door with iron hinges - `I_TRAPS+8`: a heavy iron door with rivets - `I_TRAPS+9`: a magic door glowing with purple runes ## spells (4x2) - `I_SPELLS`: a glowing all-seeing eye (seer's eye spell) - `I_SPELLS+1`: falling rocks from a cracked ceiling (cave-in spell) - `I_SPELLS+2`: a winged boot (haste spell) - `I_SPELLS+3`: a fist of grey stone (stoneskin spell) - `I_SPELLS+4`: gold coins raining down (gold rain spell) - `I_SPELLS+5`: a fading translucent ghostly figure (invisibility spell) - `I_SPELLS+6`: a green skull in a sickly cloud (plague spell) - `I_SPELLS+7`: cracked shaking ground with rocks jumping (quake spell) ## Processing `tools/cut_icons.py -raw.png --grid 2x5` (spells `--grid 2x4`) keys out only nearly pure magenta (violet glows stay), crops every icon, centres it in a square and scales it to 64x64 and 128x128 with hard alpha. The strips go to `assets/textures/icons/`; the game puts them into the high-res atlases' icon cells (`HD_ICONS` in `src/gfx.rs`).