namespace TeleWave.Application.Broadcast.Bumpers;

/// <summary>
/// Инфраструктурные настройки рендера ТВ-заставок (общие для всех каналов): разрешение, пути к
/// шрифтам, версия шаблона. Оформление и правила (цвета, подписи, длительность, интервал) задаются
/// на каждом канале — см. <c>Channel.UpdateBumperSettings</c>.
/// </summary>
public sealed class BumperOptions
{
    public const string SectionName = "Bumpers";

    public int Width { get; init; } = 1280;
    public int Height { get; init; } = 720;

    /// <summary>Пути к TTF-шрифтам с кириллицей внутри контейнера (см. Dockerfile, fonts-dejavu-core).</summary>
    public string FontFileSans { get; init; } =
        "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf";
    public string FontFileSerif { get; init; } =
        "/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf";

    /// <summary>Версия шаблона рендера — входит в кэш-ключ заставки; меняй при правке ЛОГИКИ рендера
    /// (не оформления канала), чтобы пересобрать уже отрендеренные заставки.</summary>
    public int TemplateVersion { get; init; } = 1;
}
