Canonical supplied art normalized as31100.png through31198.png.
36x32 RGBA PNGs; no stretching/clipping; binary-alpha silhouettes for the client Sprite renderer.
99 distinct hashes. Source provenance: assets/weapons/source-manifest.json.
Live visual QA remains pending. Rebuild via scripts/normalize_weapon_icons.py.
