Проект делает ставку на обеспечение низких задержек, быстрого запуска и предсказуемого потребления ресурсов: состояние терминала обрабатывается на CPU, а отрисовка выполняется через бэкенды на базе Vulkan в Linux и Metal в macOS, без использования стороннего графического тулкита. При тестировании производительности вывод 100 МБ ASCII через терминал Shitty показывает ~118 МиБ/с, обгоняя alacritty (0.81 с против 0.96 секунд), kitty и ghostty. На «случайных байтах» с некорректным UTF-8 отрыв от alacritty ещё заметнее (~51 МиБ/с против ~31 МиБ/с).
Корректность работы обеспечивается более чем 5000 тестами, собранными из десятка с лишним внешних наборов — kitty, esctest, vttests из xterm, vttest, tack, libvterm, libtsm, alacritty, ghostty, contour, konsole, mosh. Тесты выполняются с проверкой работы на реальном PTY.
Среди прочих особенностей — работа с графемными кластерами вместо codepoint-ов (emoji-последовательности), изменение размера без мерцания (кадры отрисовываются в той же транзакции, что и изменение границ), ленивая растеризация глифов с постоянным GPU-кешем. Имеется поддержка VT52–VT5xx, расширений xterm, протоколов клавиатуры и мыши Kitty/SGR/urxvt, отображения гиперссылок (OSC 8) и интеграции с командной оболочкой. Шрифты встраиваются в исполняемый файл st, что позволяет запускать приложение даже в системе без установленных шрифтов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=66020
