Points
A points collection is a cloud of positions — the simplest visual collection, and the thing you scatter, simulate, and instance onto.
What a points collection is
A points collection is a collection where every row is a single point in space. Each point always carries two attributes for free: @P (where it is) and @id (its stable identity). On top of that it can hold any other columns you like — @Cd for colour, @pscale for size, @orient for a facing direction, a velocity, an age, a custom value.
That's all a point is: a position with some data attached. There are no faces or connections between points — it's loose dots, not a surface. (Join them into faces and you have Geometry (meshes); string them into strokes and you have Curves (lines & paths).)
When you reach for points
Points are the workhorse of procedural work. You'll meet them whenever you:
Scatter — sop.scatter sprinkles points across a surface, inside a shape, or through a volume.
Simulate — particles, sparks, dust and crowds are points the solver pushes around (simulation.particle, spawning systems).
Instance / copy — points are placeholders to put things on. Feed a points cloud and a template into the Iterator and you get one copy of the template at every point, each picking up that point's position, colour, and id (this is the heart of per-element context).
Sample — read a field's value at each point to colour, size, or move it (Fields & sampling).
Need just one? sop.point gives you a single point to build from.
Points are how you make sprites
A point can carry a raster as its texture — and then it draws as a small textured quad in the scene. That's a sprite: the thing on the wire is points, the image is just an attribute they hold. Thousands of textured points become thousands of billboards or cards almost for free.
A sprite is textured points; an impostor is a raster that holds a 3D look. They feel similar but are different types. See Sprites, impostors & billboards.
Gotchas
Hand a loose points cloud to a node that expects a mesh and it has no surface to work with — no faces to bevel, fill, or shade as a solid. Check the kind badge on the wire; if you need a surface, build or convert to Geometry (meshes) first.
Use @pscale to drive per-point size and @orient to drive per-point facing, rather than scaling or rotating the whole cloud. Every instance then varies on its own — the natural way to get organic variety.
See also
Collections — the spreadsheet model all kinds share
Attributes —
@P,@id,@pscaleand friendsGeometry (meshes) · Curves (lines & paths) — what points become when you connect them
Sprites, impostors & billboards — turning points into textured sprites
Context: per-element values — how each instance gets its own values