asciigen/variant.go
2026-08-26 11:56:56 +03:00

20 lines
1.3 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)
}