Graphite features

The current alpha version of Graphite is a tool for vector art and graphic design. It also supports a limited, experimental raster editing toolset. This tooling is built around a procedural graphics engine, letting artists build complex graphics and animations in its visual scripting language.

Layers & nodes: hybrid editing

Graphite combines the best ideas from multiple categories of digital content creation software to reimagine the workflows of 2D graphics editing. It is influenced by the core editing experience of traditional layer-based raster and vector tools, the nondestructive approaches of VFX compositing programs used by film studios, and the boundless creative possibilities of procedural production tools daily-driven by the 3D industry.

Classic layer-based image editing is easy to understand, employing collapsable folders that help artists stay organized. A variety of interactive viewport tools make it easy to manipulate the layers by drawing directly onto the canvas. On the other hand, node-based editing is essentially artist-friendly programming. It works by describing manipulations as steps in a flowchart, which is vastly more powerful but comes with added complexity.

The hybrid workflow pioneered by Graphite is able to deliver a classic tool-centric, layer-based editing experience built around a procedural, node-based compositor. Users can ignore the node graph, use it exclusively, or switch back and forth with the press of a button while creating content. Interacting with the canvas using tools will manipulate the nodes behind the scenes. And the layer panel and node graph provide two equivalent, interchangeable views of the same document structure.

Raster & vector: sharp at all sizes

Digital 2D art commonly takes two forms. Raster artwork is made out of pixels which means it can look like anything imaginable, but it becomes blurry or pixelated when upscaling to a higher resolution. Vector artwork is made out of curved shapes which is perfect for some art styles but limiting to others. The magic of vector is that its mathematically-described curves can be enlarged to any size and remain crisp.

Other apps commonly focus on just raster or vector, forcing artists to buy and learn separate products for both. Mixing art styles requires shuttling content back and forth between programs. And since picking a raster document resolution is a one-time commitment, artists often choose to start out big, resulting in sluggish editing performance and multi-gigabyte documents.

Graphite reinvents raster rendering so it stays sharp at any scale. Artwork is treated as data, not pixels, and is always redrawn at the current viewing resolution. Zoom the viewport and export images at any size— the document's paint brushes, masks, filters, and effects will always be rendered in full detail.

Marrying vector and raster under one roof enables both art forms to complement each other in one cohesive creative workflow. (Scalable raster compositing is still experimental.)

Roadmap

— Pre-Alpha —

ImageEditor systems; basic vector art tools

— Alpha 1 —

ImageBetter tools; node graph prototyping

— Alpha 2 —

ImageNode graph integration in documents

— Alpha 3 —

ImageProcedural vector editing and usability

— Alpha 4 —

ImagePerformance, animation, desktop RC1

— Alpha 5 —

ImageMore robust path boolean operations
ImageBlend tool to morph between shapes
ImageRichly-styled tooltips and UI polish
ImageCustom attributes for list data
ImageVector mesh editing and rendering
ImageDockable panels and tab reordering
ImageOffline caching and installable PWA
ImageEmbedded resource management
ImageItem/list graph data flow ergonomics
ImageScalar/vector math evaluator
ImageStable document format
ImageMultiplayer collaborative editing
ImageImproved imaging model data format
ImageNew and improved brush tool
ImageStylus drawing with pressure and tilt
ImageDesktop app release candidates RC2-6
ImageContext menus throughout the editor
ImageTimeline panel for animation curves
ImagePhysical measurement units
ImageAccess to local system fonts
ImagePer-glyph text style controls
ImageText-on-path tool support
ImageColor palette panel
ImageGPU-accelerated raster rendering
ImageNondestructive shape builder tool
ImageVector path editing UX polish
ImageSimplified main Inspector
ImageAutomatic image trace vectorization
ImageBasic support for PDF export
ImageDesktop app release and 1.0 launch

— Beta 1 —

ImageSigned distance field rendering
ImageBroader SVG support including filters
ImageSelection tools and marquee masking
ImageRaster adjustments, filters, and effects
ImageLiquify and warp transforms
ImageVariables and live color swatches
ImageCode editor for custom nodes
ImageNode version management
ImageNested documents as custom nodes
ImageSaving over local files (web version)
ImageAdvanced typesetting features
ImageCMYK, spot color, and ICC profiles
ImageHDR and WCG color handling
ImageParametric art standalone export
ImageCommand palette

— Beta 2 —

ImageDocument history management
ImageOffline edit resolution with CRDTs
ImageHistory brush and clone stamp tools
ImageOnion skinning mode for animation
ImageAnimatable deformation meshes/rigs
ImageReal-time interaction persistence
ImageMIDI and audio-reactive visualization
ImageSimulation domains
ImageProcedural PBR material generation
ImageRaw photo processing
ImageProcedural styling of paint brushes
ImageAsset libraries and node marketplace
ImageAutomation/batch processing tools
ImageMultiple adjacent document panels
ImageTear-out panels as separate windows

— LTS Releases —

ImageInternationalization and accessibility
ImageImport: PDF, EPS, AI, DXF, PSD, TIFF
ImageOutliner panel (node graph tree view)
ImageNeural nodes/tools like Magic Wand
ImageInfinite generative vector patterns
ImageGeometric constraint system solver
ImageResponsive design layout solver
ImageAuthoring animated SVGs, Lottie, etc.
ImageTracking, keying, and rotoscoping tools
ImageLive video stream compositing
ImageTablet app and keyboard-free controls
ImageMedia collection manager/browser
ImageCloud document storage/device sync
ImagePredictive graph rendering/caching
ImageMulti-device distributed rendering
ImageHosted rendering accelerator service
Image…and that's all just the beginning…

Roadmap spotlight: keyframe animation

Coming late 2026, Graphite will expand its animation toolset beyond parametrically-driven motion to include traditional keyframe animation. The Timeline panel pictured below will let animators drive parameters using keyframes and curves through a traditional dopesheet interface.

Node parameters can be set to a constant value in the Inspector, exposed to the graph for procedural animation, or exposed to a channel in the upcoming Timeline panel for hand-authored keyframing.

The panel will enable users to scrub through time with the playhead and choose between timing with discrete frames or continuous seconds. A dedicated curves editing mode (not pictured) will enable fine-tuning parameters with a labeled Y-axis, while the dopesheet allows individual channels to be expanded to view and edit the shape and smoothness of curves inline.

Work-in-progress design mockup:

Image

Roadmap spotlight: raster image editing

The vision since Graphite's inception has been to open up the traditional raster image editing workflow to the greater degree of flexibility found in node-based compositors, without one approach compromising the ergonomics of the other.

As with Graphite's current vector toolset, raster editing will interpret the user's interactive edits as modifications to the construction of layers in the underlying node graph rather than destructive alterations to layer pixel data (as in other image editors). By containing only a description of the user's editing operations without the data, documents will remain ultra tiny when source assets are linked externally.

Brushes, selection tools, masks, filters, effects, adjustment layers, and other tools used to manipulate raster layers will all be presented in a familiar form when Graphite's raster toolset nears maturity by the end of beta.

Work-in-progress design mockup:

ImageImage