Files
aetherbound-guild/docs/runtime/M51_UI_ASSET_SCALING_CONTRACT.md
T

2.4 KiB

M51 UI Asset Scaling Contract

This contract separates authored UI materials by their runtime scaling job. An image is not marked stretchable merely because it has transparent padding.

Asset family Runtime treatment Fixed elements Variable area Do not do
Primary/secondary action plate Nine-patch, horizontal first corners, seal/icon mount, outline thickness clean paper center and horizontal spacing scale the whole bitmap vertically; put text in the bitmap
Commission/task board Nine-patch or layered frame + paper posts, corner fittings, wood grain edges blank parchment center in both axes tile decorative center; let content touch fittings
Recruit card frame Layered frame + portrait + text; nine-patch only for frame frame corners, portrait aspect, name/value baseline paper inset and card width within min/max stretch the character or use a full-frame bitmap as a list icon
Semantic seals/icons Preserve aspect ratio; fixed logical box silhouette, stroke weight, internal mark none nine-patch, non-uniform scaling or color-only state
Character sprites/equipment art Preserve aspect ratio; authored anchor/pivot silhouette, anatomy, weapon relation none crop, squash or use as a UI background
Full-screen world background Aspect-preserving cover with declared safe rect focal subjects and horizon relationship decorative edges / revealed world space nested 16:9 canvas, non-uniform scale or opaque UI poster

Verification matrix

Stretchable materials are captured at their minimum, reference and wide sizes. Non-stretchable assets are captured at at least 0.75x, 1x and 1.5x while checking aspect ratio, silhouette and anchor. Every capture is a normal render.

The gate checks corner shape, border thickness, texture repetition, content safe area, text bounds, icon aspect, focal crop and the smallest legal touch target. A green test or imported PNG is not sufficient evidence.

M51 candidate verdict

The first normal-render scaling showcase confirms the action plate is suitable for horizontal nine-patch use, while the generated commission-board bitmap is not safe to stretch as one piece: its central fold repeats and its authored wood supports become duplicated. The board must be integrated as layered fixed frame + expanding parchment, with text in a separate content container. The recruit frame and seals remain aspect-preserved candidates.