step
Functionstep(start: ~T, end: ~T, t: float) -> ~T
Discrete step: returns start for t < 0.5, end for t >= 0.5.
Used for non-numeric values (strings, enums, booleans) that cannot be smoothly interpolated.