feat: add managed ISAC image library

This commit is contained in:
JB
2026-07-26 13:46:44 -04:00
parent e8ed35e35f
commit 63b04d26a9
25 changed files with 705 additions and 57 deletions
+25
View File
@@ -1564,6 +1564,31 @@ navigation regions. Search fields have visible or accessible labels, keyboard
focus uses Signal Orange, and collapsed state must remain understandable
without motion.
### Managed image library
Reusable uploaded visuals belong in the ISAC Image Library under System
Configuration. Present assets as a dense responsive registry of preview cards:
the artwork is primary, while name, assignment category, tags, dimensions, and
file size remain compact operational metadata. A checkerboard preview surface
may make transparency legible without changing the asset.
Image intake uses the shared picker, drop-zone, and clipboard control. The
`Normalize as icon` option trims transparent outer margins and standardizes the
canvas. When the source has no usable transparency, the server requests
preview-resolution background removal before local normalization and reports
configuration, credit, rate-limit, foreground-detection, or network failures
with a specific recovery. Its dependent `Force white` option converts visible pixels to the
canonical neutral icon color while preserving alpha. Both controls state their
processing consequence in text, expose checked and disabled states, and remain
keyboard accessible. Metadata edits preserve the stable asset identity, close
after a successful save, and use the shared toast and editor lifecycle.
Use controlled assignment categories for broad placement and free-form,
normalized tags for discovery. Names are unique and human-readable. Search
covers names, categories, and tags. On narrow screens, processing controls
stack vertically and cards reduce to one column so previews and actions retain
usable sizes.
### ISAC mutation consequence
Every writable game-data module states what Save will do before the operator