namespace ytLive.Models; /// How tall the audio dock should be for a given window height. /// /// Creator ruling (2026-10-30): the dock is 148px on a normal window and collapses to a 36px /// telemetry strip when the window is short, because at 1366×768 a full dock leaves ~398px for the /// preview and the composition starts letterboxing into a postage stamp. /// /// Pure, so the switch is testable without a window. public static class AudioDockLayout { /// Below this window height the dock collapses. The app's minimum is 768; the /// default window is 1040, so a normal launch shows the full dock. public const double CollapseBelowHeight = 900; /// 148 = 112 of bays + the 36px master strip. The mockup wanted 168; the creator /// read that as wasted space under a 154px scene strip, so the bays lost 20px of air. public const double ExpandedHeight = 148; public const double CollapsedHeight = 36; public static bool IsCollapsed(double windowHeight) => windowHeight < CollapseBelowHeight; public static double HeightFor(double windowHeight) => IsCollapsed(windowHeight) ? CollapsedHeight : ExpandedHeight; }