Description
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
Metadata
Metadata
Assignees
Type
Projects
Status