{"slug": "rune-a-native-gpu-rendered-rust-ui-framework-for-macos-windows-linux-and-web", "title": "Rune: A native GPU-rendered Rust UI framework for macOS, Windows, Linux and web", "summary": "Anomaly released Rune, a pre-release, MIT-licensed native GPU-rendered Rust UI framework for macOS, Windows, Linux and the web that ships its own renderer, text, layout and springs. Every Rune app can run headless, letting an agent render to PNG, dump the element tree and drive the UI with scripted input; developers are told to pin a revision of the `dev` branch, which Anomaly says is never rewritten. Anomaly does not accept pull requests, asking users to have their agents open issues instead.", "body_md": "A native GPU-rendered Rust UI framework for macOS, Windows, Linux and the web, with its own renderer, text, layout and springs.\n\nEvery app can run headless, so an agent can render to PNG, dump the element tree and drive it with scripted input.\n\n``` php\nfn view(s: &State, _: &mut Cx<State>) -> El {\n    let t = tok::theme(true);\n    let label = text(if s.on { \"Lights on\" } else { \"Lights off\" })\n        .font(type_::TITLE).color(t.text);\n    let knob = el().key(\"knob\").size(18.0, 18.0).radius(9.0).fill(t.knob)\n        .absolute(if s.on { 18.0 } else { 2.0 }, 2.0);\n    let switch = el().key(\"switch\").role(\"switch\").label(\"Lights\").checked(s.on)\n        .focusable(true).size(38.0, 22.0).radius(11.0)\n        .fill(if s.on { tok::accent(0, true) } else { t.control_off })\n        .motion(motion::SNAPPY)\n        .on_press(|s: &mut State| s.on = !s.on)\n        .child(knob);\n    col().w_full().h_full().center().gap(16.0).fill(t.bg).child(label).child(switch)\n}\n```\n\nGive your coding agent this repo. Have it start from [`examples/hello`](https://github.com/anomalyco/rune/blob/dev/examples/hello) and [` crates/rune/README.md`](https://github.com/anomalyco/rune/blob/dev/crates/rune/README.md), then check its own work headlessly by rendering PNGs and inspecting the element tree.\n\nBuild me a with Rune (github.com/anomalyco/rune). Start from examples/hello and check your work headlessly.\n\n```\nrune = { git = \"https://github.com/anomalyco/rune\", rev = \"<dev rev>\" }\n```\n\nRune is pre-release. Pin a rev of `dev`; `dev` is never rewritten.\n\n[Docs](https://github.com/anomalyco/rune/blob/dev/crates/rune/README.md) · [Components](https://github.com/anomalyco/rune/blob/dev/crates/rune-kit/README.md) · [Examples](https://github.com/anomalyco/rune/blob/dev/examples) · [Changelog](https://github.com/anomalyco/rune/blob/dev/CHANGELOG.md)\n\nWe don't take pull requests. Have your agent [open an issue](https://github.com/anomalyco/rune/issues)\ndescribing the bug or idea, and our agents usually turn it around fast.\n\nMIT, © Anomaly.", "url": "https://wpnews.pro/news/rune-a-native-gpu-rendered-rust-ui-framework-for-macos-windows-linux-and-web", "canonical_source": "https://github.com/anomalyco/rune", "published_at": "2026-11-06 16:31:32+00:00", "updated_at": "2026-11-06 16:50:41.312802+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents"], "entities": ["Rune", "Anomaly", "Rust", "macOS", "Windows", "Linux"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/rune-a-native-gpu-rendered-rust-ui-framework-for-macos-windows-linux-and-web", "markdown": "https://wpnews.pro/news/rune-a-native-gpu-rendered-rust-ui-framework-for-macos-windows-linux-and-web.md", "text": "https://wpnews.pro/news/rune-a-native-gpu-rendered-rust-ui-framework-for-macos-windows-linux-and-web.txt", "jsonld": "https://wpnews.pro/news/rune-a-native-gpu-rendered-rust-ui-framework-for-macos-windows-linux-and-web.jsonld"}}