5.5 KiB
5.5 KiB
Equipment Icon Quality Audit
Generated by scripts/audit-equipment-icon-quality.mjs from the current catalog, PNG headers, and runtime source.
Result
- Status: PASS
- Catalog contract: 23/23 items
- Complete 128/32 pairs: 23/23
- Fully valid catalog rows: 23/23
- 128px payload: 393,307 B (384.1 KiB) across 23 PNG files
- 32px payload: 40,270 B (39.3 KiB) across 23 PNG files
- Browser visual QA baseline:
1920x1080CSS viewport at 100% zoom
Asset Coverage
- 128px missing: none
- 32px missing: none
- 128px uncataloged/extra: none
- 32px uncataloged/extra: none
- Required PNG format: exact square dimensions, 8-bit RGBA (PNG color type 6), non-empty file.
Boot Loading Contract
| check | result | contract |
|---|---|---|
| 128px source glob | PASS | equipment-icons/128/*.png is imported eagerly |
| 32px source glob | PASS | equipment-icons/32/*.png is imported eagerly |
| full texture preload | PASS | 128px files load as item-${id} |
| micro texture preload | PASS | 32px files load as item-${id}-micro |
| catalog-derived texture key | PASS | file stem becomes the stable item texture id |
| procedural fallback guard | PASS | procedural full icon is created only when the loaded texture key is absent |
| procedural fallback coverage | PASS | 23/23 catalog ids have a base-key fallback |
The authored 128px files are the normal item-${id} textures and the authored 32px files are the item-${id}-micro textures. The existing procedural 64px drawing path is retained only as a loaded-base-texture-missing fallback: its guard leaves a successfully loaded authored base texture untouched. Micro textures are static assets, so their completeness is enforced by this audit rather than by the procedural fallback.
Camp Render Usage
- Micro render sites: 4
- Full render sites: 2
| tier | source location | method | key expression | requested display size |
|---|---|---|---|---|
| micro | src/game/scenes/CampScene.ts:16367 |
renderSortieEquipmentIcons |
item-${item.id}-micro |
iconSize |
| micro | src/game/scenes/CampScene.ts:21970 |
renderEquipmentCompareRow |
item-${entry.item.id}-micro |
22px |
| micro | src/game/scenes/CampScene.ts:22012 |
renderEquipmentEffectSummary |
item-${entry.item.id}-micro |
20px |
| micro | src/game/scenes/CampScene.ts:22158 |
renderEquipmentInventoryBox |
item-${entry.item.id}-micro |
21px |
| full | src/game/scenes/CampScene.ts:22341 |
renderEquipmentCard |
item-${item.id} |
30px |
| full | src/game/scenes/CampScene.ts:23078 |
renderEquipmentSwapComparisonCard |
item-${item.id} |
40px |
Micro textures are used for compact sortie, inventory, and equipped-item rows. Full textures are used for larger equipment cards and the compare/confirm panel.
Full Catalog Inventory
| item id | slot | rank | 128px PNG | bytes | 32px PNG | bytes | pair | concerns |
|---|---|---|---|---|---|---|---|---|
green-dragon-glaive |
weapon | treasure | 128x128 RGBA8 | 9,893 | 32x32 RGBA8 | 1,252 | yes | none |
iron-spear |
weapon | common | 128x128 RGBA8 | 6,364 | 32x32 RGBA8 | 830 | yes | none |
leader-axe |
weapon | common | 128x128 RGBA8 | 12,684 | 32x32 RGBA8 | 1,487 | yes | none |
serpent-spear |
weapon | treasure | 128x128 RGBA8 | 6,832 | 32x32 RGBA8 | 952 | yes | none |
short-bow |
weapon | common | 128x128 RGBA8 | 12,987 | 32x32 RGBA8 | 1,543 | yes | none |
sky-piercer-halberd |
weapon | treasure | 128x128 RGBA8 | 11,490 | 32x32 RGBA8 | 1,473 | yes | none |
training-sword |
weapon | common | 128x128 RGBA8 | 8,933 | 32x32 RGBA8 | 1,260 | yes | none |
twin-oath-blades |
weapon | treasure | 128x128 RGBA8 | 15,345 | 32x32 RGBA8 | 1,852 | yes | none |
western-cavalry-spear |
weapon | common | 128x128 RGBA8 | 7,505 | 32x32 RGBA8 | 883 | yes | none |
white-feather-fan |
weapon | treasure | 128x128 RGBA8 | 24,987 | 32x32 RGBA8 | 2,422 | yes | none |
yellow-turban-saber |
weapon | common | 128x128 RGBA8 | 12,895 | 32x32 RGBA8 | 1,568 | yes | none |
cloth-armor |
armor | common | 128x128 RGBA8 | 23,329 | 32x32 RGBA8 | 2,185 | yes | none |
lamellar-armor |
armor | common | 128x128 RGBA8 | 21,179 | 32x32 RGBA8 | 1,970 | yes | none |
oath-robe |
armor | treasure | 128x128 RGBA8 | 23,579 | 32x32 RGBA8 | 2,207 | yes | none |
rebel-vest |
armor | common | 128x128 RGBA8 | 20,584 | 32x32 RGBA8 | 1,768 | yes | none |
reinforced-lamellar |
armor | treasure | 128x128 RGBA8 | 20,788 | 32x32 RGBA8 | 1,920 | yes | none |
bravery-token |
accessory | treasure | 128x128 RGBA8 | 26,569 | 32x32 RGBA8 | 2,418 | yes | none |
grain-pouch |
accessory | common | 128x128 RGBA8 | 25,980 | 32x32 RGBA8 | 2,336 | yes | none |
mountain-guide-scroll |
accessory | treasure | 128x128 RGBA8 | 24,057 | 32x32 RGBA8 | 2,290 | yes | none |
peach-charm |
accessory | treasure | 128x128 RGBA8 | 15,997 | 32x32 RGBA8 | 1,592 | yes | none |
war-manual |
accessory | treasure | 128x128 RGBA8 | 21,080 | 32x32 RGBA8 | 1,978 | yes | none |
wind-quiver |
accessory | treasure | 128x128 RGBA8 | 20,471 | 32x32 RGBA8 | 2,084 | yes | none |
yellow-scarf-charm |
accessory | common | 128x128 RGBA8 | 19,779 | 32x32 RGBA8 | 2,000 | yes | none |
Findings
- All 23 catalog items have valid, paired 128px and 32px RGBA8 PNG assets.
- File stems map to stable Boot texture keys for both full and micro tiers.
- Camp compact rows use micro textures while larger cards and comparison panels use full textures.
- Procedural icons remain a load-failure fallback for base item keys, not the normal rendered asset path.