Rune: Native UI framework

★ 5,998⑂ 200👁 16⑃ 172● 161▤ 0◈ 0
RustMITCreated 2026-10-22
5,998
stars
+428
200
forks
16
watchers
172
prs
161
issues
0
releases
0
discussions

README

Rune

A native GPU-rendered Rust UI framework for macOS, Windows, Linux and the web, with its own renderer, text, layout and springs.

Every app can run headless, so an agent can render to PNG, dump the element tree and drive it with scripted input.


  
    
  



  



  
  


  
  


rust
fn view(s: &State, _: &mut Cx) - El {
    let t = tok::theme(true);
    let label = text(if s.on { "Lights on" } else { "Lights off" })
        .font(type_::TITLE).color(t.text);
    let knob = el().key("knob").size(18.0, 18.0).radius(9.0).fill(t.knob)
        .absolute(if s.on { 18.0 } else { 2.0 }, 2.0);
    let switch = el().key("switch").role("switch").label("Lights").checked(s.on)
        .focusable(true).size(38.0, 22.0).radius(11.0)
        .fill(if s.on { tok::accent(0, true) } else { t.control_off })
        .motion(motion::SNAPPY)
        .on_press(|s: &mut State| s.on = !s.on)
        .child(knob);
    col().w_full().h_full().center().gap(16.0).fill(t.bg).child(label).child(switch)
}


 Use it with your agent

Give your coding agent this repo. Have it start from examples/hello and crates/rune/README.md, then check its own work headlessly by rendering PNGs and inspecting the element tree.

 Build me a  with Rune (github.com/anomalyco/rune). Start from examples/hello and check your work headlessly.

 Add it

toml
rune = { git = "https://github.com/anomalyco/rune", rev = "" }


Rune is pre-release. Pin a rev of dev; dev is never rewritten.

Docs · Components · Examples · Changelog

 Contributing

We don't take pull requests. Have your agent open an issue
describing the bug or idea, and our agents usually turn it around fast.

MIT, © Anomaly.

Top issues

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON