Дизер-волна
Выделение заливается не мгновенно: от точки старта бежит волна решётки, кадр на колонку. Протянул — и видно, как захват расползается по строкам.
Третья волна прелестей. Одеты: состояния, курсор, статусбар, рейл. Голыми остались жесты — выделение, ссылки, ресайз, зум, смена вкладки, согласия, paste guard, апдейт, watch, lightbox. Десять моментов, по три наряда. Ритм прежний — 8 битов в секунду, конечные тики оплачиваются событием. Клик — выбор, строка внизу.
Мышь тянет выделение, отпускание копирует. Самый частый жест стекла — и самый беззвучный: скопировалось или нет, узнаёшь вставкой.
Выделение заливается не мгновенно: от точки старта бежит волна решётки, кадр на колонку. Протянул — и видно, как захват расползается по строкам.
Отпустил кнопку — контур выделения вспыхивает белым на один кадр: снято. Копирование получает момент, который видно периферией.
Снятое выделение не гаснет — осыпается: подсветка распадается на пиксели и падает за два кадра. Захват был предметом, и предмет рассыпался.
Ссылка в стекле носит руку и подчёркивание. Ховер и клик — события, у которых пока нет тела.
Навёл — подчёркивание пробегает слева направо за два кадра, как загоревшийся шнур. Убрал мышь — гаснет с хвоста.
Клик вдавливает ссылку на пиксель, и от неё расходится квадратное кольцо — «ушла в браузер». Слово стало кнопкой на один кадр.
Под ховером ссылка дышит двумя фазами дизера — маяк, который горит, пока на него смотрят. Единственный стоячий пульс раздела, и он под мышью.
Делитель тянется с превью-контрактом: сначала призрак, потом правда. У призрака и у отпускания нет своего языка.
Будущая граница рисуется дизер-линией, шагающей за рукой по клеткам. Отпустил — решётка защёлкивается в сплошную. Превью говорит на языке деки.
Схваченный делитель загорается и дрожит на пиксель по биту — машина чувствует руку. Отпустил — замер. Дрожь конечна ровно как захват.
Отпускание — обе панели сжимаются на кадр от новой границы и встают: делитель сел с ударом. Ресайз кончается точкой, а не многоточием.
Ctrl+= и Ctrl+- меняют кегль мгновенно. Скачок размера — самое резкое движение деки, и оно происходит без единого кадра.
Новый кегль встаёт сразу, но на один кадр за ним остаётся контур старого размера — глаз видит, откуда и куда прыгнул текст.
По центру стекла на два бита всплывает пиксельная табличка «14 px» и тает решёткой. Число появляется ровно на время вопроса «а сколько стало?»
Кадр смены — изображение сжимается по вертикали на треть и распрямляется, как трубка, поймавшая новый режим развёртки. Дерзко и на один кадр.
Ctrl+Tab телепортирует лист. Переkey жест деки — и единственный без дороги: был один экран, стал другой.
Старый лист уезжает вверх, новый въезжает снизу — два кадра, как карта в картотеке. Направление говорит «дальше», обратный ход — «назад».
Лист сменяется шестью горизонтальными шторками сверху вниз за два кадра — родня паузе палитры, но на стекле. Смена с фактурой, без полёта.
Один кадр инверсии между листами — щелчок затвора. Самый дешёвый ответ: смена экрана получает звук, который видно.
Host-key диалог — самая серьёзная поверхность деки: доверять ли машине. Серьёзность можно произнести формой, а не только словами.
Fingerprint печатается по знаку за бит — глаз невольно следит за ним до конца. Строку, которую печатали при тебе, труднее не прочитать.
Диалог собирается четырьмя углами, съезжающимися за два кадра — рамка захвата цели. Вопрос о доверии окружает, а не всплывает.
Кнопка доверия прогревается: три бита заполняется её рамка, и только потом она нажимаема. Рефлекторное «да» физически не успевает.
Многострочная вставка останавливается на досмотр. Досмотр — таможня деки, у таможни может быть штамп.
Строки предпросмотра выкатываются перфолентой с дырочками по краю, по две за бит. Вставка выглядит как то, что она есть: лента байтов на досмотре.
Счётчик «14 строк» прокатывается барабаном при открытии — размер груза объявляется цифрой, которая крутится, пока не встанет.
Подтверждение бьёт по блоку штампом: кадр инверсии превью — и лента мгновенно утягивается в пан. Досмотр окончен, печать поставлена.
Дека умеет обновиться и попросить рестарт. Собственное перерождение — событие, которое она пока проживает строкой статуса.
Пока качается и ставится новая версия — по чипу RESTART TO APPLY ползёт ZX-лента. Тот же язык, что у мира и у кнопки двери: дека ждёт саму себя.
0.2.1 → 0.2.2 через фосфорный след: старая цифра тает призраком под новой. Апдейт виден как смена числа, а не как факт в логе.
Согласие на рестарт — вся дека уходит в CRT-off, и новая версия включается CRT-on'ом. Перерождение произносится целиком, телом всего окна.
Правила слушают вывод и срабатывают. Сработка рождает notice — но сама банда правила в списке не вздрагивает.
Сработавшее правило простреливается янтарной сканлинией слева направо — банда сказала «это я поймала». Один проход на сработку.
Счётчик сработок в банде прокатывается, и над ним всплывает тающее «+1». Правило считает вслух.
Спящее правило носит закрытый глаз, сработавшее — распахнутый на три бита. Смотрящая машина изображена буквально: она моргает, когда видит.
Картинка из пана открывается поверх стекла. Появление и уход картинки — два жеста без тела.
Картинка распахивается ирисом из точки, по которой кликнули, — три ступени радиуса. Закрытие сворачивает обратно в ту же точку.
Картинка приходит как по медленному модему: чётные строки кадром, нечётные — следующим. Два бита, и она целая. Интерлейс как церемония.
Закрытие — картинка схлопывается в горизонтальную полосу, полоса в точку, точка гаснет. Выключенный телевизор, в котором она жила.