![]() * 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 |
||
---|---|---|
.devcontainer | ||
.github | ||
.vscode | ||
demo-artwork | ||
editor | ||
frontend | ||
libraries | ||
node-graph | ||
proc-macros | ||
website | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.nvmrc | ||
.prettierrc | ||
about.hbs | ||
about.toml | ||
Cargo.lock | ||
Cargo.toml | ||
deny.toml | ||
LICENSE.txt | ||
package-lock.json | ||
package.json | ||
README.md | ||
rustfmt.toml | ||
shell.nix |
Redefining state-of-the-art graphics editing
Graphite is an in-development raster and vector graphics package that's free and open source. It is powered by a node graph compositing engine that fuses layers with nodes, providing a fully nondestructive editing experience.
Presently, Graphite is a lightweight vector graphics editor that runs in your browser. Its node-based compositor lets you apply image effects and co-create art with generative AI.
Photo editing, digital painting, desktop publishing, VFX compositing, and motion graphics are additional competencies planned on the roadmap to make Graphite a highly versatile content creation tool.
Launch the latest alpha release of the Graphite editor and learn more at the project website.
⭐ Please remember to star this project here on GitHub! ⭐
Red Dress (click to open this artwork and explore it yourself)
Valley of Spires (click to open this artwork and explore it yourself)
Discord community
Join our Discord community to chat with the community and development team. Feel free to lurk, ask questions, give suggestions, or get involved in the project. We are always seeking new collaborators to help test, design, and develop the software and this is where we communicate.
Building/contributing
We need Rust and web developers! See instructions here for setting up the project and getting started.
We are also in search of artists to create beautiful sample work in Graphite and illustrations for the website and social media. Please get in touch if you are able to help out.
By submitting code for inclusion in the project, you are agreeing to license your changes under the Apache 2.0 license, and that you have the authority to do so. Some directories may have other licenses, like dual-licensed MIT/Apache 2.0, and code submissions to those directories mean you agree to the applicable license(s).
Features and roadmap
See the web page for this information.
Support the project
Please consider pledging a monthly donation. Your contribution helps sustain this volunteer-run open source project and brings powerful, free creative tools to the masses.