Graphite
Graphite copied to clipboard
An open source graphics editor for 2025: comprehensive 2D content creation tool suite for graphic design, digital art, and interactive real-time motion graphics — featuring node-based procedural editi...
By creating two layers, applying a boolean operation, then panning the document, the click targets become offset for the original layers. This occurs because the boolean layer node has a...
Steps to reproduce: 1. Use localhost, which has debug optimizations enabled (required) 1. Make a new document (infinite canvas is simplest) 2. Add a Fill node and connect it to...
Draw some things, undo a bit, redo to see how those can be redone, undo back again so there is still redo history, then draw and right click while drawing...
The layer panel is mainly designed to show layers, but because non-layer nodes can also be included at the bottom of a layer stack, or within the middle of it...
The icon for a node, when that icon is hovered, shall change to an expand/collapse arrow (). Secondary inputs also have that arrow, aligned underneath the location of the node's...
If you stick a Transform node underneath a layer stack, the whole stack gets moved even though, intuitively, it's applying to no data in the stack so far. If you...
Currently, both Fill and Stroke apply a single choice of color to their respective fields in the VectorData. This means you can overwrite one with a later one. But we...
Most nodes are rather limited in their type signature compatibility. Most nodes only work on VectorData, but should be extended to work on GraphicGroup data as well. #1822 covers the...
When the node graph is open, the ruler increments should be rounded to a whole number. This may require calculating an offset and/or custom tick spacing to ensure the ticks...
The first basic implementation of this was added in #1894, now this issue is about improving it so it matches the spec described below. When holding the Alt key with...