BUI displays Blender’s native widgets in a standalone window, demonstrating its GPU‑accelerated rendering.
*BUI extracts Blender’s UI engine into a standalone C‑core library. It promises battery‑friendly, millisecond start‑up and performance twice that of GPUI. The open‑source project targets developers across Python, Rust, JavaScript, C, C++ and Dear ImGui.*
A new open‑source library called BUI has lifted Blender’s famed user interface out of the 3D suite and into a standalone C core. The kit reproduces Blender’s widget drawing, interaction rules and frugal rendering on the CPU or GPU, promising millisecond start‑up and battery‑friendly operation. The developers claim the library runs "twice as good as GPUI" and backs the claim with benchmark scripts for JavaScript and React. By decoupling from Blender’s original codebase, BUI lets any application—whether written in Python, Rust, JavaScript, C, C++ or Dear ImGui—inherit the tactile feel that millions of artists rely on, without needing Blender installed.
BUI’s core is a small C runtime called the kit. The kit stores every widget in a single tree, handles layout, mouse and keyboard input, and draws using a C port of Blender’s own widget code. Rendering can run on the CPU or the GPU, and the system redraws only what changed, sleeping when idle. The result is millisecond start‑up, low battery draw, and memory efficiency. The project claims the library is "twice as good as GPUI" and cites benchmarks for startup and animation in JavaScript and React. All of this is achieved without a browser engine, webview, or network layer.
BUI offers thin bindings that let Python, Rust, JavaScript (React, Svelte), C, C++ and Dear ImGui talk to the C kit. Rust and JavaScript sides use HTML and CSS as a UI language, but there is no browser engine. The Rust side supports HTML‑like markup (rsx! / view!), Tailwind, hooks, and gpui/zopra syntax. JavaScript bindings expose a React‑style API. The library also provides Qt‑style Python bindings, a tkinter bridge, and direct Dear ImGui support. In total, the repo lists 45 native Blender widgets and editors, with ten of those also exposed to Rust and JavaScript.
Any developer needing Blender‑style interaction can adopt BUI. Existing tkinter or Qt‑style apps can be switched to BUI without redesign. Artists familiar with Blender will recognize panels, sliders and shortcuts instantly. Rust or React developers get a native desktop UI without shipping a browser. Dear ImGui users can add Blender’s look with a single flag. The project also markets itself to curious developers who want a readable UI toolkit with plain‑language documentation.
BUI lives on GitHub under the repository ppmpreetham/BUI. The repo contains 104 commits, a full README, CHANGELOG, LICENSE and security policy. Documentation is split into a small book‑style README and a website at bui.preetham.top. The project includes benchmarks, performance guides, and a FAQ. Community interaction occurs on Discord. The roadmap section in the repo outlines future platform support and feature extensions, but the core library is already usable across the listed languages.
BUI is a standalone UI library that ports Blender's widget drawing and interaction rules into a small C core, allowing apps to use Blender‑style interfaces without installing Blender.
BUI provides bindings for Python, Rust, JavaScript (React, Svelte), C, C++ and Dear ImGui, letting each language drive the same C runtime.
The project claims BUI is "twice as good as GPUI" and cites benchmark scripts that measure startup time and animation frame rates for JavaScript and React.
BUI’s rapid performance, language‑agnostic bindings and open‑source transparency position it as a serious contender for the next generation of desktop UI toolkits. As developers experiment and contribute, the library could become the de‑facto way to deliver Blender‑level interaction across the software ecosystem, challenging established UI frameworks and reshaping how artists and engineers build tools.
Sources: Hacker News (Blender's UI and Runtime: Much Faster Than GPUI) https://github.com/ppmpreetham/BUI