Graphite icon indicating copy to clipboard operation
Graphite copied to clipboard

Tracking Issue: New nodes

Open Keavon opened this issue 1 year ago • 0 comments

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

Keavon avatar Dec 25 '22 21:12 Keavon