Graphite: Blenderに着想を得たRustベースの2Dプロシージャルデザインツール
(graphite.rs)- Graphiteは無料のオープンソースベクターエディタとアニメーションエンジンを組み合わせたアルファ版ツールで、レイヤー合成とノードベースの生成デザインを通じて非破壊編集を提供する
- 単なるベクターエディタを超えたオールインワンの2Dグラフィックツールボックスを目指しており、ユーザー向けの編集ツールは内部のノードグラフコア上で動作する
- 現在はプロシージャルなベクターグラフィック編集に注力した軽量なオフラインWebアプリであり、ベクター編集・ノードベースレイヤー・グラフィックデザイン向けのプロシージャルワークフローを提供する
- Webアプリはすぐに利用でき、Windows・Mac・Linuxのデスクトップアプリはリリース候補段階のため、正式リリース前のテストにはDiscordチャンネル経由でアクセスする必要がある
- サーバーなしでユーザーのハードウェア上でローカルかつプライベートに実行される構成であり、WebではWebAssemblyとWebGPUによって低オーバーヘッドを目指している
Graphiteの現在地
- Graphiteは無料のオープンソースベクターグラフィックエディタ兼アニメーションエンジンで、現在はアルファ版として提供されている
- 中核にあるのは非破壊編集であり、レイヤーベースの合成とノードベースの生成デザインを組み合わせている
- 作例には、非破壊ブーリアン演算、プロシージャルな水玉模様パターン、ノードベースのクリエイティブコーディングアニメーション、ノイズパターンで満たしたMandelbrotフラクタルが含まれる
- 最新アップデートはMay Update - Graphite, the Open Source 2D Graphics Suiteの動画で確認できる
ベクターエディタを超える2Dグラフィックツールボックス
- Graphiteはベクターエディタとして始まったが、汎用的なオールインワンのグラフィックツールボックスへと拡張中である
- 一般的な制作アプリよりもゲームエンジンに近い考え方で設計されており、編集ツールはノードグラフコア上でユーザーフレンドリーなワークフローを提供する
- 目標とするワークフローは複数の2D制作領域を包含する
- グラフィックデザイン
- モーショングラフィックス
- 画像編集
- デジタルペインティング
- ページレイアウトと印刷
- VFXコンポジット
現時点で可能な機能と今後の拡張
- 現在の機能には、ベクター編集ツール、グラフィックデザイン向けのプロシージャルワークフロー、ノードベースレイヤー、無料のオープンソース提供が含まれる
- 現在のGraphiteは、プロシージャルなベクターグラフィック編集に特化した軽量なオフラインWebアプリとして利用できる
- 予定されている機能には、より幅広い2D制作作業に向けたツール拡張が含まれる
- あらゆる2D作業のためのオールインワン制作ツール
- 完全なラスター操作機能
- Windows、Mac、LinuxのネイティブアプリとWeb提供
- リアルタイム共同編集
Webファースト提供とデスクトップ版のリリース準備
- Webアプリは現在利用可能で、Windows・Mac・Linux向けデスクトップアプリはリリース候補段階にある
- 正式リリース前テスト向けのダウンロードリンクはDiscordの
#🔥announcementsチャンネルで確認できる - 主な対象はプロ向けデスクトップアプリケーションとして設計されているが、素早いアクセス性のためにブラウザでも利用できる
- プラットフォームに関係なく、ユーザーのハードウェア上でローカルかつプライベートに実行され、サーバーは存在しない
- ネイティブアプリ配布のための技術的作業にはさらに時間が必要なため、すべてのデバイスで最新状態にアクセスできるWebプラットフォームが初期目標となっている
- 現在はPWAとしてインストールすることで、デスクトップアプリに近い体験を利用できる
- デスクトップではグラフィックス負荷の高い作業に対してネイティブ性能を目指し、WebではWebAssemblyとWebGPUにより低オーバーヘッドを目指している
プロシージャル編集が変える作業スタイル
- Graphiteは、あらゆる作業を非破壊方式にするプロシージャル編集ベースの総合グラフィックデザイン製品群を掲げている
- 個々の要素を直接修正する代わりに、ノードパラメータを調整して素早く反復作業を行える
- 円をばらまく作業は数個のノードで作成でき、密度・サイズ・配置領域はスライダーやパス調整で変更できる
- red-dressデモで、このようなプロシージャルな調整方法を直接試せる
- 非破壊編集では、後から調整できるパラメータに決定が結び付けられ、値スライダーをドラッグして複数の状態の間を補間できる
- 色構成間のブレンドや、キャンバスにばらまく前の形状変形などをchanging-seasonsデモで試せる
ノードグラフベースの成果物活用
- Graphiteはアートワークをノードグラフとして表現し、コンテンツワークフローをカスタマイズ、組み合わせ、自動化、再利用、共有できるようにする
- 無限パン・ズームでもピクセル化せずに作業でき、任意の解像度で書き出せる
- 将来的には、ノードシステムからスタンドアロン実行プログラムをコンパイルする機能が計画されている
- スタジオ制作環境にアセットパイプラインを展開する機能も今後の計画に含まれる
学習資料とコミュニティ
- 入門用チュートリアルとしてVector Art Quickstart - Graphite, the Open Source 2D Graphics Suiteの動画が提供されている
- すぐに使いたい場合はLaunch GraphiteからWebアプリを起動できる
- コミュニティチャンネルとしてDiscord、Reddit、Bluesky、Twitter、YouTubeが提供されている
- 開発の持続可能性と独立性のため、メンバーシップまたは単発寄付を受け付けている
1件のコメント
Hacker News のコメント
関連記事としては以下がある。他にもある?
[Open source Rust graphics editor] Graphite progress report (Q2 2024) - https://news.ycombinator.com/item?id=41138691 - 2024年8月
Graphite 2D graphics editor built in Rust: Looking back on 2023 and what's next - https://news.ycombinator.com/item?id=38855850 - 2024年1月
Graphite: 2D Raster and Vector Editor - https://news.ycombinator.com/item?id=38169500 - 2023年11月
Graphite: Open-source raster and vector 2D graphics editor - https://news.ycombinator.com/item?id=36901406 - 2023年7月
Graphite – open-source raster and vector 2D graphics editor written in Rust - https://news.ycombinator.com/item?id=30675530 - 2022年3月
すごい。Inkscapeは好きだけど、このツールもとても良さそう。
ツールがWebアプリとして作られているのを見るとワクワクする。Web側に重心が移るほど、よりオープンでアクセシブルなWebプラットフォームの力も増すから。
Rustも素晴らしいし、おそらくWebAssemblyにコンパイルされているのだろう。
ただ、これほど情熱的で才能ある3人が、なぜSeries A/B投資、post-money SAFE、メディア向けブリーフィングのルートを取らなかったのかは気になる。
最近はAIラッパーや、オープンウェイトのファインチューニング済みパッケージモデルなどをたくさん見ていて、こういうことをよく考える。情熱には値段を付けられないし、幸せは企業価値ではないのかもしれない。
最大成長を目指して中身が空っぽになる巨大企業より、小さくても持続可能で、誠実に事業をする会社を運営したい。
創業者たちも、良いものをなぜ台無しにするのかという疲労感を同じように感じている。少なくとも私たちの一部はそうだ。
オープンウェイトモデルの分野では、イノベーションの大半が企業内で起きており、企業は開発者にアピールしたり、潜在的な競合を潰したりするためにオープンソースを使っている。Metaが広告収益のごく一部を使ってOpenAI/Microsoftの市場を壊すようなものだ。
個人の中には、AIで名前を売りたいVCから少額の補助金を受ける人もいる。たとえばa16zはいくつかのモデルを支援している。
同時に、実力があり高給の技術職、たとえば年収30万〜50万ドルを稼ぐ裕福な人にとって、資金調達は常に魅力的とは限らない。
自分のスタートアップをやれば給与が下がる可能性が高く、オープンモデルが十分に稼げなければ、価値のない持ち分と1〜2年の強いストレスだけが残るかもしれない。
普通、資金調達が早いほど条件も最も悪い。
その資金が必要ないなら、基盤を固め、将来への疑念が少ない会社になるまで調達を遅らせるほうが、たいてい有利だ。
その過程で投資家に多くを売らないと決めることもできるし、製品やチームを本当に大事にしているなら大きな違いになる。外部投資家はそのどちらにもほとんど関心がなく、両方に妥協を迫ることが多い。彼らは金融の人間であり、金を稼ぎに来ている。売る前に目標が互いに合っていることを確実にすべきだ。
これほど複雑なツールをリリースしたのは大きな成果で、おめでとう。
いつか制約ソルバーの入ったベクターグラフィックツールを自分で作ってみたい。グラフィックデザインは素人だが、Inkscapeはとても使いにくく感じることが多い。
ある図形は奇妙なコマンドの組み合わせで作らなければならず、デザイン後に修正するのも難しい。Fusion 360のスケッチのように、線や曲線に制約を付けて寸法を調整する方式のほうが、はるかに直感的でインタラクティブだ。
すでにそういうツールがあるのに、私が知らないだけかもしれない。
良さそう。Illustratorを25年使ってきて、最近はAppearanceスタックを置き換えるノード指向の方式があればいいのにとよく思っていた。
バイナリが出たら試してみたい。Webアプリは嫌いだ。
個人的には、アプリがElectronでも提供されている場合は常にPWAを使おうとしている。
どうせブラウザエンジンに依存するなら、すでに開いていて定期的にアップデートしているエンジンを使うほうがいいと思う。
いくつか提案があります。作業中に突然 “The document cannot be rendered in it current state” という赤いエラーが表示され、Node Graph ボタンを押すように言われました
それ自体はバグではありませんが、私たちのノードが十分に汎用的でないために起きる場合もあります。先ほど、Stroke と Fill ノードがベクターデータには適用されるものの、1つ以上のベクターデータを含むグループデータには適用されない問題を修正しました
こうした問題は、妥当であれば Issue として登録するのがよいです
赤いエラーメッセージは、どこを見るべきかも示しています。ビューポート右上の “Node Graph” ボタンで開けると書かれています
ウィンドウが非常に小さく、ほかのボタンのせいでそのボタンが押し出されていた可能性があるのか気になっています。メッセージ文言をどう改善すればよいか、フィードバックは歓迎します。現時点ではそのダイアログをより視覚的・対話的にするのは難しいですが、将来的に診断機能全般を改善する中で磨き込む価値はあります
紹介文を何度か読み返さないと、これが何なのか理解できませんでした
最初は Blender の代替品だと読んだのですが、試してみると全部 2D で Photoshop のように見えたので混乱しました
結局、Blender をクローズドな 3D モデリング/レンダリングソフトウェアの人気オープンソース代替として挙げつつ、次の Photoshop を指していたのでしょうか?
ご理解のとおり、2D 分野における第二の Blender になることを言っています。実際のイノベーションによって商用競合に追いつき、追い越す汎用ツールを目指しています
Adobe 製品に詳しいわけではなく Inkscape を使っていますが、ここで最も近い対応物は Adobe Illustrator だと思います
スクリーンショットだけでも印象的です。これ以上検討しなくても、違うものだと分かります
Adobe に対抗するBlender のようなプロジェクトがもっと必要だと、ずっと言ってきました。ほかのアプリまで対象にする計画もあるようなので、フォローしつつ成功を期待します
本当に素晴らしく見えます。デザインのための優れたオープンソースツールはどうしても必要です [1]
このリスト [2] に Graphite を追加するとよいと思います。ぜひ使ってみて、進捗も追いかけます
1: https://www.youtube.com/watch?v=lthVYUB8JLs
2: https://github.com/KenneyNL/Adobe-Alternatives
現時点で適切に入れられるカテゴリはIllustrator 代替だけです。来年には次の中核機能としてラスター編集を構築する予定ですが、これまではベクター編集だけに集中してきました
私が何か間違えているのかもしれませんが、各線・円・ボックスが Inkscape のように明示的なレイヤー配下に入るのではなく、自動的に自分の個別レイヤーになるのは、やや直感的ではありません
そのため、レイヤーが実質的に役に立たないように感じます
Rust で書かれている点を前面に出して売るのではなく、製品そのものの価値で成り立っている本物の製品なのでうれしいです
最近は、開発にかっこいい新技術を使った製品が、それをセールスポイントにしていることが多すぎると感じます。ここでは興味深いですが、ツールのユーザーが技術面を気にするのは、安定性・性能・継続的な開発に影響する範囲だけでしょう
イラストレーターではないので、これ以上付け加えることはあまりありませんが、開発者の皆さんが成功するツールへ育て上げることを応援しています