2D vector & raster editor that melds traditional layers & tools with a modern node-based, non-destructive, procedural workflow. https://graphite.rs
Find a file
seam0s-dev 1a81e45673
Add the settings popover menu for the Overlays toggle (#2523)
* Added granular overlays control based on features

* Added basic support for pivot, path, anchors and handles overlay settings

* Added more overlay checks on anchors and handles

* Add new settings over measurements, hover and selection overlays

* Fix errors introduced while rebasing

* Disable anchors and handles functionality with their overlays, extended selection outline check

* Add check to enable/disable outlines on selected layers

* Toggle handles checkbox in sync with anchors checkbox

* Refactor overlays checks

* Remove debug statements

* Update select_tool.rs to resolve conflict

* Minor fix to reflect anchor checkbox state on the handles

* Minor fix to make anchors checkbox work

* Rearrange menu items, and code review

* Fix pivot dragging

* Add handles overlay check when drawing with pen tool

* Fix constrained dragging when transform cage is disabled

* Fix deselecting user selection when anchors are disabled

* Minor fix for disabling anchors

* Remove All from OverlaysType

* Remove debug statements

* Fix editor crash when selecting other layers with path tool and anchors disabled

* Minor fix on overlays check for all overlays

* Add proper code formatting

* Nits

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-30 04:15:46 -07:00
.devcontainer Replace Footprint/() call arguments with dynamically-bound Contexts (#2232) 2025-03-06 05:35:56 -08:00
.github Update Tauri to v2 and execute only the node graph in native (#2362) 2025-04-14 11:43:15 +00:00
.nix Update Tauri to v2 and execute only the node graph in native (#2362) 2025-04-14 11:43:15 +00:00
.vscode Add new icons to all menu bar entries 2025-02-07 19:08:06 -08:00
demo-artwork FIx the 'Morph' node to not fail on topology changes like holes 2025-04-29 04:49:08 -07:00
editor Add the settings popover menu for the Overlays toggle (#2523) 2025-04-30 04:15:46 -07:00
frontend Add donation callouts in-app and on the site 2025-04-25 00:13:24 -07:00
libraries Add the settings popover menu for the Overlays toggle (#2523) 2025-04-30 04:15:46 -07:00
node-graph Refactor the 'Position on Path' and 'Tangent on Path' nodes to use the Kurbo API (#2611) 2025-04-29 21:51:10 -07:00
proc-macros Upgrade to the Rust 2024 edition (#2367) 2025-03-12 17:29:12 -07:00
website Add donation callouts in-app and on the site 2025-04-25 00:13:24 -07:00
.editorconfig Remove all references to Vue 2023-03-10 04:02:02 -08:00
.envrc Update Tauri to v2 and execute only the node graph in native (#2362) 2025-04-14 11:43:15 +00:00
.gitattributes Update Git Attributes for JSON syntax highlighting in *.graphite files (#1752) 2024-05-13 22:35:32 +00:00
.gitignore Fix fill tool on raster image temporarily breaking the graph (#2398) 2025-03-09 19:18:42 +00: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
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
Cargo.lock Update Tauri to v2 and execute only the node graph in native (#2362) 2025-04-14 11:43:15 +00:00
Cargo.toml Update Tauri to v2 and execute only the node graph in native (#2362) 2025-04-14 11:43:15 +00:00
deny.toml Instance tables refactor part 5: unwrap GraphicGroup as multi-row Instance<GraphicElement> tables and move up transforms (#2363) 2025-03-12 01:38:36 -07:00
LICENSE.txt Add Apache 2 license 2020-07-12 13:58:50 -07:00
package-lock.json Add dev container configuration 2024-01-24 23:04:00 +00:00
package.json Update Tauri to v2 and execute only the node graph in native (#2362) 2025-04-14 11:43:15 +00:00
README.md Update website with improved student project details 2025-02-11 17:18:57 -08:00
rustfmt.toml Upgrade to the Rust 2024 edition (#2367) 2025-03-12 17:29:12 -07:00
shell.nix Update Tauri to v2 and execute only the node graph in native (#2362) 2025-04-14 11:43:15 +00:00

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