A Zig toolkit for building desktop apps with native UI drawn on the GPU, or with a web page in the system webview.
anomalyco/rune
A native, GPU-rendered Rust UI framework for macOS, Windows, Linux and the web, with its own renderer, text, layout and springs.
- Stars
- 3,536
- Forks
- 100
- Open issues
- 21
- Last commit
- 2 hours ago
What is it?
Rune is a UI framework written in Rust that draws its interfaces on the GPU with its own renderer, text stack, layout engine and spring-based motion. It targets macOS, Windows, Linux and the web from a single Rust codebase. Interfaces are described as Rust functions that return an element tree, with builder-style calls for size, fill, radius, focus, roles and press handlers.
Every app can run headless, which lets a script or coding agent render a frame to PNG, dump the element tree and drive the UI with scripted input. This makes it possible to check visual output without opening a window. The repository includes an examples directory, a rune-kit component library with pieces such as split diffs, and GPU visual effects.
The project is pre-release, so the README recommends pinning a git revision of the dev branch when adding it as a dependency.
Key features
- 01Native GPU rendering with a custom renderer, text stack, layout and spring animations.
- 02Targets macOS, Windows, Linux and the web from one Rust codebase.
- 03Headless mode renders PNG output and dumps the element tree for inspection.
- 04Scripted input lets tests or agents drive the UI.
- 05Includes a rune-kit component library and GPU effects.
Use cases
- Building cross-platform desktop or web apps in Rust with a custom GPU UI.
- Letting a coding agent build and visually verify a UI without a display.
- Automated visual regression checks by rendering screens to PNG.
- Prototyping animated interfaces with spring-based motion.
Quick start
- 1
Add Rune as a git dependency pinned to a dev rev
rune = { git = "https://github.com/anomalyco/rune", rev = "<dev rev>" } - 2
Start from the hello example and read the crate docs
Things to know
- Rune is pre-release, so expect breaking changes.
- You must pin a git revision because there is no published crate release.
In collections
Topics
FAQ
- What is rune?
- A native, GPU-rendered Rust UI framework for macOS, Windows, Linux and the web, with its own renderer, text, layout and springs. Rune is a UI framework written in Rust that draws its interfaces on the GPU with its own renderer, text stack, layout engine and spring-based motion. It targets macOS, Windows, Linux and the web from a single Rust codebase. Interfaces are described as Rust functions that return an element tree, with builder-style calls for size, fill, radius, focus, roles and press handlers.
- Is rune free to use? What license does it have?
- rune is open source under the MIT license. Check the license terms before using it in commercial products.
- Is rune still maintained?
- Actively maintained. The last commit to rune was on Nov 7, 2026.
- What can I use rune for?
- Building cross-platform desktop or web apps in Rust with a custom GPU UI. Letting a coding agent build and visually verify a UI without a display. Automated visual regression checks by rendering screens to PNG. Prototyping animated interfaces with spring-based motion.
- How do I install rune?
- Add Rune as a git dependency pinned to a dev rev: rune = { git = "https://github.com/anomalyco/rune", rev = "<dev rev>" } Start from the hello example and read the crate docs
- Where can I get rune?
- The source code and installation instructions are on GitHub: https://github.com/anomalyco/rune
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Rust framework and studio app for building native and web apps and games with a GPU-accelerated UI runtime and live-editable UI DSL.
A cross-platform Rust UI framework that ports Avalonia's architecture, with styled properties, data binding, XAML markup and multiple themes.
Open-source Python framework for building GUI apps that run on desktop, mobile and embedded platforms from one codebase.
A performance-focused fork of Zed's GPUI Rust UI framework with incremental rendering and native window composition.
A native, GPU-accelerated Redis and Valkey GUI built with Rust and GPUI, designed to browse very large key sets smoothly.