tm2027 · борд пустого стекла · 2026-09-15

Что показывает пустой пан

Пан EMPTY со скриншота: стекло без единой буквы, и так часами. Ниже — десять неторопливых ASCII-картин для такого стекла, включая тишину. Каждая честно нарисована клетками того же шрифта, что на деке, в тех же тонах хрома. Клик по стеклу листает картины по кругу, и пан помнит, на какой остановился — как будет в деке. Стенд сверху — один пан, который листается; ниже — все десять рядом. Клик по карточке — выбор в набор, точка «старт» — какая картина встречает свежий пустой пан. Строка внизу — ссылка.

Неторопливо 1–5 кадров в секунду, каждый кадр трогает от двух клеток до одной строки. Ни одна картина не крутит ядро: тик только у видимого тайла в активном окне, REDUCED гасит движение.
Речь хрома Картина — не вывод терминала: тона приглушённые, из ролей темы, буквы не ярче подписи пана. Первый же байт из пана снимает картину.
Клик листает, пан помнит Клик по пустому стеклу — следующая картина, капсула с именем на секунду. Выбор живёт в настройках по ключу пана, пока пан жив.
Стекло
Темп
Тон
Зум

Стенд · один пан, клик листает

Тот самый пан EMPTY. Клик по стеклу — следующая картина, капсула называет её. Перезагрузи страницу — стенд помнит, где остановился.

Как это ляжет в деку

Когда стекло тайла не содержит ни одной непустой клетки дольше 2 с — картина проявляется; любой байт из пана или нажатие клавиши снимают её сразу.
Где слой поверх стекла в TerminalElement, клетки того же шрифта и той же сетки (device-px, как в #496), тона из ROLES.
Клик по пустому стеклу — empty_show.next(); порядок — как на этом борде; капсула «3 / 10 · LIFE» на 1,2 с в правом нижнем углу.
Память empty_shows: BTreeMap<pane key, u8> в настройках; свежий пан получает «старт» с борда; запись уходит вместе с паном.
Темп свой пейсер на картину (1–5 Гц), как pace_retrace: только активное окно, только тайл на экране, REDUCED = тишина или стоп-кадр.
Цена на карточке: кадры в секунду и сколько клеток переписывает кадр. Донат считает 28 тыс. точек на кадр — 4 Гц это ~1 мс на ядро.