Renderizado de un toro 3D en el terminal mediante el protocolo gráfico Kitty

Fuentes: torus v0.5

Andrea presenta la versión 0.5 de 'torus', un programa que renderiza un toro tridimensional directamente en la terminal. Para conseguirlo, utiliza el protocolo gráfico Kitty, compatible con terminales como Ghostty, que permite mostrar imágenes mediante secuencias de escape específicas. La imagen debe enviarse codificada en base64 —formato que agrupa los bytes de tres en tres y los reagrupa en bloques de seis bits, con relleno de '=' cuando no se alcanza un múltiplo de tres, según la RFC 4648— y transmitirse en fragmentos de hasta 4096 bytes.

El control del envío se realiza con parámetros como el tipo de dato (f=24 para RGB, 32 para RGBA, 100 para PNG), el ancho, el alto y, opcionalmente, compresión zlib, columnas y filas del terminal, o indicadores de fragmentación. Con esta infraestructura, Andrea pudo depurar visualmente el render: detectó problemas como toros cortados por la mitad y una iluminación inconsistente, y añadió nuevas funcionalidades, entre ellas color y una segunda fuente de luz de distinto tono.

El autor menciona la posibilidad de reescribir el motor en Metal para aprovechar Apple Silicon, de cargar mallas OBJ o de abandonar el proyecto. Incluye además un contador de FPS que limita el refresco a 33,33 ms, y una curiosidad: el magenta no existe como longitud de onda en el espectro visible, sino que es una construcción del cerebro humano.