* Add compile time benchmark for the demo artwork
* Implement node input replacement batching
isometric-fountain time: [7.4307 ms 7.5072 ms 7.5974 ms]
change: [-19.302% -18.136% -16.903%] (p = 0.00 < 0.05)
Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
6 (6.00%) high mild
4 (4.00%) high severe
painted-dreams time: [1.8108 ms 1.8223 ms 1.8350 ms]
change: [-12.422% -11.524% -10.650%] (p = 0.00 < 0.05)
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
5 (5.00%) high mild
8 (8.00%) high severe
procedural-string-lights
time: [551.65 µs 560.58 µs 571.13 µs]
change: [-5.7783% -2.5770% +1.3136%] (p = 0.20 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
1 (1.00%) high mild
5 (5.00%) high severe
red-dress time: [9.7951 ms 9.9006 ms 10.016 ms]
change: [-18.812% -17.558% -16.292%] (p = 0.00 < 0.05)
Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
5 (5.00%) high mild
valley-of-spires time: [4.7294 ms 4.7837 ms 4.8442 ms]
change: [-16.889% -15.712% -14.615%] (p = 0.00 < 0.05)
Performance has improved.
Found 16 outliers among 100 measurements (16.00%)
11 (11.00%) high mild
5 (5.00%) high severe
* Implement node dependency tracking
isometric-fountain time: [6.5695 ms 6.6418 ms 6.7227 ms]
change: [-13.426% -12.112% -10.681%] (p = 0.00 < 0.05)
Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
5 (5.00%) high mild
5 (5.00%) high severe
painted-dreams time: [1.7406 ms 1.7566 ms 1.7742 ms]
change: [-4.7386% -3.5484% -2.3707%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
10 (10.00%) high mild
1 (1.00%) high severe
procedural-string-lights
time: [585.40 µs 590.98 µs 596.82 µs]
change: [-3.7739% +0.7591% +4.6293%] (p = 0.76 > 0.05)
No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
red-dress time: [8.4314 ms 8.5072 ms 8.5899 ms]
change: [-26.797% -25.374% -23.958%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
5 (5.00%) high mild
6 (6.00%) high severe
valley-of-spires time: [4.3700 ms 4.4118 ms 4.4579 ms]
change: [-11.470% -10.198% -8.9826%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
7 (7.00%) high mild
5 (5.00%) high severe
* Remove clone and use rustc hash for storing nodes
isometric-fountain time: [5.9220 ms 5.9854 ms 6.0570 ms]
change: [-11.974% -10.539% -9.2291%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
4 (4.00%) high mild
8 (8.00%) high severe
painted-dreams time: [1.5337 ms 1.5470 ms 1.5618 ms]
change: [-11.901% -10.907% -9.9075%] (p = 0.00 < 0.05)
Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
5 (5.00%) high mild
4 (4.00%) high severe
procedural-string-lights
time: [496.44 µs 501.44 µs 506.33 µs]
change: [-20.002% -15.633% -12.213%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
3 (3.00%) high mild
1 (1.00%) high severe
red-dress time: [7.7037 ms 7.7871 ms 7.8774 ms]
change: [-11.906% -10.576% -9.2560%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
7 (7.00%) high mild
1 (1.00%) high severe
valley-of-spires time: [3.9182 ms 3.9501 ms 3.9851 ms]
change: [-14.615% -13.075% -11.500%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
* Fix test depending on stable node order
* Simplify flattening
* Remove unused dependant vec size safeguards
* Improve topological sort and make assert debug only
isometric-fountain time: [2.9515 ms 2.9971 ms 3.0459 ms]
change: [-61.270% -60.533% -59.747%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
7 (7.00%) high mild
4 (4.00%) high severe
Benchmarking painted-dreams: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 8.1s, enable flat sampling, or reduce sample count to 50.
painted-dreams time: [1.1134 ms 1.1322 ms 1.1494 ms]
change: [-40.991% -37.660% -34.129%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
procedural-string-lights
time: [391.88 µs 397.80 µs 403.84 µs]
change: [-19.953% -17.762% -14.930%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
3 (3.00%) high mild
3 (3.00%) high severe
red-dress time: [3.0722 ms 3.1179 ms 3.1707 ms]
change: [-59.878% -59.168% -58.422%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
5 (5.00%) high mild
7 (7.00%) high severe
valley-of-spires time: [2.0234 ms 2.0470 ms 2.0737 ms]
change: [-48.994% -47.910% -46.907%] (p = 0.00 < 0.05)
Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
2 (2.00%) high mild
7 (7.00%) high severe
* Improve id remapping logic by reusing id mapping
isometric-fountain time: [2.2464 ms 2.2841 ms 2.3260 ms]
change: [-25.693% -23.790% -22.024%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
5 (5.00%) high mild
1 (1.00%) high severe
Benchmarking painted-dreams: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 7.3s, enable flat sampling, or reduce sample count to 50.
painted-dreams time: [869.96 µs 886.99 µs 902.36 µs]
change: [-26.928% -19.590% -8.0737%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
procedural-string-lights
time: [291.60 µs 296.60 µs 302.45 µs]
change: [-28.175% -25.168% -22.078%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
2 (2.00%) high mild
6 (6.00%) high severe
red-dress time: [2.7946 ms 2.8356 ms 2.8800 ms]
change: [-10.991% -9.0546% -6.9757%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
7 (7.00%) high mild
valley-of-spires time: [1.5583 ms 1.5801 ms 1.6039 ms]
change: [-24.165% -22.811% -21.213%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
7 (7.00%) high mild
* Remove flame graph file
* Disable vello checkbox if no wgpu support is available
* Fix compile error
* Check wgpu status on every diagogue open
* Execute graph on settings change
* Remove tooltip and disabled status from settings category
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Bump lock files
* Fix glam mismatch version
* Add tokio feature
* Update all deps
* Fix gpu-compiler not able to reference the root workspace
* Bump a few more deps
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* WIP
* Start deprecating let nodes
* Replace WasmEditorApi network imports with new Scope input
* Add missing unwrap
* Add #[serde(default)] to scope_injections
* Restructure WasmEditorApi definition to be available as a TaggedValue
* Fix text node
* Use stable toolchain in nix shell again
* Code review
* FIx text node and remove all remaining warnings
* Require executor input to be 'static
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Refactor Graphite dependency management
* Remove deprecated future executor
* Code review nits
* Remove unused dependencies
* Update dependencies and make compile with all features
* Replace use of future_executor with wasm-bindgen-futures
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Reorganize file structure
* Remove all unsafe code
* Add testcase for debugging ub
* Convert into proper test with fail condition
* General cleanup
* Fix tests
* Add feature guard for deallocation
* Use raw pointer for storing values to avoid violating aliasing rules
* Add comment explaining the disabling of simd128
* Fix brush node
* Fix formatting
* add derive(specta::Type)
* use specta from git
* introduce Uuid type
* remove unnecessary specta::Type
* document export_types test
* upgrade Specta
The previous Specta branch had some hacks that were just for this project. They have all been converted into proper features so they can be merged into main.
* remove some unnecessary specta::Type uses
* add MessageDiscriminantDef explanation
* manually export types with specta
* rename 'specta.rs' to 'export_types.rs'
* rename 'export_types' to 'generate_ts_types'
---------
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* Use builder pattern for widgets
* Arguments to new function
* Add node graph when dragging in image
* Fix duplicate import
* Skip processing under node graph frame if unused
* Reduce node graph rerenders
* DUPLICATE ALL frontend changes into other frontend
* DUPLICATE more changes to another frontend
* Code review
* Allow importing SVG files as bitmaps
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Setup tauri component for graphite editor
Integrate graphite into tauri app
Split interpreted-executor out of graph-craft
* Add gpu execution node
* General Cleanup
* Add Executor abstraction
* Resolve inputs for proto nodes by adding compose nodes
* Add infrastructure for compiling gpu code
* Integrate nodegraph gpu execution into graph-crafter
* Extract graphene core path from env vars
* Make Color struct usable for gpu code
* Move the Subpath type to graphene-std
* Add the transform subpath node
* Delete selected nodes
* Inserting node list on right click
* Add several bitmap manipulator nodes
* Convert add node to use f64
* Add posterize node
* Rename names randomly
* Fix naming
* Exposure node
* Fix typo
* Adjust exposure node range
* Comment out vector nodes
* Adjust exposure range again
* Posterise as ints
* Rename input
* Use >= in the to hsl function
* Node graph API stub
* Rename and fix SetInputValue
* Get list of links from network
* Test populating node graph UI
* Node properties
* Fix viewport bounds
* Slightly change promise usage
* A tiny bit of cleanup I did while reading code
* Cleanup and work towards hooking up node links in Vue template
* Add the brighten colour node
* Run cargo fmt
* Add to and from hsla
* GrayscaleImage node with small perf improvement
* Fix gutter panel resizing
* Display node links from backend
* Add support for connecting node links
* Use existing message
* Fix formatting error
* Add a (currently crashing) brighten node
* Replace brighten node with proto node implementation
* Add support for connecting node links
* Update watch dirs
* Add hue shift node
* Add create_node function to editor api
* Basic insert node UI
* Fix broken names
* Add log
* Fix positioning
* Set connector index to 0
* Add properties for Heu shift / brighten
* Allow deselecting nodes
* Redesign Properties panel collapsible sections
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>