# 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.