Taffy es una biblioteca de maquetación de interfaces de usuario escrita en Rust, multiplataforma y orientada al alto rendimiento. Implementa los algoritmos de CSS Block, Flexbox y CSS Grid, y está diseñada para funcionar como dependencia embebida dentro de motores y frameworks de UI más grandes, más que como una solución de UI de extremo a extremo. La definen un proyecto colaborativo entre equipos, con planes para incorporar otros paradigmas de maquetación.
Entre los proyectos que ya la integran figuran Servo (navegador alternativo), Blitz (motor web modular de DioxusLabs), Bevy (motor de juegos en Rust basado en ECS), Takumi (renderizado de componentes React a imágenes), iocraft (interfaces para terminal), Slint (toolkit declarativo para GUIs nativas) y los editores de texto Lapce y Zed, estos últimos a través de Floem y GPUI respectivamente. También existen bindings experimentales para Python (stretchable), C y WASM.
El modelo de uso se basa en árboles de nodos con objetos Style que definen tamaño, dirección de flexión y otras propiedades; basta invocar compute_layout sobre el nodo raíz para obtener tamaños calculados automáticamente. En los benchmarks publicados, comparados con Yoga sobre un MacBook Pro M1 Pro de 2021 con criterion, Taffy muestra tiempos inferiores en la mayoría de escenarios con árboles anidados, profundos o muy anchos, y solo cede ante Yoga en árboles anchos de 10.000 y 100.000 nodos. La documentación del proyecto remite a MDN y a recursos didácticos como Flexbox Froggy y CSS Grid Garden para consultar el significado de cada propiedad.
