Optimize rendering by caching intermediate render results when panning/zooming (#3147)

* Add svg render node

WIP

Fix error in context nullificaton node insertion

Correctly translate metadata

Fix warning

* Cleanup

* Remove color / gradient check and fix svg defs

* Implement viewport filling transform modification for vello

* Cleanup and comments

* Code review
This commit is contained in:
Dennis Kobert
2025-09-11 10:56:59 +02:00
parent 09ece9424d
commit ad5d8fcd37
12 changed files with 338 additions and 262 deletions

View File

@@ -7,7 +7,7 @@ authors = ["Graphite Authors <contact@graphite.rs>"]
license = "MIT OR Apache-2.0"
[features]
default = ["wasm"]
default = ["wasm", "wgpu"]
gpu = []
wgpu = ["gpu", "graph-craft/wgpu", "graphene-application-io/wgpu"]
wasm = [
@@ -18,7 +18,7 @@ wasm = [
"image/png",
]
image-compare = []
vello = ["dep:vello", "gpu"]
vello = ["gpu"]
resvg = []
wayland = ["graph-craft/wayland"]
shader-nodes = ["graphene-raster-nodes/shader-nodes"]
@@ -48,7 +48,8 @@ base64 = { workspace = true }
wasm-bindgen = { workspace = true, optional = true }
wasm-bindgen-futures = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
vello = { workspace = true, optional = true }
vello = { workspace = true }
vello_encoding = { workspace = true }
web-sys = { workspace = true, optional = true, features = [
"Window",
"CanvasRenderingContext2d",