20 lines
1.3 KiB
Go
20 lines
1.3 KiB
Go
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)
|
||
}
|