Optionalcurves: [Bezier, number][]Drops the sampled table, so later reads go back to evaluating the curve.
Optionalt: numberEvaluates the curve itself, ignoring any sampled table.
Rebuilds the sampled table when the curve changed, otherwise does nothing.
Evaluating this curve means a piece lookup plus a cubic; a particle system does that once per particle per frame. Sampling it once and interpolating costs two loads and a lerp instead. Sampling error at PiecewiseBezier.TABLE_SIZE points stays around 1e-5 for the shapes a curve editor produces — far below what a colour or a size can show.
The curve is public and mutable (a curve editor writes straight into
functions and a Bezier's p), so this compares the control points
against the ones the table was built from and only resamples on a real
change. That is a handful of float compares per frame.
Staticfrom
Sample count of the table built by refreshTable.