Sort
Sort points, geometry, or primitives by attribute, distance, or direction.
What it does
Sort reorders whatever comes in. Points, geometry, or shapes are reordered by an attribute, by position along an axis, by distance from a point, in a spiral, or shuffled with a random seed. An image or a Volume has its pixels or Z-depth slices reordered instead: rows or columns sorted by brightness, a colour channel, or density, with an optional pass to accumulate, blend, or take the maximum across the sorted stack.
The mode list and the parameters shown follow what is wired into Input.
When to use it
Elements processed or drawn in a specific order: by an attribute value, front-to-back along an axis, or by distance from a point.
Spiral or radial ordering for a stagger, a build-on animation, or a winding pattern.
A deterministic random shuffle.
The pixel-sort glitch look on an image: rows or columns sorted by brightness or a channel, or following a vector field's streamlines for a flowing sort.
A Volume stacked from unordered slices that needs depth-sorting before further processing.
| Parameter | Type | Default |
|---|---|---|
input | OneOf([Collection, Field, FieldOf(Color)]) | — |
sort_type | String | "Pixel Sort" |
axis | String | "Vertical" |
field | OneOf([FieldOf(Color), RasterArray, Field]) | — |
step_size | Number | 1 |
max_length | Number | 2048 |
mode | String | "Attribute" |
attribute | String | "@index" |
axis_angle | Number | 0 |
center | Vec3 | (0, 0, 0) |
spiral_center | Vec2 | (0, 0) |
twist | Number | 1 |
seed | Number | 0 |
direction | String | "Ascending" |
reindex | Boolean | true |
add_total | Boolean | true |
volume_sort_key | String | "Luminance" |
propagation | String | "None" |
blend_radius | Number | 1 |
strength | Number | 1 |
Gotchas
In Axis mode, 0° sorts left-to-right and 90° sorts bottom-to-top. Any angle between sorts along a diagonal.
Spiral mode's Twist controls tightness: 0 gives a pure clockwise sweep around the centre, higher values a tighter, more coiled winding.
Reindex and Add Total, which refresh @index/@u/@total after a reorder, are visible only when the input is a shape, not for Geometry or Points collections. Reindexing after sort currently applies there only.
Frame Reorder (under Sort Type, for image sequences) is present in the UI but does not yet change frame order. Only Pixel Sort is active for that input type today.
Worked example
Add a Sort node and wire in a collection of shapes.
Leave Mode on Attribute and set Attribute to
@indexfor a stable pass-through order, or type a custom attribute name to sort by that value.Switch Mode to Proximity and set Center to sort elements by distance from that point: nearest first in Ascending, farthest first in Descending.
Try Spiral mode: set Spiral Center and raise Twist to build a winding order, useful for staggered reveal animations.
For an image, wire it into Input instead, set Axis to Vertical or Horizontal, and pick a Volume/pixel Sort Key like Luminance for a pixel-sort glitch effect.