Refine weapon progression and icon controls

This commit is contained in:
JB
2026-07-25 18:37:02 -04:00
parent cef3e6e78b
commit 92cda8a576
16 changed files with 69 additions and 25 deletions
+29
View File
@@ -772,6 +772,13 @@ same change. Both shared choice patterns expose explicit selection, hover,
pressed, focus-visible, disabled, empty/all, responsive, and 44-pixel
mobile-target states so modules do not reimplement them.
Numeric inputs inside ISAC use overwrite-first focus behavior: focusing an
enabled `type="number"` control selects its complete current value so a
contributor can immediately type a replacement instead of appending to a
default zero. This behavior belongs to the shared ISAC layout boundary and must
not be reimplemented in individual modules. Disabled numeric controls remain
unfocusable and unchanged.
`SegmentedChoice` supports two restrained density variants. Icon-only segments
may omit visible text when a canonical, unambiguous game icon exists; they must
retain an accessible label and hover title. Text-only segments may omit the
@@ -842,6 +849,28 @@ dense segmented controls. On desktop, icon-only Gear slot segments are square
record-name input receives the dominant width. Increase those cells to square
44-pixel targets at mobile sizes without reintroducing visible slot text.
Weapon-category editing follows the same compact icon-rail treatment: Shotgun,
Rifle, MMR, AR, LMG, and SMG use their canonical weapon silhouettes in square
32-pixel desktop cells and 44-pixel mobile cells, with accessible names and
hover titles retained. Exotic remains an independent icon-backed status because
an Exotic weapon must also retain its underlying weapon category. Weapon
Damage Type follows the same icon-only treatment when canonical Blast, Pierce,
and Shredding marks are available. Exotic status is a single square checkbox
whose icon, orange rail, and background show its checked state; no visible
“Exotic weapon” label is repeated inside the control. Weapon registry rows show
both the category silhouette and, when applicable, the Exotic mark alongside
the textual class for rapid scanning.
Weapon Tier Progression begins at the selected Native Tier. Lower tier cards
remain visible for orientation but are disabled, desaturated, and explicitly
labeled unavailable; their values are neither required nor persisted. Each
available tier has one Damage range labeled with the selected damage-type icon
and one shared Core range for Firepower, Toughness, and Engineering, represented
by all three primary-attribute icons. Registry completeness compares configured
tiers with the number possible from the weapon’s Native Tier. Archive Weapon
uses the standard separated ISAC destructive-action control on the left side of
the editor action band.
Root-level static PNGs are interface icons and use content-fitted transparent
bounds. Run `npm run assets:trim-icons` after adding or replacing them. The
normalizer trims fully transparent padding, restores a two-pixel transparent