3.5 KiB
3.5 KiB
Battle UI Icon V2 Action and Item Batch
Date: 2026-07-17
Scope
This batch replaces the most visible low-detail combat and consumable icons with project-original late-Han-inspired raster art:
| Icon | Atlas frame | Runtime use |
|---|---|---|
| attack | 4 | command menu, target selection, combat preview |
| hit | 16 | target selection and combat preview |
| critical | 17 | combat preview and result metadata |
| counter | 19 | combat preview |
| fire | 24 | fire strategy menus and previews |
| bean | 27 | battle item, sortie supply, camp supply and merchant UI |
| salve | 28 | battle item, sortie supply, camp supply and merchant UI |
| wine | 29 | battle item, sortie supply, camp supply and merchant UI |
The existing 5x6 atlas contract is preserved. Pixel comparison against the previous tracked atlas confirms that only frames 4, 16, 17, 19, 24, 27, 28, and 29 changed.
Art Direction and Generation
- Generation mode: built-in image generation, one focused generation per icon.
- Common direction: original hand-painted tactical-game UI art, compact silhouette, heavy dark outline, three to five value groups, upper-left lighting, and a restrained iron, bronze, crimson, and ochre palette.
- Runtime readability: each subject occupies about 78% of its transparent master and avoids baked frames, text, logos, watermarks, shadows, and extra objects.
- Prompt subjects: crossed Han-era blades, an arrowed bronze target, a bright critical slash, a shield with a returning arrow, a burning strategy scroll, a bean pouch, a sealed medicine jar, and a corded wine gourd.
- Alpha extraction: flat
#00ff00chroma background removed with soft matte, despill, and one-pixel edge contraction. - Copyright constraint: all assets are project-specific originals and do not reproduce copyrighted source art or logos.
Runtime Pipeline
battle-ui-icons.png: 128px HQ frames for icons displayed above 30px.battle-ui-icons-micro.png: 32px prefiltered frames with a protected one-pixel edge for icons displayed at 30px or below.battleUiIconTextureForSize()selects the correct atlas at runtime.- Every battle usable now declares an explicit icon key; the three consumables use dedicated frames instead of the generic heal/accessory icon.
- Camp supply assignment, supply use, and merchant rows use the same dedicated consumable icon mapping.
- The atlas builder validates transparent sources, safe edges, non-empty micro frames, and emits the comparison proof automatically.
Outputs
- HQ atlas:
src/assets/images/ui/battle-ui-icons.png - Micro atlas:
src/assets/images/ui/battle-ui-icons-micro.png - Transparent masters:
src/assets/images/ui/icon-sources/battle-ui-v2/*.png - Runtime-size comparison:
docs/battle-ui-icons-v2-action-item-contact.png - Rebuild command:
pnpm run generate:battle-ui-icons
Verification
- All eight masters are 1254x1254 RGBA PNGs with transparent corners and no detected green fringe.
- Comparison proof checked at 14, 20, 30, 34, 52, and 70px.
pnpm run verify:visual-assetspassed.pnpm run verify:battle-usablespassed.pnpm run verify:static-datapassed.pnpm run buildpassed.pnpm run verify:releasepassed, including new-game, reload/continue, defeat retry, victory, and camp-return flows.- Desktop browser checks passed at 1280x720 for the command menu, battle item menu, target selection, combat preview, sortie supply assignment, camp supply rows, and merchant rows.
- Both atlases loaded successfully and no browser console errors were observed.
- Independent read-only review found no remaining blockers.