feat: upgrade combat and item icons

This commit is contained in:
2026-07-17 21:25:57 +09:00
parent e92535165d
commit eb41c05f60
19 changed files with 437 additions and 42 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

View File

@@ -0,0 +1,59 @@
# 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 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.