package asciigen // Variant — один вариант рендера: превью + опции, которыми он получен. // Опции хранятся внутри варианта, чтобы полный рендер запускался // повторным вызовом с теми же параметрами, но в полном разрешении — // без пересчёта пресетов с нуля. type Variant struct { ID string // короткий идентификатор пресета, напр. "blocks-hi-contrast" Label string // человекочитаемое описание для UI/TUI Preview string // уменьшенный ASCII-рендер для быстрого показа } // Renderer — общий интерфейс для картиночного и текстового рендера. // TUI работает с этим интерфейсом и не знает, картинка перед ним или текст. type Renderer interface { // Previews возвращает набор вариантов (разные пресеты) в уменьшенном виде. Previews() ([]Variant, error) // Full рендерит выбранный вариант (по ID) в полном размере/детализации. Full(variantID string) (string, error) }