Rune:面向 macOS、Windows、Linux 和 Web 的原生 GPU 渲染 Rust UI 框架
Rune: A native GPU-rendered Rust UI framework for macOS, Windows, Linux and web
Rune 是一个原生 GPU 渲染的 Rust UI 框架,覆盖 macOS、Windows、Linux 和 Web,自带渲染器、文本、布局与弹簧动画系统。每个应用都能以 headless 模式运行,让智能体渲染 PNG、导出元素树并用脚本化输入驱动界面。项目目前为 pre-release 状态,采用 MIT 许可,由 Anomaly 开发。
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.
fn view(s: &State, _: &mut Cx<State>) -> 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
rune = { git = "https://github.com/anomalyco/rune", rev = "<dev 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.
来源:Hacker News · github.com




