Type Alias: Timed<T>
lifecycle-kit / forms / Timed
Type Alias: Timed<T>
Timed<
T> =T| ((phase) =>T)
Defined in: forms/path.ts:347
A parameter that may vary with time.
Either a constant, or a pure function of phase. This is how a jellyfish bell
pulses without time leaking into Path.
Phase is in turns, not radians and not seconds. Turns because one full cycle is exactly 1.0, so the loop point is a value a test can name exactly instead of an approximate comparison against 2π. Not seconds because a duration is the consumer's decision, and the library does not own a clock.
Turns make the loop point exact at the seam, not inside a consumer's own
arithmetic. Math.sin(2 * Math.PI) is -2.4e-16 rather than 0, so a rule that
converts turns to radians and calls sin can still land a few ulps apart at
phase 0 versus phase 1. That is a property of the trigonometry, not of this
type, and the mitigation belongs where the periodicity is built: derive a
cyclic parameter from phase % 1 so that phase 1 and phase 0 take the same
path through the arithmetic. What turns buy is that such a rule CAN be exact,
which a radian-based phase forecloses outright.
Type Parameters
T
T