Проект продолжает развитие утилиты html2svg, которая изначально была разработана для преобразования HTML и ‹canvas› в векторные (SVG, PDF) или растровые изображения (PNG, JPEG, WebP), а теперь задействована в качестве основы для отрисовки в терминал. Для вывода графики задействованы возможности терминалов, таких как xterm-256, выводить unicode-символы в цвете — в качестве виртуального пикселя используется символ U+2584 («▄»). Пользуясь тем, что соотношение сторон в этом символе 1:2, имеется возможность отображения на его основе двух квадратных пикселей, верхний из которых задаёт цвет фона, а нижний — переднего плана.
Для отслеживания движения мыши, перемещения курсора и изменения цвета текста используются escape-последовательности xterm. Для терминала xterm возможно задействование RGB-палитры 6x6x6, а при установке режима COLORTERM — 24-разрядной полноцветной палитры RGB. Текст отрисовывается в фиксированном размере, отдельно от изображений. Для перехвата текста в библиотеке Skia подключается отдельный обработчик.
Код отрисовки оптимизирован для работы в терминале и позволяет выводить графику с частотой обновления на уровне 60 FPS с минимальной нагрузкой на CPU.
Источник: http://www.opennet.ru/opennews/art.shtml?num=58566