mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 17:56:50 -06:00
The renderer kept the shapes it drew for plug-in effects while the object stayed the same. When a plug-in was installed for the first time, installed again or removed, a renderer that had drawn the object went on drawing the shapes from before the change. When the plug-in registry's revision changes, the renderer now drops the effect geometry and the effect art of objects with a plug-in effect, and the cull bounds of every object that is or holds a symbol instance or an object with a plug-in effect. Each thread then drops the pattern tiles whose art has a plug-in effect or shows symbols or patterns. The renderer adds the revision to the inputs of a raster when its content has a plug-in effect, or shows symbols or patterns while the document's symbol or pattern art has one, and to the key of a live object's evaluation when the object, or an object it shows, has a plug-in effect. With other builds running, a temporary release test timed that key for the 400 live objects in each of three documents at 11 to 609 microseconds a frame, against 9 to 433 before. Docs: docs/target-app-parity.md, docs/gaps.md.
44 lines
1.5 KiB
TOML
44 lines
1.5 KiB
TOML
[package]
|
|
name = "vectorcraft-render"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "VectorCraft renderer: document to pixels (vello_cpu backend)"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
vectorcraft-geom = { workspace = true }
|
|
vectorcraft-color = { workspace = true }
|
|
vectorcraft-doc = { workspace = true }
|
|
vectorcraft-text = { workspace = true }
|
|
vectorcraft-effects = { workspace = true }
|
|
vectorcraft-brush = { workspace = true }
|
|
vello_cpu = { workspace = true }
|
|
# Filter types (Gaussian blur, drop shadow) are not re-exported by vello_cpu 0.2.
|
|
vello_common = { version = "0.2", default-features = false }
|
|
image = { workspace = true }
|
|
flate2 = { workspace = true }
|
|
jpeg-encoder = { workspace = true }
|
|
gif = { workspace = true }
|
|
# TIFF LZW compression (MIT OR Apache-2.0; already used by the image crate's TIFF reader).
|
|
weezl = "0.1"
|
|
log = { workspace = true }
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
vello_cpu = { workspace = true, features = ["multithreading"] }
|
|
|
|
[dev-dependencies]
|
|
vectorcraft-testkit = { workspace = true }
|
|
# Live-effect plug-ins the cache tests install, written in WebAssembly text.
|
|
vectorcraft-plugins = { workspace = true }
|
|
wat = { workspace = true }
|
|
# Decoders the export tests read their files back with.
|
|
image = { workspace = true, features = ["tga"] }
|
|
tiff = "0.11"
|
|
# Reads the PSD exports back (MIT OR Apache-2.0).
|
|
psd = "0.3"
|
|
proptest = { workspace = true }
|
|
serde_json = { workspace = true }
|