Graphite ships with a library of built-in nodes covering vector geometry creation and modification, raster image processing, transforms, repeaters, math operations, blending, and text. Every node listed here is sourced directly from the Graphite codebase. This page is a reference overview organized by category — use the search or accordion sections below to find the node you need.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/GraphiteEditor/Graphite/llms.txt
Use this file to discover all available pages before exploring further.
This reference is not exhaustive. The node library continues to grow with each release as new capabilities are added to Graphene, Graphite’s procedural graphics engine. Check the in-app node search for the most current set of available nodes.
Vector: Shape Nodes
Vector: Shape Nodes
These nodes generate primitive vector geometry from scratch. They produce an
Item<Vector> output that can be styled with Fill and Stroke nodes, transformed, repeated, or modified by downstream vector nodes.| Node | Description | Key Parameters |
|---|---|---|
| Circle | Generates a circle shape with a chosen radius. | radius (px) |
| Ellipse | Generates an ellipse shape (an oval or stretched circle) with chosen X and Y radii. | radius_x, radius_y (px) |
| Rectangle | Generates a rectangle with chosen width and height. Optionally applies per-corner rounding. | width, height (px), corner_radius, clamped |
| Regular Polygon | Generates a regular polygon with N sides (triangle, hexagon, n-gon, etc.) and a chosen radius. | sides, radius (px) |
| Star | Generates an N-pointed star with separate inner and outer radii. | sides, radius_1, radius_2 (px) |
| Arc | Generates an arc forming a portion of a circle. The arc may be open, closed, or a pie slice. | radius, start_angle, sweep_angle, arc_type |
| Spiral | Generates a spiral that winds from an inner to an outer radius. | spiral_type, turns, start_angle, inner_radius, outer_radius |
| Arrow | Generates an arrow shape from the origin toward a target coordinate. | arrow_to, shaft_width, head_width, head_length |
| Line | Generates a straight line segment from the origin to a target coordinate. | line_to |
| Grid | Generates a rectangular or isometric grid of points connected by line segments. | grid_type, spacing, columns, rows |
| QR Code | Generates a QR code as vector geometry from the input text. | text, size, error_correction, individual_squares |
| Box Corners | Builds a set of four corner values (e.g., for rectangle corner radii) from one to four values. | values |
Vector: Style Nodes
Vector: Style Nodes
These nodes apply visual styling — fill colors, stroke outlines, and color assignments — to vector content. They do not change the geometry itself, only its appearance.
| Node | Description | Key Parameters |
|---|---|---|
| Fill | Applies a fill style to vector content, painting the interior of the geometry. Supports solid colors, gradients, and raster images as fill sources. | content, fill |
| Stroke | Applies a stroke style (outline) to vector content. Controls weight, alignment, cap shape, join shape, miter limit, paint order, and dash pattern. | content, paint, weight, align, cap, join, miter_limit, dash_pattern |
| Dash Pattern | Builds a stroke dash pattern from a list of alternating dash and gap lengths. | lengths |
| Assign Colors | Uniquely sets the fill and/or stroke of every vector element to individual colors sampled across a gradient, with optional randomization. | content, fill, stroke, gradient, randomize, repeat_every |
Vector: Modifier Nodes
Vector: Modifier Nodes
These nodes transform or reshape existing vector geometry. They receive a
Vector input and produce a modified Vector output without changing the original style.| Node | Description | Key Parameters |
|---|---|---|
| Round Corners | Rounds the corners of a vector path at a given radius and roundness amount. | radius, roundness, min_angle_threshold |
| Offset Path | Expands or contracts a path by pushing all segments outward or inward by a uniform distance. | distance, join, miter_limit |
| Solidify Stroke | Converts a stroked path into a filled outline shape. Useful for exporting or further editing the stroke geometry. | content |
| Bounding Box | Replaces the input geometry with a rectangle matching its axis-aligned bounding box. | content |
| Separate Subpaths | Splits a compound path into individual subpaths, one per list element. | content |
| Merge by Distance | Merges nearby anchor points within a tolerance distance. Supports both spatial and topological algorithms. | distance, algorithm |
| Auto-Tangents | Automatically constructs smooth Bézier handles for anchor points. Optionally preserves existing handles. | spread, preserve_existing |
| Spline | Converts a series of anchor points into a smooth cubic Bézier spline through all points. | content |
| Sample Polyline | Converts vector geometry into a polyline by sampling evenly spaced points along the path. | spacing, separation, quantity, start_offset, stop_offset |
| Scatter Points | Distributes random points within a closed shape using Poisson disk sampling for even spacing. | separation, seed |
| Simplify | Reduces the number of curve segments while preserving the overall shape within a tolerance. | tolerance |
| Decimate | Samples curves to polylines then applies Ramer-Douglas-Peucker simplification to reduce point count. | tolerance |
| Relax Points | Evens out distances between points using Lloyd’s relaxation (Voronoi-based). | iterations |
| Jitter Points | Perturbs anchor point positions by random amounts and directions. | max_distance, seed, along_normals |
| Offset Points | Displaces anchor points along their normals by a set distance. | distance |
| Extrude | Extrudes a 2D path in a direction, creating new segments connecting the original and offset geometry. | direction, joining_algorithm |
| Box Warp | Warps vector geometry to fit inside a target quadrilateral using bilinear interpolation. | content, rectangle |
| Cut Path | Cuts a path at a given progression factor, splitting it into two subpaths. | progression, reverse, parameterized_distance |
| Cut Segments | Cuts path segments into separate disconnected pieces (one subpath per segment). | content |
| Morph | Interpolates the geometry, appearance, and transform between multiple vector layers. | content, progression, distribution |
Vector: Measure Nodes
Vector: Measure Nodes
These nodes extract measurement data from vector geometry, producing numeric or boolean values that can feed into other parts of the graph.
| Node | Description | Key Parameters |
|---|---|---|
| Dimensions | Outputs the width and height of the bounding box of the vector content as a vec2. | content |
| Position on Path | Returns the 2D position of a point at a given progression (0–1) along the path. | content, progression, reverse |
| Tangent on Path | Returns the angle of the tangent at a given progression along the path, in degrees or radians. | content, progression, reverse, radians |
| Path is Closed | Returns true if the subpath at the given index is closed (forms a loop). | content, index |
Vector: Utility Nodes
Vector: Utility Nodes
Miscellaneous vector utility nodes that combine paths, map points, distribute geometry to points, or pack shapes.
| Node | Description | Key Parameters |
|---|---|---|
| Combine Paths | Combines every vector path across the input into a single compound path. | content |
| Points to Polyline | Creates a polyline from the anchor points in a vector, connecting them in sequence. | points, closed |
| Map Points | Applies a per-point mapping node to each anchor point’s position in the vector geometry. | content, mapped |
| Copy to Points | Places copies of the content artwork at each anchor point in a points vector, with optional random scale and rotation. | points, content, random_scale_min, random_scale_max, random_rotation |
| Pack Strips | Packs a list of shapes into rows or columns using the Best-Fit Decreasing Height algorithm. | elements, separation, strip_max_length, strip_direction |
| Voronoi Cells | Builds a Voronoi diagram from anchor points, tessellating the plane into nearest-neighbor cells. | source, connect_cells |
| Triangulate | Builds a Delaunay triangulation connecting anchor points into a mesh of triangles. | source, connect_cells |
| As Vector | Type-asserts a value as vector data (useful for disambiguation in complex graphs). | value |
| Flatten Vector | Converts a Graphic[] to Vector[] by deeply flattening any vector content. | content |
| Bake Transform | Bakes the transform attribute directly into the underlying geometry values, then removes the attribute. | content |
Transform Nodes
Transform Nodes
Transform nodes apply spatial operations to any kind of graphical content — vector, raster, colors, gradients, and strings. They compose on top of the item’s existing transform attribute.
| Node | Description | Key Parameters |
|---|---|---|
| Transform | Applies translation, rotation, scale, and skew to the input content. Composes with any existing transform. | content, translation, rotation, scale, skew |
| Reset Transform | Resets selected components (translation, rotation, scale) of the input transform to default values. | content, reset_translation, reset_rotation, reset_scale |
| Replace Transform | Overwrites the entire transform of the input content with an explicitly supplied transform matrix. | content, transform |
| Extract Transform | Outputs the current transform attribute of the input content as a DAffine2 matrix. | content |
| Invert Transform | Produces the inverse of the input transform — the transform that undoes the original. | transform |
| Decompose Translation | Extracts the translation (position) component of a transform as a vec2. | transform |
| Decompose Rotation | Extracts the rotation component of a transform in degrees. | transform |
| Decompose Scale | Extracts the scale component of a transform as a vec2, either as magnitude or pure scale. | transform, scale_type |
| Decompose Skew | Extracts the skew angle (in degrees) from a transform. | transform |
| Mirror | Creates a mirrored copy of content across an axis, optionally keeping the original alongside the copy. | content, relative_to_bounds, offset, angle, keep_original |
Repeat Nodes
Repeat Nodes
Repeat nodes create multiple copies of content arranged according to various spatial patterns. They are key to procedural design workflows.
| Node | Description | Key Parameters |
|---|---|---|
| Repeat | Evaluates the content node a fixed number of times, passing the loop index via context. Useful for building counted sequences. | content, count, reverse |
| Repeat Array | Arranges copies of content in a linear array, distributing them along a direction vector with optional rotation between copies. | content, direction, angle, count |
| Repeat Radial | Arranges copies of content radially around a center point at a given radius, equally spaced in angle. | content, start_angle, radius, count |
| Repeat on Points | Places copies of content at each anchor point in a points vector, passing the point position via context. | points, content, reverse |
| Copy to Points | Places copies of artwork at each anchor point with optional per-copy randomized scale and rotation. | points, content, random_scale_min, random_scale_max, random_rotation |
Raster / Image Nodes
Raster / Image Nodes
These nodes work with raster (pixel-based) images. Categories cover color adjustments, channel manipulation, filters, and pattern generators.Raster: Adjustment
Raster: Channels
Raster: Filter
Raster: Pattern
Raster: General
| Node | Description | Key Parameters |
|---|---|---|
| Brightness/Contrast | Adjusts the brightness and contrast of an image using a standard photographic curve. | brightness, contrast |
| Levels | Remaps the tonal range of an image by defining input black/midtone/white points and output range. | input_min, input_mid, input_max, output_min, output_max |
| Hue/Saturation | Shifts the hue, adjusts the saturation, and changes the lightness of an image. | hue, saturation, lightness |
| Black & White | Converts a color image to grayscale with per-channel mix controls. | red, yellow, green, cyan, blue, magenta |
| Vibrance | Selectively increases saturation of muted colors while protecting already-saturated colors. | vibrance, saturation |
| Threshold | Converts an image to pure black and white based on a luminance threshold. | threshold |
| Posterize | Reduces the number of tonal levels in each channel, creating a flat, graphic look. | levels |
| Exposure | Adjusts the exposure, offset, and gamma correction of an image. | exposure, offset, gamma_correction |
| Channel Mixer | Remaps each output color channel as a weighted combination of the input RGB channels. | Red/Green/Blue channel weights |
| Selective Color | Adjusts the CMYK composition of individual color ranges (Reds, Yellows, Greens, etc.). | Per-range Cyan/Magenta/Yellow/Black |
| Luminance | Converts pixels to grayscale based on their luminance value. | content |
| Gamma Correction | Applies a gamma (power) correction curve to the image. | gamma |
| Invert | Inverts all pixel values (produces a photographic negative). | content |
| Node | Description | Key Parameters |
|---|---|---|
| Extract Channel | Extracts a single color channel (R, G, B, or A) as a grayscale image. | channel |
| Make Opaque | Sets the alpha of all pixels to fully opaque (removes transparency). | content |
| Combine Channels | Combines separate R, G, B, A raster inputs into a single color image. | red, green, blue, alpha |
| Node | Description | Key Parameters |
|---|---|---|
| Blur | Applies a Gaussian (or similar) blur to soften an image. | radius |
| Median Filter | Applies a median filter for noise reduction while preserving edges. | radius |
| Node | Description | Key Parameters |
|---|---|---|
| Noise Pattern | Generates a procedural noise texture (e.g. Perlin, Value, Worley). | noise_type, scale, seed, octaves |
| Mandelbrot | Renders the Mandelbrot fractal set for the current viewport footprint. | (footprint-driven) |
| Node | Description | Key Parameters |
|---|---|---|
| Mask | Applies a raster mask to an image, cutting out areas where the mask is transparent. | image, mask |
| Flatten Raster | Converts a Graphic[] to Raster[] by deeply flattening any raster content. | content |
Math: Arithmetic Nodes
Math: Arithmetic Nodes
Arithmetic nodes operate on scalar numbers (
f64, f32, u32) and vec2 values. They are the building blocks for parameterized procedural expressions.| Node | Description | Key Parameters |
|---|---|---|
| Math | Evaluates a free-form mathematical expression referencing variables A and B. Supports standard functions like sqrt, ^, log, etc. | operand_a, expression, operand_b |
| Add | Computes A + B for scalars or vec2 values. | augend, addend |
| Subtract | Computes A - B for scalars or vec2 values. | minuend, subtrahend |
| Multiply | Computes A × B for scalars, vec2, or transform matrices. | multiplier, multiplicand |
| Divide | Computes A ÷ B. Returns 0 if the denominator is 0. | numerator, denominator |
| Reciprocal | Computes 1 / x. Returns 0 if the input is 0. | value |
| Modulo | Computes A % B (remainder). Optionally forces a positive result. | numerator, modulus, always_positive |
| Exponent | Computes base ^ power. | base, power |
| Root | Computes the nth root of a number (square root, cube root, etc.). | radicand, degree |
| Logarithm | Computes the logarithm of a value in a specified base. Use base e for the natural logarithm. | value, base |
Math: Numeric Nodes
Math: Numeric Nodes
Numeric utility nodes for common operations on individual numbers, plus list-aggregation functions.
| Node | Description | Key Parameters |
|---|---|---|
| Remap | Linearly maps a value from one range to another. Supports reversed ranges. | value, input_min, input_max, output_min, output_max, clamped |
| Random | Produces a random number within a range, determined by a seed. | seed, min, max |
| Round | Rounds a number to the nearest whole number (halfway values round away from zero). | value |
| Floor | Rounds a number down to the nearest whole number. | value |
| Ceiling | Rounds a number up to the nearest whole number. | value |
| Absolute Value | Removes the negative sign from a number (also works on vec2). | value |
| Min | Returns the smaller of two numbers. | value, other_value |
| Max | Returns the larger of two numbers. | value, other_value |
| Clamp | Restricts a number to a range. | value, min, max |
| Greatest Common Divisor | Computes the GCD of two integers. | value, other_value |
| Least Common Multiple | Computes the LCM of two integers. | value, other_value |
| Sum | Adds all numbers in a list, producing their total. | values |
| Average | Averages all numbers in a list. An empty list gives 0. | values |
| Minimum | Returns the smallest number in a list. An empty list gives 0. | values |
| Maximum | Returns the largest number in a list. An empty list gives 0. | values |
Math: Trigonometry Nodes
Math: Trigonometry Nodes
Trigonometric functions for working with angles in degrees or radians.
| Node | Description | Key Parameters |
|---|---|---|
| Sine | Computes sin(θ). Accepts degrees or radians. | theta, radians |
| Cosine | Computes cos(θ). Accepts degrees or radians. | theta, radians |
| Tangent | Computes tan(θ). Accepts degrees or radians. | theta, radians |
| Sine Inverse | Computes asin(value), returning the angle whose sine is the input. | value, radians |
| Cosine Inverse | Computes acos(value), returning the angle whose cosine is the input. | value, radians |
| Tangent Inverse | Computes atan(value) or atan2(y, x) for a vec2 input. | value, radians |
Math: Vector (Vec2) Nodes
Math: Vector (Vec2) Nodes
Nodes for constructing and working with 2D vectors.
| Node | Description | Key Parameters |
|---|---|---|
| Combine Vec2 | Composes a vec2 from separate X and Y scalar inputs. | x, y |
| Dot Product | Computes the dot product of two vec2 values. Optionally normalizes inputs. | vector_a, vector_b, normalize |
| Magnitude | Computes the length (Euclidean magnitude) of a vec2. | vector |
| Normalize | Scales a vec2 to unit length while preserving direction. Returns zero for a zero-length input. | vector |
| Angle Between | Computes the angle swept between two vec2 values (always 0–180°). | vector_a, vector_b, radians |
| Angle To | Computes the angle a rightward-facing object at the observer position must turn to face the target. | observer, target, radians |
Math: Logic Nodes
Math: Logic Nodes
Boolean logic nodes for conditional branching and comparison.
| Node | Description | Key Parameters |
|---|---|---|
| Less Than | Returns true if A < B (or A <= B with Or Equal). | value, other_value, or_equal |
| Greater Than | Returns true if A > B (or A >= B with Or Equal). | value, other_value, or_equal |
| Equals | Returns true if the two inputs are equal (==, XNOR). | value, other_value |
| Not Equals | Returns true if the two inputs are not equal (!=, XOR). | value, other_value |
| Logical OR | Returns true if either input is true. | value, other_value |
| Logical AND | Returns true only if both inputs are true. | value, other_value |
| Logical NOT | Inverts the boolean input. | input |
| Any | Returns true if at least one value in a bool list is true. | values |
| All | Returns true only if every value in a bool list is true. | values |
| Switch | Evaluates the If True or If False input branch based on a condition. | condition, if_true, if_false |
Blending Nodes
Blending Nodes
Blending nodes control how layers and content composite over one another during rendering. They attach blend mode and opacity metadata to content items.
| Node | Description | Key Parameters |
|---|---|---|
| Blend Mode | Applies a blend mode to content, controlling how its pixels combine with those below. Supports all standard Photoshop-compatible blend modes (Normal, Multiply, Screen, Overlay, etc.). | content, blend_mode |
| Opacity | Multiplies the opacity and/or fill transparency of content. Opacity affects the content plus anything clipped to it. Fill affects only the content itself. | content, opacity, fill |
| Clipping Mask | Sets whether the content inherits the alpha of the content beneath it, clipping its visible area to that shape. | content, clip |
Text Nodes
Text Nodes
Text nodes work with string values — both for typesetting vector text and for string manipulation and formatting in the graph.Typesetting
String Operations
| Node | Description | Key Parameters |
|---|---|---|
| Text | Produces a styled text string carrying all typographic attributes. Connect it to Text to Vector to render as vector geometry. | text, font, size, line_height, letter_spacing, align, max_width, max_height |
| Text to Vector | Converts a styled text string into a vector compound path. | string |
| Text to Vector Glyphs | Splits a styled text string into a separate vector item for each glyph (letterform). | string |
| Node | Description | Key Parameters |
|---|---|---|
| String Concatenate | Joins two strings together. | first, second |
| String Replace | Replaces all occurrences of a substring with another string. | string, from, to |
| String Slice | Extracts a substring by start and end index (negative indices count from the end). | string, start, end |
| String Truncate | Clips a string to a maximum character length, appending an optional suffix when truncation occurs. | string, length, suffix |
| String Trim | Removes leading and/or trailing whitespace. | string, start, end |
| String Reverse | Reverses the sequence of characters in the string. | string |
| String Repeat | Repeats the string a given number of times with an optional separator. | string, count, separator |
| String Pad | Pads a string to a target length by filling with a repeated substring. | string, length, padding, from_end |
| String Contains | Checks whether a string contains a given substring, optionally anchored to the start or end. | string, substring, at_start, at_end |
| String Find Index | Returns the index of the first (or last) occurrence of a substring, or -1 if not found. | string, substring, from_end |
| String Occurrences | Counts the number of occurrences of a substring, with optional overlap. | string, substring, overlapping |
| String Capitalization | Converts capitalization style (lower case, UPPER CASE, Capital Case, Headline Case, Sentence case, camelCase). | string, capitalization, joiner |
| String Length | Counts the number of characters (grapheme clusters) in the string. | string |
| String Split | Splits a string into a list of substrings based on a delimiter. | string, delimiter |
| String Join | Joins a list of strings with a separator. The inverse of String Split. | strings, separator |
| String Escape | Converts between literal escape sequences (\n, \t, etc.) and their actual control characters. | string, unescape |
| Format Number | Formats a number as a string with control over decimal places, separators, and thousands grouping. | number, decimal_places, decimal_separator, use_thousands_separator |
| String to Number | Parses a string into a number, with a fallback value for invalid input. | string, fallback |
| Map String | Iterates a list of strings, evaluating a mapped operation for each one. | strings, mapped |
| String Value | A constant string value node. | string |
Value Nodes
Value Nodes
Value nodes are constants that inject a single typed value into the graph. Use them to provide named parameters that can be wired to multiple downstream nodes.
| Node | Description |
|---|---|
| Bool Value | A constant true or false boolean value. |
| Number Value | A constant real number (f64). |
| Percentage Value | A constant value on a 0–100% slider. |
| Vec2 Value | A constant 2D vector (XY pair). |
| Color Value | A constant color, with full color picker. |
| Gradient Value | A constant gradient (sequence of color stops). |
| String Value | A constant plain-text string. |
| Footprint Value | A constant footprint (transform + resolution) describing a render area. |
Color Nodes
Color Nodes
Color nodes construct, convert, and sample colors and gradients.
| Node | Description | Key Parameters |
|---|---|---|
| RGBA to Color | Constructs a color from red, green, blue, and alpha components (0–1 each, interpreted as sRGB). | red, green, blue, alpha |
| HSVA to Color | Constructs a color from hue, saturation, value, and alpha components (0–1 each). | hue, saturation, value, alpha |
| HSLA to Color | Constructs a color from hue, saturation, lightness, and alpha components (0–1 each). | hue, saturation, lightness, alpha |
| Hex to Color | Constructs a color from a CSS hex string (#RRGGBB, #RRGGBBAA, named colors, or functional notation). | hex_code |
| Sample Gradient | Samples the color at a given position (0–1) along a gradient. | gradient, position |
| Colors to Gradient | Constructs a gradient from a list of colors, evenly distributed as stops. | colors |
| Gradient Type | Sets the type (linear or radial) of a gradient. | gradient, gradient_type |
| Spread Method | Sets how a gradient extends past its endpoints (Pad, Reflect, or Repeat). | gradient, spread_method |
Node Graph Overview
Understand the fundamentals: networks, layers vs. nodes, and how the graph is structured.
Working with Nodes
Learn how to add, connect, configure, and organize nodes in the graph.