Builtin Library
README.md
field.ramp (procNode)
A ramp read at every element by a value it carries: a particle's colour, size or opacity following its age. It takes
the value each element reads by (the wired t, else the element's own by attribute, through value.fallback and
field.attribute), maps it from range onto 0..1 (field.map_range, the ends read off range by value.get), and
reads the ramp there with ramp.sample, compiled into the element's dispatch. A value past either end of range reads
that end of the ramp.
Inputs
ramp(Ramp): the ramp to read.t(Field<Float> | Float): where along the ramp each element reads. Unwired, it is the element's ownbyattribute.by(String, default"life"): the Float attribute each element reads the ramp by whentis unwired. A particle solver's particles carrylife, 0 at birth to 1 at death.range(Vec2, default{ 0, 1 }): the values oftthat land at 0 and at 1 on the ramp, so a speed from 0 to 20 or a temperature from 300 to 3000 reads the whole ramp.
Outputs
field: the ramp's value at each element.
Which graph calls it
This node is built with proc.graph and g:node, and a proc.graph graph calls it as g:node("<id>", "field.ramp", ...). A graph built with proc.define calls g.field.ramp in its place, the node written in the call form; g.op.field.ramp there is refused, naming it.