Los controles de Blender tienen una forma de trabajar reconocible: puedes arrastrar un campo numérico para cambiar su valor, escribir una expresión como 2*pi o buscar comandos desde un menú. BUI adapta parte de esos componentes para usarlos en aplicaciones de escritorio independientes.
El proyecto combina un núcleo escrito en C con interfaces para varios lenguajes. Su documentación muestra ejemplos en Python, Rust, JavaScript, React y Svelte, entre otros. Para quien desarrolle herramientas de escritorio, la propuesta permite experimentar con controles al estilo de Blender sin instalar Blender junto a la aplicación.
Qué incluye BUI
El repositorio explica que el proyecto adapta código de dibujo e interacción de los controles de Blender. Su núcleo mantiene un árbol de componentes y se ocupa de tareas como la distribución, la entrada del usuario y el dibujo de la interfaz.
Entre los componentes documentados hay deslizadores, selectores de color, menús, paneles y un editor de nodos. La biblioteca también incluye una capa de ventanas y opciones para dibujar mediante CPU o GPU, según la plataforma.
BUI no incorpora el programa Blender completo. Su sistema de datos, sus operadores y su gestor de ventanas no forman parte de la biblioteca. Además, el proyecto indica que las partes adaptadas se han modificado y que no existe una sincronización automática con cada versión de Blender.
Lenguajes y plataformas
Las interfaces disponibles permiten probar el núcleo desde distintos entornos. En Python, el proyecto ofrece componentes propios y compatibilidad con sintaxis de tkinter; la capa con sintaxis de Qt cubre solo una parte de sus widgets. En Rust admite marcado similar a HTML y estilos CSS, además de una API con sintaxis similar a GPUI.
Para JavaScript, BUI proporciona una API parecida al DOM y adaptadores para React y Svelte. La interfaz se dibuja en una ventana nativa: no utiliza un navegador ni una vista web para mostrar esos componentes. Eso tampoco significa que todas las funciones de un navegador estén disponibles; el propio repositorio marca la cobertura de CSS como parcial.
El proyecto considera Windows y Linux sus plataformas compatibles. En Linux, Wayland se usa mediante XWayland. El soporte de macOS sigue siendo experimental y las ventanas JavaScript funcionan en modo sin interfaz gráfica en esa plataforma, según la documentación actual.
Qué dicen las pruebas
El repositorio incluye comparaciones de BUI con GPUI y gpui-fast, con medidas de arranque, memoria y coste de dibujo. Sus autores comunican que, en una de esas pruebas, BUI empleó entre dos y cuatro veces menos CPU por fotograma que gpui-fast.
La cifra procede de las pruebas del propio proyecto, realizadas en un portátil con Windows 11 y un Ryzen 7 5800U. Las cargas incluyen cuadrículas de celdas animadas y escenarios en los que solo cambia una celda. El repositorio también publica cómo ejecutar las pruebas y advierte de que no ha medido Linux ni macOS.
Es una comparación útil para examinar la implementación, no una garantía de que cualquier aplicación con BUI vaya a consumir menos recursos. Antes de elegir una biblioteca por rendimiento, conviene medir una interfaz representativa del producto y comprobar qué funciones utiliza cada implementación.
Límites antes de usarlo
La limitación más importante para una aplicación destinada al público es la accesibilidad. BUI todavía no conecta sus controles con las API de accesibilidad del sistema, por lo que los lectores de pantalla no pueden acceder a ellos. El proyecto también indica que aún no admite métodos de entrada IME, utilizados, por ejemplo, para escribir en japonés o chino.
Hay diferencias entre plataformas. El renderizado por CPU está habilitado por defecto; la opción por GPU usa Direct3D 11 en Windows y OpenGL 3.3 en Linux. En macOS, la documentación indica que el renderizado se realiza actualmente por CPU.
La apariencia tampoco sigue automáticamente el tema del sistema operativo: BUI utiliza sus propios temas inspirados en Blender. Si una aplicación necesita controles integrados visualmente con Windows, Linux o macOS, conviene valorar esa decisión antes de adoptar la biblioteca.
Licencia y estado
BUI se distribuye en conjunto bajo GNU GPL, versión 3 o posterior, según su repositorio. Algunos archivos y componentes de terceros conservan licencias compatibles propias. Si vas a distribuir una aplicación que lo incorpore, revisa las condiciones de la licencia para tu caso antes de integrarlo.
La API de C tampoco se declara estable antes de la versión 1.0. El proyecto recomienda fijar una versión y consultar los cambios incompatibles en su historial. Sus ejemplos y documentación son el punto de partida para evaluar un prototipo; las demostraciones de la página web, según advierte el repositorio, son simulaciones para navegador y no ejecutan el motor nativo.
