Shitty es un emulador de terminal de código abierto orientado a baja latencia, arranque rápido y uso predecible de recursos. El proyecto, alojado en GitHub bajo el nombre pg83/shitty, mantiene el estado del terminal en la CPU y renderiza las celdas mediante backends de cómputo nativos: Vulkan en Linux y Metal en macOS.
Según las pruebas publicadas por el autor, al volcar 100 MB de texto por la interfaz gráfica en un MacBook con chip de Apple —con Menlo 12pt, una rejilla 80x24 y 500 líneas de scrollback— Shitty registró 0,81 s de tiempo total frente a 0,96 s de Alacritty, 1,28 s de Kitty y 1,49 s de Ghostty en la ruta de ASCII imprimible. En el peor caso del analizador sintáctico (bytes aleatorios con UTF-8 inválido), Shitty completó la tarea en 1,88 s, frente a 3,07 s de Alacritty y 4,63 s de Ghostty; Kitty quedó fuera de la comparación porque reacciona a las secuencias de escape dibujando cambios de título y pitidos en lugar de representar el contenido. El script dev/compare.py, incluido en el repositorio, verifica la configuración igualada dentro de cada terminal antes de medir.
Shitty es compatible con los controles VT52 a VT5xx y extensiones de xterm ampliamente usadas, pantallas primaria y alternativa, scrollback en la pantalla primaria con reflow al cambiar el ancho, clusters de grafemas Unicode, doble ancho, doble altura, 16, 256 y 24 bits de color, y los protocolos de ratón X10, VT200, UTF-8, SGR, SGR-pixel y urxvt. Está escrito en C++23 y se compila con Clang; requiere librsvg, Brotli, utf8proc, PTY y, según la plataforma, FreeType, HarfBuzz, Wayland, xkbcommon, Vulkan o SPIRV-Cross y los marcos de macOS. Las pruebas nativas se ejecutan a través de un binario headless sobre una PTY real. El proyecto es un fork completo del emulador Zutty de Tom Szilagyi y avanza hacia una base de código bajo MIT, manteniendo el material importado bajo GPLv3 o posterior.
