Files
heros_web/docs/battle-ui-icons-v2-action-item-report.md

3.6 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 #00ff00 chroma 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-assets passed.
  • pnpm run verify:battle-usables passed.
  • pnpm run verify:static-data passed.
  • pnpm run build passed.
  • pnpm run verify:release passed, including new-game, reload/continue, defeat retry, victory, and camp-return flows.
  • Desktop browser checks passed on 2026-07-17 at an explicit 1920x1080 CSS viewport, 100% browser zoom, and DPR 1 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.