Point clouds. Sources generate position sets; modifiers transform them; `copy-to-points` lets you instance any type per point.
Generators
Cursor Trail Points
cursor-trail-points
Drop points along the pointer's path while drawing on the preview — evenly spaced with seeded radial scatter. Feed Loop Weave for the live loop-de-loop demo, or any points consumer. Press mode draws while the mouse button is held; hover drops wherever the pointer moves.
Parameters
Name
Type
Default
Emit
emit
enum
"press"
press · hover
Spacing
spacing
scalar
0.005 … 0.5
0.04
Scatter
scatter
scalar
0 … 0.25
0.02
Seed
seed
scalar
0 … 9999
0
Max points
max_points
scalar
2 … 2000
200
Overflow
overflow
enum
"stop"
stop · ring
Lifetime (s)
lifetime
scalar
0 … 60
0
Clear on loop
clear_on_loop
boolean
true
Sockets
Direction
Name
Type
outputprimary
out
points
Grid
grid
Emit an X×Y grid of points. Fit mode spreads the counts across a fixed width/height; Step mode uses an explicit gap between points so the grid grows with the counts.
Parameters
Name
Type
Default
Count X
countX
scalar
1 … 64
5
Count Y
countY
scalar
1 … 64
5
Spacing
spacingMode
enum
"fit"
fit · step
Width
width
scalar
0 … 2
0.8
Height
height
scalar
0 … 2
0.8
Spacing X
spacingX
scalar
0 … 1
0.1
Spacing Y
spacingY
scalar
0 … 1
0.1
Center X
x
scalar
0 … 1
0.5
Center Y
y
scalar
0 … 1
0.5
Sockets
Direction
Name
Type
outputprimary
out
points
Point
point
Emit Count points at (x, y). They start stacked at the same location but each has its own index, so per-point nodes (Point Expression, Modulate Points) can spread them apart. With Count 1, combine with Copy to Points to place one instance of an image or spline at a specific location.
Parameters
Name
Type
Default
Count
count
scalar
1 … 4096
1
X
x
scalar
0 … 1
0.5
Y
y
scalar
0 … 1
0.5
Rotation (deg)
rotation_deg
scalar
-360 … 360
0
Scale
scale
scalar
0 … 5
1
Sockets
Direction
Name
Type
input
position
position
vec2
outputprimary
out
points
Point Tracker
tracker-pointpolymorphic
Track N image features across frames. Place tracks on the preview, then step or run the transport in the Parameters tab. Outputs live points (and per-track vec2 sockets) from authored track data — tracking itself runs in the editor, not in compute.
Emit N evenly-spaced positions along a spline. Each point carries a `progress` attribute (0 at the start of the path, 1 at the end; Animate wraps) that Copy to Points can read by name — pick variants, tint, or fade copies by how far along the spline they are. Domain Combined treats every subpath as one concatenated length (points can slide from one onto the next); Per subpath emits Count points on each subpath as its own loop, tagged with that subpath's group. Optionally aligns each point's rotation to the path tangent or normal. Turn on Animate to slide the points along the path with the Offset slider — points that reach the end wrap back to the start (a continuous stream; keyframe Offset or wire a Scene Time / LFO ramp to drive it). Primary output is a `points` value for direct wiring into Copy-to-Points / Set Position / etc. Aux outputs: a UV texture of positions (one pixel per point), a dot visualization image, and a `progress` string (the channel name, for wiring into attribute-name params).
Parameters
Name
Type
Default
Count
count
scalar
1 … 4096
24
Domain
domain
enum
"combined"
combined · per subpath
Animate
animate
boolean
false
Offset
offset
scalar
0 … 1
0
Align to path
align
enum
"off"
off · tangent · normal
Angle offset
align_offset
scalar
-180 … 180
0
Dot radius (px)
dot_radius
scalar
0 … 50
3
Dot color
dot_color
color
"#ffffff"
Show visualization
show_viz
boolean
true
Sockets
Direction
Name
Type
input*
path
path
spline
outputprimary
out
points
outputaux
positions
uv
outputaux
viz
image
outputaux
progress
string
Scatter Points
scatter-pointspolymorphic
Scatter N points across the canvas, optionally weighted by a density input (brighter pixels = more points). Wire an image, or a spline directly — the spline's filled silhouette is the density, sampled without rasterizing to a texture. Deterministic — same seed, same layout.
Parameters
Name
Type
Default
Count
count
scalar
1 … 4096
100
Seed
seed
scalar
0 … 10000
1
Rotation (deg)
rotation_deg
scalar
-360 … 360
0
Rotation jitter
rotation_jitter_deg
scalar
0 … 360
0
Scale
scale
scalar
0 … 5
1
Scale jitter
scale_jitter
scalar
0 … 2
0
Sockets
Direction
Name
Type
input
Density
density
image
outputprimary
out
points
Spline Intersections
spline-intersections
Emit a point at every crossing of the input spline's segments — the 'nodes at intersections' construction-drawing look. Feed the output into Copy to Points to stamp a marker at each crossing. By default only segments from different subpaths are tested (so a cluster of shapes + lines marks line×shape and line×line crossings); enable Self-intersections for self-crossing polylines. The original spline passes through on the aux output so one wire carries both the drawing and its nodes.
Parameters
Name
Type
Default
Density
density
scalar
0 … 1
1
Self-intersections
self_intersections
boolean
false
Min angle
min_angle
scalar
0 … 90
0
Max points
max_points
scalar
1 … 8000
3000
Sockets
Direction
Name
Type
input*
spline
spline
spline
outputprimary
out
points
outputaux
spline
spline
Spline to Points
spline-to-points
Extract the input spline's anchor points as a points value — one point per anchor, in subpath order. Each subpath tags its points with its groupIndex (or its subpath index when untagged), so Points to Spline rebuilds the subpaths and per-index nodes split naturally. The original spline passes through on the aux output. For evenly spaced samples along the curve instead of the raw anchors, use Points on Path.
Sockets
Direction
Name
Type
input*
spline
spline
spline
outputprimary
out
points
outputaux
spline
spline
Modifiers
Advect Points
advect-points
Move points through a velocity field derived from an image — the field is re-sampled at every step, so points follow its curves (unlike Displace's single push). Integrate mode traces N deterministic steps per eval and emits streamline trails (flow-field line art: noise → Advect → trails → Stroke). Accumulate mode keeps persistent positions and advances once per frame — endless drift that responds to an animating field, no Simulation Zone needed. Field modes: angle (luminance → heading), vector (signed RG map), gradient (flow toward bright), contour (orbit level sets).
Parameters
Name
Type
Default
Mode
mode
enum
"integrate"
integrate · accumulate
Field
field_mode
enum
"angle"
angle · vector · gradient · contour
Steps
steps
scalar
1 … 1000
100
Substeps / frame
substeps
scalar
1 … 16
1
Step size
step_size
scalar
0 … 0.1
0.002
Invert flow
invert
boolean
false
Angle range (turns)
angle_turns
scalar
0 … 4
1
Angle offset (turns)
angle_offset
scalar
-1 … 1
0
Midlevel
midlevel
scalar
0 … 1
0.5
Boundary
boundary
enum
"clamp"
clamp · wrap · kill
Speed jitter
speed_jitter
scalar
0 … 1
0
Seed
seed
scalar
0 … 10000
1
Align rotation to flow
align_rotation
boolean
false
Trail stride
trail_stride
scalar
1 … 10
1
Trail length (frames)
trail_length
scalar
2 … 240
24
Sockets
Direction
Name
Type
input*
points
points
points
input*
Field
field
image
input
Speed field
speed
image
outputprimary
out
points
outputaux
trails
spline
Attribute Blur
attribute-blur
Smooths a named point channel: each iteration moves every point's value toward its neighborhood mean. Spatial domain averages neighbors within a radius; Index domain averages adjacent points in order (right for path-ordered points). A missing channel passes through unchanged.
Parameters
Name
Type
Default
Name
attr_name
string
"weight"
Domain
domain
enum
"spatial"
spatial · index
Radius
radius
scalar
0.001 … 1
0.05
Iterations
iterations
scalar
1 … 100
5
Strength
strength
scalar
0 … 1
1
Sockets
Direction
Name
Type
input*
points
points
points
outputprimary
out
points
Attribute Math
attribute-math
Componentwise math on a named point channel: add/subtract/multiply/divide/min/max/power against a constant or a second channel, or remap a range. Writes back in place, or to a new name via Output. A missing channel passes through unchanged.
Parameters
Name
Type
Default
Name
attr_name
string
"weight"
Operation
op
enum
"multiply"
add · subtract · multiply · divide · min · max · power · remap
Operand
operand
enum
"constant"
constant · attribute
Value
value
scalar
-1000 … 1000
1
With
operand_attr
string
""
In Lo
in_lo
scalar
-1000 … 1000
0
In Hi
in_hi
scalar
-1000 … 1000
1
Out Lo
out_lo
scalar
-1000 … 1000
0
Out Hi
out_hi
scalar
-1000 … 1000
1
Output
output_name
string
""
Sockets
Direction
Name
Type
input*
points
points
points
outputprimary
out
points
outputaux
name
string
Attribute Transfer
attribute-transfer
Copies a named channel from a source point set onto the points by proximity: nearest source point, or a distance-weighted average within a radius (falling back to nearest outside it). The channel lands under the same name; a missing source channel passes the points through unchanged.
Parameters
Name
Type
Default
Name
attr_name
string
"weight"
Mode
mode
enum
"nearest"
nearest · weighted
Radius
radius
scalar
0.001 … 1
0.1
Sockets
Direction
Name
Type
input*
points
points
points
input*
source
source
points
outputprimary
out
points
Behavioral Growth
behavioral-growth
Give points rules and let them move — flocking, schooling, crowds, slime networks. Steering stacks the classic behaviours as weights you can mix: separation, alignment and cohesion for a flock, Seek toward wired Targets (negative values flee), Wander for restlessness, Flow to follow a wired field as an angle map, and Avoid to steer around Obstacles; tag agents with different group indices and turn on Predator/prey to watch a flock split around a chaser. Physarum is the slime-mould network — each agent sniffs the trail ahead and to each side, turns toward the strongest, and deposits its own trail, which diffuses and decays; the Deposit image aux is usually what you actually render. Vicsek is alignment plus angular noise alone, and the noise slider alone takes it from ordered swirls to chaos. Chemotaxis runs and tumbles up a wired field, searching rather than sliding. Integrate re-runs from the seed points every frame (deterministic and scrub-safe, and the Trails aux gives streamline art); Accumulate keeps the agents moving frame to frame as a living system.
Parameters
Name
Type
Default
Mode
mode
enum
"steering"
steering · physarum · vicsek · chemotaxis
Timeline
timeline
enum
"accumulate"
accumulate · integrate
Steps
steps
scalar
1 … 400
100
Substeps
substeps
scalar
1 … 16
1
Speed
speed
scalar
0.0002 … 0.02
0.002
Boundary
boundary
enum
"wrap"
wrap · bounce
Separation
w_separation
scalar
0 … 4
1.2
Separation radius
r_separation
scalar
0.002 … 0.2
0.015
Alignment
w_alignment
scalar
0 … 4
1
Cohesion
w_cohesion
scalar
0 … 4
0.6
Neighbour radius
r_neighbor
scalar
0.005 … 0.5
0.06
Seek / flee
w_seek
scalar
-2 … 2
0
Arrive
w_arrive
scalar
0 … 2
0
Arrive radius
arrive_radius
scalar
0.005 … 0.5
0.1
Wander
w_wander
scalar
0 … 2
0.1
Wander rate
wander_rate
scalar
0 … 1
0.3
Flow follow
w_flow
scalar
0 … 2
0
Obstacle avoid
w_avoid
scalar
0 … 4
0
Max force
max_force
scalar
0.01 … 2
0.15
Max neighbours
max_neighbors
scalar
4 … 256
24
Predator / prey
predator_prey
boolean
false
Noise
noise
scalar
0 … 1
0.15
Sensor angle
sensor_angle
scalar
5 … 90
22.5
Sensor distance
sensor_distance
scalar
0.002 … 0.1
0.012
Turn rate
turn_rate
scalar
1 … 180
45
Deposit
deposit_amount
scalar
0 … 1
0.2
Decay
decay
scalar
0.001 … 0.5
0.08
Diffuse
diffuse_radius
scalar
0 … 5
1
Field resolution
field_resolution
scalar
64 … 1024
384
Tumble rate
tumble_rate
scalar
0 … 1
0.2
Run bias
run_bias
scalar
0 … 1
0.8
Trail length
trail_length
scalar
2 … 240
24
Seed
seed
scalar
0 … 10000
0
Sockets
Direction
Name
Type
input*
Agents
points
points
input
Field
field
mask
input
Targets
targets
points
input
Obstacles
obstacles
mask
outputprimary
out
points
outputaux
trails
spline
outputaux
deposit
image
Copy to Points
copy-to-pointspolymorphic
Duplicate an image (or image group), spline, or point at every target point. Each copy respects per-point rotation and scale, anchored at the instance's content center (or canvas center / custom). Per-instance modulation works in every mode: scalar inputs drive every copy uniformly (e.g. audio amplitude on `scale_mul` makes everything pulse), and image inputs are sampled at each copy's position (e.g. noise on `scale_field` gives every copy a different size). Variants — grouped splines / points, or image-group items — land per point via the pick mode: all, image-driven (`pick` input), seeded random, cycle, by the target point's own group, or by a named attribute on the target points. In image mode, named attributes can also tint each copy (Tint attribute, rgb) and fade it (Opacity attribute, alpha). Draw order controls stacking (painter's by-y, shuffled). In spline/point modes, Tag copies chooses the groupIndex the copies carry out: the instance's own tags, the copy's index (so downstream per-group styling — Stroke color/thickness sources, Select by Index — varies per copy), or the target point's group.
Parameters
Name
Type
Default
Instance type
mode
enum
"image"
image · spline · point · text
Variant pick
pick_mode
enum
"all"
all · image · random · cycle · by index · target group · attribute
Pick attribute
pick_attr
string
""
Pick seed
pick_seed
scalar
0 … 9999
0
Anchor
anchor
enum
"content center"
content center · canvas center · custom
Anchor X
anchor_x
scalar
0 … 1
0.5
Anchor Y
anchor_y
scalar
0 … 1
0.5
Draw order
draw_order
enum
"points order"
points order · by y · shuffled
Tag copies
output_tag
enum
"instance groups"
instance groups · copy index · target group
Scale × default
scale_mul_default
scalar
-4 … 4
1
Rotate + default (rad)
rotate_add_default
scalar
-3.141592653589793 … 3.141592653589793
0
Scale field — black
scale_field_lo
scalar
0 … 4
0.5
Scale field — white
scale_field_hi
scalar
0 … 4
1.5
Tint attribute
tint_attr
string
""
Opacity attribute
opacity_attr
string
""
Rotate field amount (rad)
rotate_field_amount
scalar
0 … 3.141592653589793
3.141592653589793
Sockets
Direction
Name
Type
input*
points
points
points
input*
instance
instance
image
input
Scale × (uniform)
scale_mul
scalar
input
Rotate + (uniform)
rotate_add
scalar
input
Scale field
scale_field
image
input
Rotate field
rotate_field
image
outputprimary
out
image
Drag Points
drag-points
Grab individual points with the mouse (or touch) and drag them — offsets persist inside the node, so any points-driven scene becomes hand-arrangeable, in the editor and in exported apps. Grabs the nearest point within the grab radius at press; the gesture owns it until release. Offsets are index-keyed: best on stable point sets (a count change resets them). Reset input clears all offsets.
Parameters
Name
Type
Default
Grab radius (px)
grab_radius
scalar
1 … 200
16
Clear on loop
clear_on_loop
boolean
false
Sockets
Direction
Name
Type
input*
points
points
points
input
reset
reset
scalar
outputprimary
out
points
outputaux
active_index
scalar
outputaux
grabbed
scalar
Filter Points
filter-pointspolymorphic
Keep or discard points by predicate. Bbox keeps points inside an XY window; Mask keeps points where the wired image's luminance is ≥ threshold; Index keeps 1 of every N points; Random keeps a stable random subset (hashed on index, so points don't flicker in/out — raising Amount reveals more of the same points, Seed re-rolls the selection). Invert flips which side is kept. Also accepts 3D points (from 3D Scatter Points): bbox becomes a world-space box with Z rows, index/random work identically, mask passes through.
Parameters
Name
Type
Default
Mode
mode
enum
"bbox"
bbox · mask · index · random · attribute
Name
attr_name
string
"weight"
Threshold
attr_threshold
scalar
-100 … 100
0.5
X min
x_min
scalar
-1 … 2
0
X max
x_max
scalar
-1 … 2
1
Y min
y_min
scalar
-1 … 2
0
Y max
y_max
scalar
-1 … 2
1
X min
wx_min
scalar
-10 … 10
-10
X max
wx_max
scalar
-10 … 10
10
Y min
wy_min
scalar
-10 … 10
-10
Y max
wy_max
scalar
-10 … 10
10
Z min
wz_min
scalar
-10 … 10
-10
Z max
wz_max
scalar
-10 … 10
10
Threshold
threshold
scalar
0 … 1
0.5
Keep 1 of every
every
scalar
1 … 32
2
Offset
offset
scalar
0 … 32
0
Amount
amount
scalar
0 … 1
0.5
Seed
seed
scalar
0 … 999
0
Invert
invert
boolean
false
Sockets
Direction
Name
Type
input*
points
points
points
input
Mask
mask
image
outputprimary
out
points
Map Attribute
map-attribute
Drives built-in point data from a named channel: normalize through In Lo/Hi, shape with a 0–1 curve, then map through Out Lo/Hi and apply as a scale multiplier, a rotation offset (radians), or a position offset. The curve defaults to a linear ramp, so a straight diagonal is the old In→Out remap. A missing channel passes through unchanged.
Modulate per-point scale and rotation on a points value. Uniform inputs apply to every point; image fields are sampled at each point's UV and mapped through the configured ranges. Stack to layer modulations; feed the result into Copy to Points (or any consumer that respects per-point attributes).
Parameters
Name
Type
Default
Scale × default
scale_mul_default
scalar
0 … 4
1
Rotate + default (rad)
rotate_add_default
scalar
-3.141592653589793 … 3.141592653589793
0
Scale field — black
scale_field_lo
scalar
0 … 4
0.5
Scale field — white
scale_field_hi
scalar
0 … 4
1.5
Rotate field amount (rad)
rotate_field_amount
scalar
0 … 3.141592653589793
3.141592653589793
Sockets
Direction
Name
Type
input*
points
points
points
input
Scale × (uniform)
scale_mul
scalar
input
Rotate + (uniform)
rotate_add
scalar
input
Scale field
scale_field
image
input
Rotate field
rotate_field
image
outputprimary
out
points
Point Expression
point-expressionpolymorphic
Run a JavaScript expression once per point to compute its new position, scale, and rotation from its own `index` (and `count`, `groupIndex`, current px/py/rot0/sx0/sy0, the `frame`/`t` clock, and wired uniforms). Set `keep=false` to cull a point. Wire a spline into `path` to sample guide curves with pathPos(factor, sub) / pathLen(sub) / pathAngle(...). Deterministic rand(seed) hashes on index for stable per-point randomness; random() varies per frame. attr("name") reads a named point channel (attr("name", c) for a component) and setattr("name", v) writes a float channel — inspect them in the Spreadsheet panel. Target switches the element domain: `spline anchors` runs the code once per anchor instead (read px/py, handle offsets inx0/iny0/outx0/outy0, width0, subpath; write x, y, inx, iny, outx, outy, width, keep). Mark tunables with ch("name", default) (sliders) or pick("name", "optA", "optB") (dropdowns) and hit Sync to turn them into standard controls you can drive. Every ch() channel is also a wireable scalar input socket addressed by its channel name — e.g. with ch("speed", 600) in the expression, wire an LFO or audio level into the `speed` input to drive it. This is the per-element field primitive — the per-point counterpart to the once-per-frame Expression node.
Parameters
Name
Type
Default
Target
target
enum
"points"
points · spline anchors
Channels
inputs
expr_inputs
[]
Expression
expression
string
"// read: index, count, groupIndex, px, py, rot0, sx0, sy0\n// write: x, y, rot, sx, sy, scale, keep (declare temps with let/const)\n// channels: attr(\"name\") reads, setattr(\"name\", v) writes — see Spreadsheet\n// tunables: ch(\"name\", default) — then hit Sync to make sliders\nx = px;\ny = py;"
On error
on_error
enum
"passthrough"
passthrough · zero
Sockets
Direction
Name
Type
input*
Points
points
points
input
Path
path
spline
outputprimary
out
points
Point Labels
point-labels
Draw a text label on every point, formatted from the point's own data — position (x, y), index, rotation, scale, or group. Pick a field or write a custom token template ({x} {y} {i} {n} {rot} {rad} {sx} {sy} {g}); coordinates read normalized [0,1] or in pixels, with adjustable precision. Self-contained (points → image): each label lands on its point, placed on / above / below / left / right of it with an offset and scale. Style comes from a wired Text node, or the local font/size/color params.
Parameters
Name
Type
Default
Data
field
enum
"position"
position · x · y · index · rotation · scale · group · custom
Template
template
string
"{x}, {y}"
Units
units
enum
"normalized"
normalized · pixels
Decimals
precision
scalar
0 … 6
2
Placement
placement
enum
"on"
on · above · below · left · right
Offset X
offset_x
scalar
-0.5 … 0.5
0
Offset Y
offset_y
scalar
-0.5 … 0.5
0
Label scale
label_scale
scalar
0.1 … 8
1
Font
font_family
enum
"Inter"
Inter · Roboto · Open Sans · Lato · Montserrat · Poppins · Work Sans · DM Sans · Nunito · Raleway · Oswald · Bebas Neue · Playfair Display · Merriweather · Crimson Text · Cormorant Garamond · Space Mono · JetBrains Mono · Helvetica · Arial · Georgia · Times New Roman · Courier New
Size (px)
size
scalar
1 … 512
32
Color
color
color
"#ffffff"
Align
alignment
enum
"center"
left · center · right
Opacity
opacity
scalar
0 … 1
1
Sockets
Direction
Name
Type
input*
points
points
points
input
Style
style
text_instance
outputprimary
out
image
Points to Surface
points-to-surface
Mesh a surface around particle clumps: builds a field from a points cloud and traces its outline as a spline (marching squares). `zhu-bridson` is the classic liquid surfacing — flat resting surfaces, calm concave regions; `metaballs` is the blobby lava-lamp merge look. Wire the Matter/Particle Simulator's points output in and liquid gets a skin — the spline coerces straight into any mask/image socket as a filled silhouette, or style it via Rasterize Spline / Stroke (each blob carries a groupIndex for per-blob ramp colors). `radius` sets how far particles reach before merging; `threshold` tightens or fattens the surface; `min blob` culls specks.
Parameters
Name
Type
Default
Algorithm
algorithm
enum
"zhu-bridson"
zhu-bridson · metaballs
Radius
radius
scalar
0.005 … 0.15
0.025
Threshold
threshold
scalar
0.05 … 1
0.5
Detail
detail
scalar
48 … 384
160
Smoothing
smoothing
scalar
0 … 1
0.4
Min blob area
min_blob
scalar
0 … 0.01
0.0002
Sockets
Direction
Name
Type
input*
points
points
points
outputprimary
out
spline
Points to Text
points-to-text
Format each point's own data into a string — position (x, y), index, rotation, scale, or group — one label per point. Pick a field or write a custom token template ({x} {y} {i} {n} {rot} {rad} {sx} {sy} {g}); coordinates read normalized [0,1] or in pixels, with adjustable precision. Emits a text_instance: wire it into Copy to Points (text mode, 'by index' pairing) to place each label on its point. Style comes from a wired Text node, or the local font/size/color params.
Parameters
Name
Type
Default
Data
field
enum
"position"
position · x · y · index · rotation · scale · group · custom
Template
template
string
"{x}, {y}"
Units
units
enum
"normalized"
normalized · pixels
Decimals
precision
scalar
0 … 6
2
Font
font_family
enum
"Inter"
Inter · Roboto · Open Sans · Lato · Montserrat · Poppins · Work Sans · DM Sans · Nunito · Raleway · Oswald · Bebas Neue · Playfair Display · Merriweather · Crimson Text · Cormorant Garamond · Space Mono · JetBrains Mono · Helvetica · Arial · Georgia · Times New Roman · Courier New
Size (px)
size
scalar
1 … 512
32
Color
color
color
"#ffffff"
Align
alignment
enum
"center"
left · center · right
Sockets
Direction
Name
Type
input*
points
points
points
input
Style
style
text_instance
outputprimary
out
text_instance
Sample Texture at Points
sample-texture-at-points
Reads a channel of an image at each point's position and writes the value into the chosen attribute (scale or rotation). The sampled [0..1] value remaps linearly to [Lo..Hi] before being combined via Replace / Multiply / Add.
Parameters
Name
Type
Default
Channel
channel
enum
"luminance"
luminance · r · g · b · a
Target
target
enum
"scale"
scale · rotation
Blend
blend
enum
"replace"
replace · multiply · add
Lo (black ⇒)
lo
scalar
-100 … 100
0
Hi (white ⇒)
hi
scalar
-100 … 100
1
Sockets
Direction
Name
Type
input*
points
points
points
input*
image
image
image
outputprimary
out
points
Set Named Attribute
set-named-attributepolymorphic
Writes a named channel (a Blender-style attribute) onto points, spline anchors, or spline subpaths: pick a name, a type, and a source — a constant, a 0→1 ramp over element order, a stable per-element random, or an image sampled at each element's position. Channels flow through downstream nodes, show as columns in the Spreadsheet panel, and point channels read back in Point Expression via attr("name"). Reserved names (the built-in x/y/index/rotation/scale/group columns) pass through unchanged.
Parameters
Name
Type
Default
Name
attr_name
string
"weight"
Target
target
enum
"points"
points · spline anchors · spline subpaths
Type
kind
enum
"float"
float · vec2 · vec3 · vec4 · color
Source
source
enum
"constant"
constant · index · random · image
Value
value
scalar
-100 … 100
1
Value
value_vec
vec4
[0,0,0,0]
Color
color
color
"#ffffff"
Seed
seed
scalar
0 … 10000
0
Lo
lo
scalar
-100 … 100
0
Hi
hi
scalar
-100 … 100
1
Sockets
Direction
Name
Type
input*
Points
points
points
input
image
image
image
outputprimary
out
points
outputaux
name
string
Set Position
set-positionpolymorphic
Translate so the input's geometric center lands at (X, Y). Absolute placement — unlike Transform's offset translate, the result is always centered at the target regardless of where the input started.