Repolode
anomalyco

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. 1

    Add Rune as a git dependency pinned to a dev rev

    rune = { git = "https://github.com/anomalyco/rune", rev = "<dev rev>" }
  2. 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