namespace AcDream.App.UI; /// Panel state that is not completely described by outer-frame bounds. public readonly record struct RetainedWindowState( bool Collapsed = false, bool Maximized = false, float? PersistedTop = null, float? PersistedHeight = null); /// /// Optional state seam used by retained-window persistence. Bounds are restored /// first; the controller then reapplies collapsed/maximized presentation. /// public interface IRetainedWindowStateController { RetainedWindowState CaptureWindowState(); void RestoreWindowState(RetainedWindowState state); }