跳到正文
Hacker News· mik3y·· 4 小时前AI 评分48

Rune:面向 macOS、Windows、Linux 和 Web 的原生 GPU 渲染 Rust UI 框架

Rune: A native GPU-rendered Rust UI framework for macOS, Windows, Linux and web

AI 导读

Rune 是一个原生 GPU 渲染的 Rust UI 框架,覆盖 macOS、Windows、Linux 和 Web,自带渲染器、文本、布局与弹簧动画系统。每个应用都能以 headless 模式运行,让智能体渲染 PNG、导出元素树并用脚本化输入驱动界面。项目目前为 pre-release 状态,采用 MIT 许可,由 Anomaly 开发。

正文 · AI 翻译

一个原生 GPU 渲染的 Rust UI 框架,支持 macOS、Windows、Linux 和 Web,自带渲染器、文本、布局和弹簧动画。

每个应用都可以无头运行,因此 agent 可以渲染为 PNG、导出元素树,并用脚本化输入驱动它。

Rune in motion: real apps, rune-kit components and GPU effects

A coding agent app built with Rune

Lit chat interface Split diff component

Liquid metal effect Settings window

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)
}

与你的 agent 配合使用

把这个仓库交给你的编码 agent。让它从 examples/hello 和 crates/rune/README.md 开始,然后通过渲染 PNG 和检查元素树来无头验证自己的工作。

用 Rune(github.com/anomalyco/rune)给我构建一个 。从 examples/hello 开始,并无头验证你的工作。

添加它

rune = { git = "https://github.com/anomalyco/rune", rev = "<dev rev>" }

Rune 处于预发布阶段。请固定 dev 的某个 rev;dev 永远不会被重写。

文档 · 组件 · 示例 · 更新日志

贡献

我们不接受 pull request。让你的 agent 开一个 issue 描述 bug 或想法,我们的 agent 通常会很快处理。

MIT,© Anomaly。

来源:Hacker News · github.com