// the find
audulus/rui
Declarative Rust UI library
rui is a SwiftUI-inspired, GPU-rendered UI library for Rust that skips the retained view tree entirely — everything re-renders on state change, banking on the GPU being fast enough that this is never the bottleneck. It's backed by wgpu and vger-rs for rendering. This is a real project with a real use case (replacing Audulus's UI layer) rather than a toy, which gives it a clearer north star than most Rust GUI experiments.
The no-DOM, no-diffing approach is a deliberate and defensible tradeoff rather than laziness — the README explains the reasoning about GPU cost vs. layout cost clearly, and Audulus's production usage provides actual validation. State identity encoded in types (avoiding the runtime identity bugs that plague immediate-mode UIs) is the right call. The example set is broad and honest — counter, calculator, synth, canvas — and they actually compile and run. Snapshot tests for layout correctness are present and meaningful, not just CI theater.
Still explicitly experimental and self-described as 'early days' after years of development — the status checklist shows editable text is 'still a bit rough' and wasm support is WIP, which are table-stakes for most apps. Accessibility is listed as a goal but not in the 'done' checklist, making it a non-starter for anything that needs to ship to real users. The 47 forks and thin contributor base mean you're betting on one person (the Audulus author), and if Audulus priorities shift, so does this library. No layout system beyond hstack/vstack/zstack and padding — anything more complex requires manual canvas work.