# Node Reference

## Geometry

- Generator: Template for creating nodes that generator vector data.
- Filter: Template for creating nodes that manipulate vector data.
- Align: Align a shape in relation to the origin.
- Arc: Create an arc.
- Centroid: Calculate the geometric center point of a shape.
- Colorize: Change the color of a shape.
- Compound: Add, subtract or intersect geometry.
- Connect: Connect all points in a path.
- Copy: Create multiple copies of a shape.
- Delete: Delete points or paths that lie within the given bounding shape.
- Distribute: Distribute shapes on a horizontal or vertical axis.
- Ellipse: Create an ellipse or circle.
- Fit: Fit a shape within bounds.
- Fit To: Fit a shape to another shape.
- Freehand: Draw directly on the canvas using the mouse.
- Grid: Create a grid of points.
- Group: Combine multiple geometries together.
- Import Svg: Import geometry from a SVG file.
- Line: Create a line between two points.
- Line Angle: Create a line between one point and an angle + distance.
- Link: Generate a visual link between two shapes.
- Make Point: Create a point from X/Y coordinates.
- Null: Do nothing.
- Point: Create a point value that can be used as a variable.
- Point On Path: Calculate a point on a path.
- Polygon: Create a multi-sided polygon.
- Quad Curve: Create a quadratic curve with one off-curve point.
- Rect: Create a rectangle, square or rounded rectangle.
- Reflect: Mirror the geometry around an invisible axis.
- Resample: Distribute points along a shape.
- Rotate: Rotate the shape according to the given angle.
- Scale: Resize the shape by scaling it.
- Scatter: Generate points within the boundaries of a shape.
- Shape On Path: Copies shapes on a path.
- Skew: Skew the shape.
- Snap: Snap geometry to a grid.
- Sort: Sort points or shapes using different sorting methods.
- Stack: Arrange shapes in a horizontal or vertical layout.
- Star: Create a star shape.
- Text On Path: Create a text path that follows a shape.
- Textpath: Create a path out of text.
- Translate: Move the shape, changing its position.
- Ungroup: Decompose the input geometry into its paths.
- Wiggle: Shift points by a random amount.

## String

- As Binary List: Convert a string into its binary representation
- As Binary String: Convert a string into its binary representation
- As Number List: Convert a string into a numeric encoding
- Character At: Output the character at a given index
- Characters: Create a list of characters from a string
- Concatenate: Add strings together.
- Contains: Determine if the string contains a given string
- Ends With: Determine if the string ends with a given string
- Equals: Determine if the string equals a given string
- Format Number: Represent a numeric value as a string in a specific way.
- Length: Count the number of characters in a string.
- Make Strings: Create a list of strings.
- Random Character: Create a list of random characters taken from a set
- Replace: Replace part of a string
- Starts With: Determine if the string starts with a given string
- String: Create a string value that can be used as a variable.
- Sub String: Take a portion of a string
- Trim: Remove white space from the start and end
- Word Count: Count the number of words in a string.

## Color

- Color: Create a color value that can be used as a variable.
- Gray Color: Create a gray color.
- Hsb Color: Create a HSB color.
- Rgb Color: Create a RGB color.

## Math

- Abs: Convert every number to a positive number.
- Add: Add two numbers.
- Angle: Calculate the angle between two points.
- Average: Calculate the average of a list of numbers.
- Boolean: Create a boolean value that can be used as a variable.
- Ceil: Round up the value of a number.
- Compare: Select between two values by comparing them.
- Convert Range: Convert a value from one range to another.
- Coordinates: Calculate a new point based on the angle and distance from an original point.
- Cos: Calculate the trigonometric cosine of an angle.
- Degrees: Convert radians to degrees.
- Distance: Calculate the distance between two points.
- Divide: Divide two numbers.
- E: The value of the mathematical constant e, the base of the natural logarithm.
- Even: Determine if a number is even.
- Floor: Round down the value of a number.
- Integer: Create an integer value that can be used as a variable.
- Log: Calculate the natural logarithm of a value.
- Make Numbers: Transform a string to a list of numbers.
- Max: Select the largest value from a list of numbers.
- Min: Select the smallest value from a list of numbers.
- Mod: Calculate the modulo by dividing two numbers and keeping the remainder.
- Multiply: Multiply two numbers.
- Negate: Change the sign of a number by negating it.
- Number: Create a floating-point value that can be used as a variable.
- Odd: Determine if a number is odd.
- Pi: The value of the mathematical constant pi.
- Pow: Calculate the power of a number.
- Radians: Convert degrees to radians.
- Random Numbers: Create a list of random numbers.
- Range: Generate a range of numbers.
- Reflect: Calculate a new point based on the angle and distance from an original point.
- Round: Convert a floating-point number to an integer.
- Running Total: Generate in between totals of a list of numbers.
- Sample: Generate numbers within the given bounds.
- Sin: Calculate the trigonometric sine of an angle.
- Sqrt: Calculate the square root of a number.
- Subtract: Subtract two numbers.
- Sum: Add up all numbers in the list.
- Wave: Calculate a value based on wave equations.

## List

- Combine: Combine multiple lists into one.
- Count: Count the number of items in the list.
- Cull: Remove all items from the list where the corresponding boolean is false.
- Distinct: Remove all duplicate items from the list.
- First: Take the first item of the list.
- Keys: Retrieve the keys of a map.
- Last: Take the last item of the list.
- Pick: Pick items from the list in random order.
- Repeat: Repeat the list a number of times.
- Rest: Take all but the first item of the list.
- Reverse: Reverse the list.
- Second: Take the second item of the list.
- Shift: Move items at the beginning of the list to the end.
- Shuffle: Randomize the ordering of items in the list.
- Slice: Take a portion of the list.
- Sort: Sort items in the list.
- Switch: Switch between multiple inputs.
- Take Every: Take every nth element of the list.
- Zip Map: Combine a list of keys and values together into a map.

## Data

- Import Csv: Import a comma-separated value file containing tabular data.
- Lookup: Look up a value in a table or object.
- Filter Data: Filter the data based on key/value.

## Core

- Frame: Output the value of the current frame. Used for animating ports.