Files
heros_web/docs/equipment-icon-quality-audit.md

87 lines
5.4 KiB
Markdown

# Equipment Icon Quality Audit
Generated by `scripts/audit-equipment-icon-quality.mjs`.
## Summary
- Catalog items: 23
- Generated procedural item textures: 23
- Slots: accessory 7, armor 5, weapon 11
- Ranks: common 11, treasure 12
- Texture size: 64px
- Drawing grid: 28 units scaled 2.29x into the texture
- Runtime item icon scene: `src/game/scenes/CampScene.ts`
- Observed runtime display sizes: `14px`
- Direct item texture render sites found: 5
- Browser visual QA baseline: `1920x1080` CSS viewport at 100% zoom
## Main Findings
- Equipment item icons are generated at runtime in `BootScene`, not stored as individual raster images.
- The 64px textures are drawn from a compact 28-unit source grid, so they are crisp but intentionally simple.
- Battle combat preview mostly uses the high-resolution `battle-ui-icons` slot frames and item names; per-item textures appear primarily in camp/sortie equipment UI.
- Treasure/common distinction often relies on UI frame color plus a small palette change, not a strong unique silhouette.
- Reused helper silhouettes are the strongest quality risk because several different items collapse to the same shape at 14-22px.
## Completed Improvement Passes
- weapon spear/polearm family: `green-dragon-glaive`, `serpent-spear`, `sky-piercer-halberd`, `iron-spear`, `western-cavalry-spear`
- The previous shared spear/polearm silhouettes now use item-specific helper shapes with enough primitive detail for 20px and 30px equipment UI reads.
- armor silhouettes: `oath-robe`, `reinforced-lamellar`, `cloth-armor`, `lamellar-armor`, `rebel-vest`
- The previous shared armor and robe silhouettes now use item-specific helper shapes with stronger outer contours and material cues.
- accessory charms and tokens: `bravery-token`, `mountain-guide-scroll`, `peach-charm`, `war-manual`, `wind-quiver`, `grain-pouch`, `yellow-scarf-charm`
- Accessory icons now use distinct badge, scroll, charm, pouch, manual, and quiver silhouettes at small camp UI sizes.
- remaining low-detail weapon icons: `leader-axe`, `training-sword`, `yellow-turban-saber`
- The final low-detail common weapons now use dedicated axe, training sword, and Yellow Turban saber silhouettes.
## Next Improvement Target
- Target: no flagged equipment icon batch
- Item ids: none currently flagged
- Reason: No generated equipment icon currently has a low-detail or shared-helper audit concern; choose the next visual asset pass from in-game QA.
## Highest-Risk Shared Silhouette Groups
| score | signature | slots | ranks | items |
| ---: | --- | --- | --- | --- |
| 5 | `drawFanIcon` | weapon | treasure | `white-feather-fan` |
| 5 | `drawGreenDragonGlaiveIcon` | weapon | treasure | `green-dragon-glaive` |
| 5 | `drawSerpentSpearIcon` | weapon | treasure | `serpent-spear` |
| 5 | `drawSkyPiercerHalberdIcon` | weapon | treasure | `sky-piercer-halberd` |
| 5 | `drawSwordIcon+drawSwordIcon` | weapon | treasure | `twin-oath-blades` |
## Full Item Inventory
| item id | slot | rank | draw helpers | calls | primitives | colors | concerns |
| --- | --- | --- | --- | ---: | ---: | ---: | --- |
| `green-dragon-glaive` | weapon | treasure | `drawGreenDragonGlaiveIcon` | 1 | 23 | 6 | none |
| `serpent-spear` | weapon | treasure | `drawSerpentSpearIcon` | 1 | 29 | 4 | none |
| `sky-piercer-halberd` | weapon | treasure | `drawSkyPiercerHalberdIcon` | 1 | 24 | 7 | none |
| `twin-oath-blades` | weapon | treasure | `drawSwordIcon`<br>`drawSwordIcon` | 2 | 32 | 4 | none |
| `white-feather-fan` | weapon | treasure | `drawFanIcon` | 1 | 19 | 3 | none |
| `iron-spear` | weapon | common | `drawIronSpearIcon` | 1 | 26 | 7 | none |
| `leader-axe` | weapon | common | `drawLeaderAxeIcon` | 1 | 26 | 8 | none |
| `short-bow` | weapon | common | `drawBowIcon` | 1 | 18 | 3 | none |
| `training-sword` | weapon | common | `drawTrainingSwordIcon` | 1 | 31 | 7 | none |
| `western-cavalry-spear` | weapon | common | `drawWesternCavalrySpearIcon` | 1 | 27 | 7 | none |
| `yellow-turban-saber` | weapon | common | `drawYellowTurbanSaberIcon` | 1 | 35 | 4 | none |
| `oath-robe` | armor | treasure | `drawOathRobeIcon` | 1 | 25 | 6 | none |
| `reinforced-lamellar` | armor | treasure | `drawReinforcedLamellarIcon` | 1 | 24 | 5 | none |
| `cloth-armor` | armor | common | `drawClothArmorIcon` | 1 | 24 | 6 | none |
| `lamellar-armor` | armor | common | `drawLamellarArmorIcon` | 1 | 23 | 4 | none |
| `rebel-vest` | armor | common | `drawRebelVestIcon` | 1 | 24 | 7 | none |
| `bravery-token` | accessory | treasure | `drawBraveryTokenIcon` | 1 | 19 | 5 | none |
| `mountain-guide-scroll` | accessory | treasure | `drawMountainGuideScrollIcon` | 1 | 23 | 7 | none |
| `peach-charm` | accessory | treasure | `drawPeachCharmIcon` | 1 | 22 | 5 | none |
| `war-manual` | accessory | treasure | `drawWarManualIcon` | 1 | 20 | 7 | none |
| `wind-quiver` | accessory | treasure | `drawWindQuiverIcon` | 1 | 24 | 6 | none |
| `grain-pouch` | accessory | common | `drawGrainPouchIcon` | 1 | 22 | 5 | none |
| `yellow-scarf-charm` | accessory | common | `drawYellowScarfCharmIcon` | 1 | 25 | 5 | none |
## Recommended Next Batch Definition
- Scope: no generated equipment icon is currently below the audit threshold.
- Item ids: none currently flagged
- Success criteria: Keep the generated equipment icon audit green while selecting the next art target from runtime screenshots.
- Suggested next area: map/background or unit sprite assets that still look low-resolution in gameplay.