HSVA
 HSVA(h: ScalarSignal, s: ScalarSignal, v: ScalarSignal, a: ScalarSignal): HsvaSignal
Combines four signals and returns the result as an HsvaSignal . Each value should be in the range between 0.0 and 1.0.
Note: Hue value is also specified in the range between 0.0 and 1.0.

RGBA
 RGBA(r: ScalarSignal, g: ScalarSignal, b: ScalarSignal, a: ScalarSignal): RgbaSignal
Combines four signals and returns the result as an RgbaSignal . Each value should be in the range between 0.0 and 1.0.
Note: RGB components are interpreted in sRGB space.

abs
 abs(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the absolute value of the given signal.
See Also: ScalarSignal.abs

add
 add(x: ScalarSignal, y: ScalarSignal): ScalarSignal
add(x: PointSignal, y: VectorSignal): PointSignal
add(x: VectorSignal, y: PointSignal): PointSignal
add(x: VectorSignal, y: VectorSignal): VectorSignal
Returns a signal with the value that is the sum of the values of the given signals.
Note: add and sum functions are synonims, the behavior they provide is equivalent.
See Also: ReactiveModule.sum , ScalarSignal.add , PointSignal.add , VectorSignal.add

and
 and(lhs: BoolSignal, rhs: BoolSignal): BoolSignal
Returns a signal with the value that is the logical conjunction of the values of the given signals. It is true every time both input signals are true and false at all other times.
See Also: BoolSignal.and

andList
 andList(x: Array<BoolSignal>): BoolSignal
Returns a signal with the value that is the logical and of the values in an array

antiderivative
 antiderivative(signal: ScalarSignal, {min: number, max: number, initialValue: number, overflowBehaviour: ReactiveModule.AntiderivativeOverflowBehaviour}): ScalarSignal
Returns a signal that estimates the anti derivative of the given signal with respect to time (measured in milliseconds).
Note: Since the antiderivative is inherently unbound the min/max parameters must be provided to prevent overflow. when overflowBehaviour is CLAMP the output is clamped at the min/max. When overflowBehaviour is WRAP the output is wrapped. This is useful when the output represents something that is cyclic like an angle in this case min might be 0, max might be 2*PI.

atan2
 atan2(y: ScalarSignal, x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the angle in radians between the xaxis and the ray from (0, 0) to (x, y) where x and y are the values of the specified signals. The range is PI to +PI.
See Also: ScalarSignal.atan2

ceil
 ceil(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the smallest integer that is greater than or equal to the value of the given signal.
See Also: ScalarSignal.ceil

clamp
 clamp(x: ScalarSignal, min: ScalarSignal, max: ScalarSignal): ScalarSignal
Returns a signal with the value that is the value of the given x signal constrained to lie between the values of the given min and max signals.
Note: The behavior is undefined if min is greater than max .

concat
 concat(lhs: StringSignal, rhs: StringSignal): StringSignal
Returns a StringSignal containing the concatenation of the values specified by the input signals.
See Also: StringSignal.concat

cos
 cos(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the cosine of the value of the given signal (interpreted as radians).

derivative
 derivative(): ScalarSignal
Returns a signal that estimates the derivative of the given signal with respect to time (measured in milliseconds).
Note: the value of the derivative at the initial point of time is always set to zero.
Note: the returned signal might be noisy for certain types of input signals, especially those received from the face tracking. It is recommended to pass the input signal to expSmooth first with a damping constant in the range between 100 and 500.

div
 div(x: ScalarSignal, y: ScalarSignal): ScalarSignal
Returns a signal with the value that is the value of the first signal divided by the value of the second signal.
See Also: ScalarSignal.div

eq
 eq(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal
eq(lhs: StringSignal, rhs: StringSignal): BoolSignal
eq(lhs: BoolSignal, rhs: BoolSignal): BoolSignal
Returns a Boolean signal that takes the value of true every time when the value of the lefthandside signal is equal to the value of the righthandside one, and the value of false all other time.
Note: the scalar values are tested for exact equality. For some applications it might be reasonable to perform a nonstrict comparison allowing the values to be within a small distance one from another.
See Also: ScalarSignal.eq , StringSignal.eq , BoolSignal.eq

exp
 exp(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is e (the Euler's constant 2.718...) to the power of the value of the given signal.

expSmooth
 expSmooth(signal: ScalarSignal, dampFactor: number): ScalarSignal
expSmooth(signal: PointSignal, dampFactor: number): PointSignal
expSmooth(signal: VectorSignal, dampFactor: number): VectorSignal
expSmooth(signal: TransformSignal, dampFactor: number): TransformSignal
Smoothes a variable signal using exponential averaging over time. The argument specifies the dampening time constant in milliseconds.
Note: See also ScalarSignal.expSmooth , PointSignal.expSmooth , VectorSignal.expSmooth , TransformSignal.expSmooth .
Note: The smoothed transformation for a signal that specifies a rigid body transformation is guaranteed to be a rigid body transformation. The rotation component is smoothed in spherical coordinates using Slerp (spherical linear interpolation).

floor
 floor(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the largest integer that is less than or equal to the value of the given signal.
See Also: ScalarSignal.floor

ge
 ge(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal
Returns a Boolean signal that takes the value of true every time when the value of the lefthandside signal is greater than or equal to the value of the righthandside one, and the value of false all other time.
See Also: ScalarSignal.ge

gt
 gt(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal
Returns a Boolean signal that takes the value of true every time when the value of the lefthandside signal is strictly greater than the value of the righthandside one, and the value of false all other time.
See Also: ScalarSignal.gt

le
 le(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal
Returns a Boolean signal that takes the value of true every time when the value of the lefthandside signal is less than or equal to the value of the righthandside one, and the value of false all other time.
See Also: ScalarSignal.le

log
 log(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the natural logarithm of the value of the given signal.

lt
 lt(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal
Returns a Boolean signal that takes the value of true every time when the value of the lefthandside signal is strictly less than the value of the righthandside one, and the value of false all other time.
See Also: ScalarSignal.lt

max
 max(x: ScalarSignal, y: ScalarSignal): ScalarSignal
Returns a signal with the value that is the greater of the values of the given signals.

min
 min(x: ScalarSignal, y: ScalarSignal): ScalarSignal
Returns a signal with the value that is the lesser of the values of the given signals.

mix
 mix(x: ScalarSignal, y: ScalarSignal, alpha: ScalarSignal): ScalarSignal
mix(x: PointSignal, y: PointSignal, alpha: ScalarSignal): PointSignal
mix(x: VectorSignal, y: VectorSignal, alpha: ScalarSignal): VectorSignal
mix(x: TransformSignal, y: TransformSignal, alpha: ScalarSignal): TransformSignal
Returns a signal with the value that is the interpolation of the values of the given signals.

mod
 mod(x: ScalarSignal, y: ScalarSignal): ScalarSignal
Returns a signal with the value that is the floatingpoint remainder of the division of the value of the first signal by the value of the second signal.
See Also: ScalarSignal.mod

monitorMany
 monitorMany(signals: { [string]: ScalarSignal}): EventSource
monitorMany(signals: { [string]: ScalarSignal}, config: {fireOnInitialValue: ?boolean}): EventSource
Returns an EventSource that emits an event every time when any value of the input signals change. The event contains a JSON object with the old and new values in the format:
{ "oldValues": oldValues, "newValues": newValues }
where oldValues and newValues are the JSON objects where keys are the names of the signals and values are old or new values of that signals correspondingly.
Note: By default, there is no event fired for the initial value of the signal. If config.fireOnInitialValue is set to true then an event for initial signal value is also emitted. oldValues is unset for this initial event.
See Also: ReactiveModule.monitor

mul
 mul(x: ScalarSignal, y: ScalarSignal): ScalarSignal
mul(x: VectorSignal, y: ScalarSignal): VectorSignal
mul(x: ScalarSignal, y: VectorSignal): VectorSignal
Returns a signal with the value that is the product of the values of the given signals.
See Also: ScalarSignal.mul , VectorSignal.mul

mulList
 mulList(x: Array<number>): ScalarSignal
Returns a signal with the value that is the product of the values in an array

ne
 ne(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal
ne(lhs: StringSignal, rhs: StringSignal): BoolSignal
ne(lhs: BoolSignal, rhs: BoolSignal): BoolSignal
Returns a Boolean signal that takes the value of true every time when the value of the lefthandside signal is not equal to the value of the righthandside one, and the value of false all other time.
Note: the scalar values are tested for exact equality. For some applications it might be reasonable to perform a nonstrict comparison allowing the values to be within a small distance one from another.
See Also: ScalarSignal.ne , StringSignal.ne , BoolSignal.ne

neg
 neg(x: ScalarSignal): ScalarSignal
neg(x: VectorSignal): VectorSignal
Returns a signal with the negated value of the given signal.
See Also: ScalarSignal.neg , VectorSignal.neg

not
 not(signal: BoolSignal): BoolSignal
Returns a signal with the logically negated value of the given signal.
See Also: BoolSignal.not

once
 once(): EventSource
Returns an EventSource that emits exactly one empty event as soon as possible.

or
 or(lhs: BoolSignal, rhs: BoolSignal): BoolSignal
Returns a signal with the value that is the logical disjunction of the values of the given signals. It is true every time at least one of the input signals is true and false at all other times.
See Also: BoolSignal.or

orList
 orList(x: Array<BoolSignal>): BoolSignal
Returns a signal with the value that is the logical or of the values in an array

point
 point(x: ScalarSignal, y: ScalarSignal, z: ScalarSignal): PointSignal
Combines three signals and returns the result as a PointSignal .

point2d
 point2d(x: ScalarSignal, y: ScalarSignal): PixelPointSignal
Combines two signals and returns the result as a PixelPointSignal .

pow
 pow(b: ScalarSignal, n: ScalarSignal): ScalarSignal
Returns a signal with the value that is the base signal raised to the power of the exponent signal.
For further details on behavior relating to mathematical edge cases, see ScalarSignal.pow .
See Also: ScalarSignal.pow

rotation
 rotation(w: number, x: number, y: number, z: number): Rotation
Creates 'Rotation' from quaternion components.

round
 round(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the rounded value of the given signal.
Note: When the fractional part is 0.5, it rounds the number away from zero, which is at odds with JavaScript standard behavior of rounding it always up in such cases. Therefore, this function is NOT exactly the reactive counterpart of the standard JavaScript Math.round utility.
See Also: ScalarSignal.round

scale
 scale(x: ScalarSignal, y: ScalarSignal, z: ScalarSignal): ScaleSignal
Combines three signals and returns the result as a ScaleSignal .

schmittTrigger
 schmittTrigger(signal: ScalarSignal, config: { low: number, high: number, initialValue: ?boolean}): BoolSignal
Returns a Boolean signal that is true when the input is strictly greater than the upper threshold, and false when it is strictly less than the lower threshold.
For input values between and including the thresholds, the Shmitt trigger returns the same value as at the previous update, or initialValue if this is the first update.
Note: The initialValue is assumed to be false if it isn't specified.

sign
 sign(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the sign of the given signal. Possible sign values: NaN, 0.0, 0.0, 1.0, 1.0.
Note: this function is the reactive counterpart of the standard JavaScript Math.sign utility.
See Also: ScalarSignal.sign

sin
 sin(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the sine of the value of the given signal (interpreted as radians).

sqrt
 sqrt(x: ScalarSignal): ScalarSignal
Returns a signal with the value that is the square root of the value of the given signal.
See Also: ScalarSignal.sqrt

sub
 sub(x: ScalarSignal, y: ScalarSignal): ScalarSignal
sub(x: PointSignal, y: VectorSignal): PointSignal
sub(x: VectorSignal, y: VectorSignal): VectorSignal
sub(x: PointSignal, y: PointSignal): VectorSignal
Returns a signal with the value that is the difference of the values of the given signals.
See Also: ScalarSignal.sub , VectorSignal.sub , PointSignal.sub

sum
 sum(x: ScalarSignal, y: ScalarSignal): ScalarSignal
sum(x: PointSignal, y: VectorSignal): PointSignal
sum(x: VectorSignal, y: PointSignal): PointSignal
sum(x: VectorSignal, y: VectorSignal): VectorSignal
Returns a signal with the value that is the sum of the values of the given signals.
Note: add and sum functions are synonims, the behavior they provide is equivalent.
See Also: ReactiveModule.add , ScalarSignal.sum , PointSignal.sum , VectorSignal.sum

sumList
 sumList(x: Array<number>): ScalarSignal
Returns a signal with the value that is the sum of the values in an array

val
 val(constant: number): ScalarSignal
val(constant: string): StringSignal
val(constant: boolean): BoolSignal
Returns a signal that has a constant value which is specified by the argument.
Note: Primitive types are implicitly converted to constant signals when passed as function or propertysetter arguments, therefore using val in such scenarios is not required.

vector
 vector(x: ScalarSignal, y: ScalarSignal, z: ScalarSignal): VectorSignal
Combines three signals and returns the result as a VectorSignal .

xor
 xor(lhs: BoolSignal, rhs: BoolSignal): BoolSignal
Returns a signal with the value that is the logical exclusive disjunction of the values of the given signals. It is true every time exactly one of the input signals is true and false at all other times.
Note: It is equivalent to ReactiveModule.ne .
See Also: BoolSignal.xor

xorList
 xorList(x: Array<BoolSignal>): BoolSignal
Returns a signal with the value that is the logical xor of the values in an array
