世界を動かす技術を、日本語で。

ZedエディタがグラフィックスライブラリをBladeからwgpuに切り替え

2026年2月13日原文(github.com)

概要

  • CLAの署名 および ラベル付与 の概要
  • Linuxレンダラーの再実装 に関するPR内容
  • 関連GitHub Issue へのリンク
  • PR作成時の注意事項 の説明
  • コード変更点の要約

CLA署名とPR管理

  • cla-bot bot による cla-signedラベル の自動付与
  • Contributor License Agreement (CLA)への署名確認フロー
  • ラベル付与日 :2026年1月14日
  • PR管理の自動化 による運用効率化

Linuxレンダラーの再実装

  • bladeの削除 および Linuxレンダラーのwgpuによる再実装
    • maxdeviant によるタイトル変更履歴
    • タイトル :"remove blade, reimplement linux renderer with wgpu"
  • gpui プロジェクトにおける Linuxレンダラー刷新
  • macOS向け には metal_renderer を使用
    • macos-blade フィーチャーフラグによる条件付きモジュール切り替え

関連GitHub Issueリンク

  • niri-wm/niri#2335
  • #44814
  • #40481
  • zortax/zlaunch#15
    • PR本文冒頭 に「Closes #ISSUE」記述でIssue自動クローズが可能

PR作成時の注意事項

  • PR本文の最上部 に「Closes #ISSUE」行を追加する運用推奨
  • dangerJS による自動生成コメント
    • コミットID :f988a34に対するチェック
  • 安全性コメント の記載:
    • ウィンドウハンドル の有効期間保証
    • RawWindow構造体surface のライフタイム管理

コード変更点要約

  • metal_renderer のデフォルト使用
  • macos-blade フィーチャー時のみ blade モジュールを利用
  • unsafeブロック による surface生成
    • ネイティブウィンドウハンドル からのRawWindow生成
    • surfaceのドロップタイミングウィンドウのライフタイム 保証

PRステータス管理

  • Open/Closed ステータスの追跡
  • 複数Issueとの関連付け による進捗可視化
  • 自動化ツール (dangerJS, cla-bot)による効率的運用

Hackerたちの意見

wgpuに移行することで面白い副作用があるんだけど、理論的にはもう少し手を加えれば、Zedをウェブブラウザで動かせるようになるかもしれない。まるでVSCodeをサーバーで動いているバックエンドのリモートインターフェースとして使うようにね。

安いAWS EC2インスタンスでこれができるの?

PRからすると、WGPUへの切り替えはLinuxだけみたいだね。チームはmacOSやWindowsでも同じことをするのに消極的だったみたいで、これらのプラットフォームのネイティブレンダラーの方が良くて、メモリも少なくて済むと感じていたみたい。

いや、そうでもないよ。ウェブにポータブルに近いレンダラーがあるってことは意味するけど、「少し手を加えれば」ウェブで動くエディターがあるわけじゃない。レンダラーはこのPRの前からすでにモジュラーだったし。

PRからmaddythewispの引用: > Zedをブラウザで動かすためには、レンダラー以外にもかなりの作業が必要になる - 特にバックグラウンドタスクやファイルシステム/入力APIはウェブ/WASM互換の実装が必要になる。

ブラウザでのレンダリングは、VSCodeのようにリモート編集ができることとは関係ないよ。ブラウザがアクセスできるファイルを編集できるだけだからね。ローカルのVSCodeをSSH経由でランダムなサーバーに接続するのと同じで、ブラウザでのレンダリングはクライアント配布のための便利な手段に過ぎない。VSCodeが持っているような完全なクライアント/サーバーエディタのアーキテクチャが必要なんだ。

リモート編集(リモートサーバーにあるファイルを編集すること)について話してるなら、Zedはすでにそれをサポートしてるよ?

RustのGUIは今、厳しい状況にあるよ。重要な依存関係が人手不足で、プロジェクトも半分実装されたまま。LLMの登場がちょうどタイミング良く、エコシステムを数年後退させてしまったと思う。昨日、これについて書いたんだけど、私たちの開発にどう影響したかはここにあるよ: https://tritium.legal/blog/desktop

本当に?今、gpui-componentがあるから、以前よりも良くなったと思うけど。それによって、商業リリースにも耐えうる洗練された完全なネイティブGUIが実現できる扉が開かれた感じ。これに該当するものは他に見たことないけど、一つの選択肢が出てきたのはスタートとしていいね。

面白い読み物だけど、Casey Muratoriと同じ世代の人間としてはあまり意味がわからないな。 > 「イミディエイトモード」GUIはCasey Muratoriが20年以上前のトークで考案したものだ。彼が昔を経験していない人たちに知らしめたかもしれないけど、これは8ビットや16ビットのホームコンピュータでGUIをプログラムする方法だったし、ゲーム機でもずっと使われてきたことなんだよ。

RustのGUIとそのエコシステムの現状についてのまとめを読んでみたいんだけど、どこかいい記事を教えてくれない?

だから、俺はLLMを使ってRustアプリのGUIをSDL2で手動コーディングしてるんだ。低レベルで描画特化のコードを最小限にして、Rustの抽象化を最大限に活用すれば、もしより良いGUIライブラリが出てきたときに簡単に切り替えられると思ってる。まあ、SDLも悪くはないけどね。

Hacker Newsで議論の続きを見る