namespace Lattice.Serialization.Docking;
///
/// Data Transfer Object (DTO) для сериализации состояния макета док-системы.
/// Содержит все необходимые данные для сохранения и восстановления состояния макета.
///
///
/// Этот DTO является независимым от формата сериализации (JSON, XML, Binary) и используется
/// как промежуточное представление между объектной моделью и сериализованными данными.
///
public class LayoutDto
{
///
/// Версия формата DTO для контроля совместимости.
///
public string Version { get; set; } = "1.0";
///
/// Дата и время создания DTO в UTC.
///
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
///
/// Идентификатор приложения, создавшего DTO.
///
public string? ApplicationId { get; set; }
///
/// Корневой элемент дерева компоновки.
///
public ElementDto? Root { get; set; }
///
/// Список плавающих окон.
///
public List FloatingWindows { get; set; } = new();
///
/// Список автоскрываемых панелей.
///
public List AutoHidePanels { get; set; } = new();
///
/// Дополнительные метаданные, специфичные для приложения.
///
public Dictionary Metadata { get; set; } = new();
}