HN 日本語サマリー

← 一覧へ戻る
プログラミング

Rune: macOS, Windows, Linux および Web 用のネイティブ GPU レンダリング Rust UI フレームワーク

Rune: A native GPU-rendered Rust UI framework for macOS, Windows, Linux and web (github.com)

59 pointsby mik3y36 コメント

要約

Runeは、macOS、Windows、Linux、およびWeb向けのネイティブGPUレンダリングRust UIフレームワークです。独自のレンダラー、テキスト、レイアウト、スプリングを備えています。すべてのアプリはヘッドレスで実行可能で、エージェントがPNGにレンダリングしたり、要素ツリーをダンプしたり、スクリプト入力で操作したりできます。開発者は、GitHubリポジトリの例やコンポーネントを参照して、Runeを使ったアプリケーション開発を開始できます。

全文翻訳

Rune

macOS、Windows、Linux、およびWeb向けのネイティブGPUレンダリングRust UIフレームワーク。独自のレンダラー、テキスト、レイアウト、スプリングを備えています。

すべてのアプリはヘッドレスで実行可能なので、エージェントはPNGにレンダリングしたり、要素ツリーをダンプしたり、スクリプト入力で操作したりできます。

[画像: Runeの動作: 実際のアプリ、rune-kitコンポーネント、GPUエフェクト]

[画像: Runeで構築されたコーディングエージェントアプリ]

[画像: Litチャットインターフェース] [画像: Split diffコンポーネント]

[画像: Liquid metalエフェクト] [画像: 設定ウィンドウ]

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

エージェントでの使用

このリポジトリをコーディングエージェントに与えてください。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のリビジョンをピン留めしてください。devは書き直されることはありません。

ドキュメント · コンポーネント · 例 · 変更履歴

貢献

プルリクエストは受け付けていません。バグやアイデアを説明するイシューをエージェントに発行させてください。私たちのエージェントは通常、迅速に対応します。

MIT, © Anomaly.