tm2027 · борд

Как буква становится буквой

Не про каретку - про сам текст. Сейчас ячейка меняется мгновенно: пришёл кадр, и там, где было пусто, стоит символ. Вот двенадцать способов дать ей полсекунды жизни: серая решётка на месте буквы, которая появляется и уступает ей; шум, из которого глиф проступает; вспышка, которая остывает. Каждая панель получает одни и те же символы в один и тот же миг, так что разница между карточками - только в этих первых кадрах. Отметь те, что стоит положить в выбор настроек.

Дека знает, что изменилось кадр от herdr приходит диффом - строками, которые стали другими. Возраст ячейки, на котором держится всё здесь, дека уже почти считает: ей нужно помнить, когда клетка последний раз сменилась.
Подменить глиф дешевле, чем нарисовать решётка, шум, точки, блок - это тот же шейп текста в той же клетке, только другой символ и другой цвет. Ни новых слоёв, ни прозрачности поверх - и кеш шейпа держит их так же, как держит буквы.
Быстрый вывод - это буря `cargo build` заливает экран сотнями строк в секунду. Всё, что живёт дольше двух кадров, на таком выводе превращается в рябь - поэтому у каждой манеры здесь жизнь меряется кадрами деки, а не миллисекундами.
Их можно взять несколько список настройки может нести три-четыре манеры, и человек выберет свою. Одна манера тут была бы не настройкой, а решением за него - а reduce_motion гасит любую из них одним switch.
двенадцать манер

Все панели печатают синхронно, в ритме живой печати: строка набирается, стоит полторы секунды и начинается заново. Смотреть надо на первые кадры каждой ячейки - именно там вся разница.

в настройках

Выбор без превью - это чтение названий: «шум» и «точками» отличаются только словом, пока их не увидишь. Поэтому строка настройки несёт свою маленькую панель, и она печатает выбранную манеру прямо в тот момент, когда её выбирают - ходишь стрелками, и каждая проигрывается тут же.

отметь те, что стоит положить в настройки
клик по карточке отмечает её