Graphite
Graphite copied to clipboard
Tracking Issue: New nodes
This is a living, growing list.
Documentation for making new nodes: https://github.com/GraphiteEditor/Graphite/blob/master/node-graph/README.md
Noise
- [x] Pixel Noise
- [x] Perlin and/or Simplex Noise (#1517)
- [x] Voronoi Noise (#1517)
Image Dimensions
- [ ] Crop based on margin
- [ ] Crop based on top left offset and desired dimensions
- [ ] Resize based on scale factor (user to choose interpolation method)
- [ ] Resize based on desired resolution (user to choose interpolation method)
- [ ] Tile to fill bounds
- [ ] Get image dimensions (returns vec2)
Image transformations
- [ ] Flip (choose horizontal or vertical)
- [ ] Rotate (choose interpolation method and negative space fill)
- [ ] Shift image (choose X, Y and negative space fill)
Image channels
- [x] #1169
- [x] Extract Alpha
- [x] Extract Opaque
Image adjustments
- [x] Brightness/Contrast
- [x] Levels
- [ ] Curves - requires custom widget
- [x] Exposure
- [x] Vibrance - still needs a Saturation slider
- [x] Hue/Saturation - current algorithm is incorrect
- [ ] Color Balance
- [x] Black & White - rename from Grayscale
- [ ] Photo Filter
- [x] Channel Mixer
- [ ] Color Lookup
- [x] Invert RGB
- [x] Posterize
- [x] Threshold
- [x] Selective Color
- [ ] Gradient Map
Other adjustments
- [x] Gamma
- [x] Opacity
- [x] #1391 (replace all colors with chosen color, keep alpha)
- [ ] #986
- [ ] Height map to Normal map node
Filters
- [x] #911
- [ ] #995
- [ ] Box blur (a faster, lower-quality alternative to Gaussian Blur)
- [ ] Median
- [ ] Sharpen
Vector
- [ ] Convex hull
- [x] #1091
- [ ] Join
- [ ] Add
- [ ] Subtract
- [ ] Intersect
- [ ] Xor
- [ ] Divide
- [x] #1092
- [ ] https://github.com/GraphiteEditor/Graphite/issues/1162 Vector Edit (nondestructively apply a queue of operations from the Path tool to an existing shape)
- [ ] Polyline Subsurf
- [ ] Voronoi from Points (map a point cloud into vector shapes centered at those points forming a Voronoi diagram, with a smoothing option)
- [ ] Roughen (amplitude, frequency, absolute/relative to scale, smooth/sharp)
- [x] Spline from Polyline
- [ ] Point/Handle Groups
- [ ] Area
- [ ] Bounding Box (Modification)
- [ ] -> Min (Top Left X,Y)
- [ ] -> Max (Bottom Right X,Y)
- [ ] Read (from Blender)
- [ ] Curve Handle Positions
- [ ] Curve Length
- [ ] Curve Tangent
- [ ] Endpoint Selection
- [ ] Handle Type Selection
- [ ] Is Spline Cyclic
- [ ] Spline Length
- [ ] Spline Parameter
- [ ] Spline Resolution
- [ ] Sample (from Blender)
- [ ] Sample Curve
- [ ] Write (from Blender)
- [ ] Set Curve Normal
- [ ] Set Curve Width
- [ ] Set Curve Radius
- [ ] Set Handle Positions
- [ ] Set Handle Type
- [ ] Set Spline Cyclic
- [ ] Set Resolution
- [ ] Set Spline Type
- [ ] Operations (from Blender)
- [ ] Curve to Points
- [ ] Deform Curves on Surface
- [ ] Fillet Curve
- [ ] Interpolate Curves
- [x] #1226 Resample Curves
- [ ] Reverse Curve
- [ ] Subdivide Curve
- [ ] Trim Curve
- [ ] Primitives (from Blender)
- [ ] Arc
- [ ] Bezier Segment
- [x] Curve Circle
- [x] Curve Line
- [ ] Curve Spiral (But 2D)
- [ ] Quadratic Bezier
- [ ] Quadrilateral [Rectangle, Parallelogram, Trapezoid, Kite, Points]
- [x] Star
- [ ] Topology (from Blender)
- [ ] Offset Point in Curve
- [ ] Curve of Point
- [ ] Points of Curve
Stroke (Modification)
- [x] -> Fill Type [Solid, Gradient, Contour]
- [x] -> Custom Width Profile
- [x] -> Custom Line Join Profile
- [x] -> Custom Line Cap Profile
- [ ] -> Align[Center, Inside, Outside]
- [ ] Expand Stroke
Contour Tool/Node
- [x] -> Radius
- [x] -> Contour Type[Round, Miter, Bevel, Custom]
- [x] -> Miter
- [x] -> Contour Cap[None, Round, Square]
- [ ] -> Contour Fill[Auto Closed, Force Open, Force Closed]
- [ ] -> Radius
- [ ] -> Contour Type[Round, Concave, Straight, Cutout, Custom]
- [ ] -> Selection
Brush
- [x] #1069
- [ ] Texture
- [ ] Properties (per stroke?)
Generic
- [x] Repeat
- [x] Circular repeat
- [ ] Mirror
- [ ] Scatter
Widgets
- [ ] Curves Widget
Instances (from Blender)
- [x] Instance on Points (#1513)
- [ ] Instance to Points
- [ ] Realize Instances
- [ ] Rotate Instances
- [ ] Scale Instances
- [ ] Translate Instances
- [ ] Instance Rotation
- [ ] Instance Scale
Instance Points (from Blender)
- [ ] Distribute Points (Image (Should allow to use alpha as a Selection)/Vector)
Utilities
- [ ] Color (from Blender)
- [ ] Color Ramp
- [ ] RGB Curves
- [ ] Combine Color
- [ ] Mix Color
- [ ] Separate Color
- [ ] String (from Blender)
- [ ] Join Strings / concatinate
- [ ] Replace String
- [ ] Slice String (Index Offset or Text/Regex)
- [ ] String Length
- [ ] String to Curves
- [ ] Value To String
- [ ] Special Characters
- [ ] Text pad (inserts chars either at start or end until length is as desired)
- [ ] Vector (from Blender)
- [ ] Vector Curves
- [ ] Vector Math
- [ ] Vector Rotate
- [ ] Combine XY/WH
- [ ] Mix Vector
- [ ] Separate XY/WH
Maths
NOTE: All will have Clamp Option (0.,1.)
- [ ] Functions
- [x] Add
- [x] Subtract
- [x] Multiply
- [x] Divide
- [ ] Multiply Add
- [x] Power
- [x] Logarithm
- [ ] Square Root
- [ ] Inverse Square Root - Square ^2?
- [x] Absolute
- [x] Exponent
- [ ] Clamp
- [ ] Float curve
- [ ] Map range
- [ ] Comparison
- [x] Min
- [x] Max
- [ ] Less Than
- [ ] Greater Than
- [ ] Sign
- [ ] Compare
- [ ] Smooth Minimum
- [ ] Smooth Maximum
- [ ] Rounding
- [x] Round
- [x] Floor
- [x] Ceil
- [ ] Truncate
- [ ] Fraction
- [x] Modulo
- [ ] Wrap
- [ ] Snap
- [ ] Ping-Pong
- [ ] Trigonometric
- [x] Sine
- [x] Cosine
- [x] Tangent
- [ ] Arcsine
- [ ] Arccosine
- [ ] Arctangent
- [ ] Arctan2
- [ ] Hyperbolic Sine
- [ ] Hyperbolic Cosine
- [ ] Hyperbolic Tangent
- [ ] Conversion
- [ ] To Radians
- [ ] To Degrees
- [ ] Mix
- [ ] Vec2
- [ ] multiply by scalar or vector
- [ ] divide by scalar or vector
- [ ] add
- [ ] subtract
- [ ] length
- [ ] length squared
- [ ] normalise
- [ ] distance between two vectors
- [ ] dot product
- [ ] cross product
- [ ] ceil (per axis)
- [ ] floor (per axis)
- [ ] min (per axis)
- [ ] max (per axis)
- [ ] Linear interpolation (lerp)
Misc (from Blender)
- [ ] Random Value
- [ ] Switch