Go to file
Adam Gerhant eec0ef761c
Polish user-created subgraph nodes: imports in the Properties panel; reorder/delete/rename imports/exports (#2105)
* Remove imports/exports

* WIP: Autogenerated properties

* WIP: Input based properties

* WIP: Hashmap based input overrides

* Migrate noise pattern node to input properties

* Reorder exports

* Continue migrating properties

* WIP: Improve reorder exports

* Automatically populate all input properties for sub networks

* Complete reorder import and export

* Add widget override to node macro

* Migrate assign colors to input based properties

* WIP: Full node property override

* Node based properties override for proto nodes

* Migrate all node properties to be input based

* Rename imports/exports

* improve UI

* Protonode input valid implementations

* Valid type list

* Small formatting fixes

* Polishing small issues

* Document upgrade

* fix tests

* Upgrade noise pattern node

* remove console log

* Fix upgrade script for Noise Pattern

* Improve the Properties panel representation for graphical data

* Re-export demo art

* Code review

* code review improvements

* Cleanup for node properties overrides

* Reexport demo art

* Fix clippy lints

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-01-20 21:13:14 -08:00
.devcontainer Fix, document, and update npm dependencies and tooling; fix Bezier-rs demos not building (#1857) 2024-07-24 18:05:01 -07:00
.github Reduce website loading times and related code cleanup 2025-01-08 18:29:54 -08:00
.vscode Add max width/height to text layers and draggable text boxes to the Text tool (#2118) 2024-12-31 20:50:47 -08:00
demo-artwork Polish user-created subgraph nodes: imports in the Properties panel; reorder/delete/rename imports/exports (#2105) 2025-01-20 21:13:14 -08:00
editor Polish user-created subgraph nodes: imports in the Properties panel; reorder/delete/rename imports/exports (#2105) 2025-01-20 21:13:14 -08:00
frontend Polish user-created subgraph nodes: imports in the Properties panel; reorder/delete/rename imports/exports (#2105) 2025-01-20 21:13:14 -08:00
libraries Remove trailing zeros in rendered SVG path output 2025-01-13 02:56:33 -08:00
node-graph Polish user-created subgraph nodes: imports in the Properties panel; reorder/delete/rename imports/exports (#2105) 2025-01-20 21:13:14 -08:00
proc-macros Fix clippy lints (#2119) 2024-11-29 22:58:49 +00:00
website Improve readability of the donation page 2025-01-18 01:29:01 -08:00
.editorconfig Remove all references to Vue 2023-03-10 04:02:02 -08:00
.gitattributes Update Git Attributes for JSON syntax highlighting in `*.graphite` files (#1752) 2024-05-13 22:35:32 +00:00
.gitignore Add profiling metrics for, and speed up, Graphene graph compilation (#1924) 2024-08-12 03:07:36 -07:00
.nvmrc Add dev container configuration 2024-01-24 23:04:00 +00:00
.prettierrc Fix Bezier-rs interactive demos and migrate its Webpack bundler to Vite 2024-01-04 23:13:40 -08:00
Cargo.lock Polish user-created subgraph nodes: imports in the Properties panel; reorder/delete/rename imports/exports (#2105) 2025-01-20 21:13:14 -08:00
Cargo.toml Comprehensively update user manual and contributor guide, add Adam to core team 2025-01-08 03:52:11 -08:00
LICENSE.txt Add Apache 2 license 2020-07-12 13:58:50 -07:00
README.md Add marbled mandelbrot as unpublished demo art 2025-01-18 20:00:06 -08:00
about.hbs Replace license generator web infra to use Vite 2023-11-13 03:38:36 -08:00
about.toml Migrate node graph UI interaction from frontend to backend (#1768) 2024-06-15 08:55:33 -07:00
deny.toml Update some dependencies (#2134) 2024-12-12 18:28:49 +00:00
package-lock.json Add dev container configuration 2024-01-24 23:04:00 +00:00
package.json Simplify build process by auto-installing npm packages and simplify the contributor guide (#1799) 2024-07-14 20:16:02 -07:00
rustfmt.toml Upgrade rustfmt to 2021 edition 2021-11-02 20:08:39 -07:00
shell.nix Rename Raw-rs to Rawkit (#2088) 2024-11-03 08:10:39 +00:00

README.md

Graphite logo

Your procedural toolbox for 2D content creation

Graphite is a free, open source vector and raster graphics engine, available now in alpha. Get creative with a nondestructive editing workflow that combines layer-based compositing with node-based generative design.

Having begun life as a vector editor, Graphite continues evolving into a generalized, all-in-one graphics toolbox that's built more like a game engine than a conventional creative app. The editor's tools wrap its node graph core, providing user-friendly workflows for vector, raster, and beyond. Photo editing, motion graphics, digital painting, desktop publishing, and VFX compositing are additional competencies from the roadmap making Graphite into a highly versatile content creation tool.

Learn more from the website, subscribe to the newsletter, consider volunteering or donating, and remember to give this repository a !


Discord      Reddit      Bluesky      Twitter      YouTube

Screenshots

"Isometric Fountain" vector artwork

"Marbled Mandelbrot" fractal raster artwork

Contributing/building the code

Are you a graphics programmer or Rust developer? Graphite aims to be one of the most approachable projects for putting your engineering skills to use in the world of open source. See instructions here for setting up the project and getting started.

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).

Support our mission ❤️

Graphite is 100% community built and funded. Please become a part of keeping our project alive and thriving with a donation if you share a belief in our mission:

Graphite strives to unshackle the creativity of every budding artist and seasoned professional by building the best comprehensive art and design tool that's accessible to all.

Mission success will come when Graphite is an industry standard. A cohesive product vision and focus on innovation over imitation is the strategy that will make that possible.