GraphiteEditor / GraphiteEditor/Graphite

Reimplement the node graph UI in the backend

オープン
#1,922 コメント 1 件 リアクション 0 件 担当者 1 名 @adamgerhant が担当を希望しています GitHub で見る
Performance Web
主要言語
Rust
スター
27.2k
フォーク
1.3k
平均マージ
20時間 5分
マージ済み PR(30日)
57

説明

HTML/CSS isn't well suited for our node graph implementation. We need to reimplement all functionality of the UI by building it out of rounded rectangles, icons, strokes, etc. in the backend. Vello will then be able to render this much more efficiently than the HTML/CSS implementation, while also being able to apply certain effects like the frosted glass background that aren't possible in the current web-based UI due to CSS limitations. In addition to helping fix performance and improve styling, this will help remove a bunch of plumbing code and reuse a lot of code that already goes into rendering the artwork within the viewport, which will now simply have a node graph drawn similarly above it. Once this is done, we can begin putting more effort again into the node graph UI for extra features that aren't worthwhile in the soon-to-be-replaced web UI for the graph, which was always a hacky mess to begin with.

There are two possible approaches:
- Directly emitting a Vello scene
- Pro: probably faster
- Pro: possibly more controllable
- Con: requires WebGPU which is an issue until the end of 2024
- Unknown: might be easier *or* harder to implement frosted background blurring
- Emitting the GraphicGroup data describing how the node graph can be rendered (but without the node graph, just the graphical data)
- Pro: backwards-compatible for SVG-based rendering without Vello
- Con: may require additional maintenance burden as we update the graphical data format
- Unknown: might be easier **or* harder to implement frosted background blurring

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。