namespace AcDream.App.UI; /// /// Retail window-chrome RenderSurface DataIds, CONFIRMED via the D.2b Step-0 /// prove-out (2026-06-14). These are RenderSurface objects (0x06xxxxxx) decoded /// DIRECTLY (), NOT /// through the Surface→SurfaceTexture chain. /// /// /// The universal floating-window bevel is an 8-piece border (4 corners /// 5×5 + 4 edges) drawn around a tiled center fill — it is NOT a single /// 9-slice texture. Decoded sizes are in the comments (from the prove-out). /// /// /// /// The edge/corner → position mapping below is a reasonable guess pending the /// LayoutDesc 0x21000040 parse (sub-project 3) and is confirmed visually in the /// first vitals-panel render. If a corner's bevel highlight looks wrong, swap /// the four corner constants; if top/bottom or left/right look inverted, swap /// those edge pairs. /// /// public static class RetailChromeSprites { /// Tiled interior fill — the shared panel background (48×48). public const uint CenterFill = 0x06004CC2; /// Horizontal top edge (10×5, tiled across the top span). public const uint TopEdge = 0x060074BF; /// Horizontal bottom edge (10×5). public const uint BottomEdge = 0x060074C1; /// Vertical left edge (5×10). public const uint LeftEdge = 0x060074C0; /// Vertical right edge (5×10). public const uint RightEdge = 0x060074C2; /// Top-left corner (5×5). public const uint CornerTL = 0x060074C3; /// Top-right corner (5×5). public const uint CornerTR = 0x060074C4; /// Bottom-left corner (5×5). public const uint CornerBL = 0x060074C5; /// Bottom-right corner (5×5). public const uint CornerBR = 0x060074C6; /// Border thickness in pixels = the corner/edge sprite size (5px). public const int Border = 5; // ── Resize-grip overlay ────────────────────────────────────────────── // A second 8-piece layer drawn ON TOP of the bevel above: the gold ridged // accents + square corner studs that frame a resizable retail window. From // the vitals LayoutDesc 0x2100006C (elements 0x1000063B–0x10000642): each // corner is the same 5×5 stud (0x06006129); the edges are gold double-line // strips tiled along each side. These have transparent gaps, so the bevel // shows through — both layers are needed. /// Corner grip stud, all four corners (5×5). public const uint GripCorner = 0x06006129; /// Top edge grip (10×5, tiled across). public const uint GripTop = 0x0600612A; /// Left edge grip (5×10, tiled down). public const uint GripLeft = 0x0600612B; /// Bottom edge grip (10×5). public const uint GripBottom = 0x0600612C; /// Right edge grip (5×10). public const uint GripRight = 0x0600612D; }