Builtin Library
README.md
core.realize (procNode)
Copy source geometries onto points: every point stands a copy of its source (one source for all, or the one its variant names), the copy placed by the point's position, orientation and scale.
Built from core.concat (the sources as one catalog), core.join (each source's counts and starts), scan of the per-point element counts, the expand kernel (one row per copied element), gather of the catalog's columns, math operators for the placement, and gather to renumber vertex.pt and primitive.vstart into the copies. Every attribute of an instance point, orient, scale and variant included, stands on each point of its copy.
Inputs
points(Points). The instance points.sources(List<Geometry>). The geometries copied, in the ordervariantcounts them.variant(String). Default"". The point attribute that picks a source by number, 0 for the first; empty gives every point the first source.orient(String). Default"orient". The point attribute holding each point's rotation as a quaternion; empty places without rotation.scale(String). Default"scale". The point attribute holding each point's scale; empty places at full size.
Outputs
geometry: the copies as one geometry.
Example
local points = g.points.grid({ countX = 4, countZ = 1, spacing = 1 })
local placed = g.core.realize({ points = points, sources = { g.mesh.box({}) } })
A box stands on each of the four points: 96 points and 48 primitives.