Exposes functionality for performing mathematical and logical operations with signals.
As the Spark AR API uses a reactive model to propagate data and values, regular JavaScript mathematical operations are not valid. Instead methods exposed by the Reactive
module should be used, for example Reactive.add(scalarSignalX, scalarSignalY);
adds two ScalarSignal
s together.
The module also exposes classes that describe signal equivalents for basic data types such as booleans and strings, as well as signal types specific to Spark AR.
Property  Description 

 (get) Box2D: Box2D 
 (get) Box3D: Box3D 
 (get) Color: Color 
 (get) ColorModel: ColorModel 
 (get) Mat4: Mat4 
 (get) Rotation: Rotation 
 (get) Vec2: Vec2 
 (get) Vec3: Vec3 
 (get) Vec4: Vec4 
Method  Description 

 abs(x: ScalarSignal): ScalarSignal Returns a signal with the value that is the absolute value of the given signal. See Also: ScalarSignal.abs 
 acos(x: ScalarSignal): ScalarSignal Returns a signal with the value that is the inverse cosine of the value of the given signal (interpreted as radians). 
 add(x: ScalarSignal, y: ScalarSignal): ScalarSignal Returns a signal with the value that is the sum of the values of the given signals. Note: add and sum functions are synonyms, the behavior they provide is equivalent.See Also: ReactiveModule.sum , ScalarSignal.add , PointSignal.add , Vec3Signal.add 
 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(x: Array<BoolSignal>): BoolSignal Performs a logical AND operation with the array of BoolSignal s specified and returns the result as a BoolSignal .If all signals in the array are true then true is returned, otherwise false is returned.

 antiderivative(signal: ScalarSignal, config: {initialValue: number, max: number, min: number, overflowBehaviour: ReactiveModule.AntiderivativeOverflowBehaviour}): ScalarSignal Estimates the antiderivative of the specified ScalarSignal with respect to time (in milliseconds) and returns the result as a ScalarSignal .
The config JSON object can have the following fields:

 asin(x: ScalarSignal): ScalarSignal Returns a signal with the value that is the inverse sine of the value of the given signal (interpreted as radians). 
 atan(x: ScalarSignal): ScalarSignal Returns a signal with the value that is the inverse tangent of the value of the given signal (interpreted as radians). 
 atan2(x: ScalarSignal, y: 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 
 boolSignalSource(sourceId: string): BoolSignalSource Creates a new BoolSignalSource object, which allows for the value of a BoolSignal object to be updated without rebinding the signal.The signal provided by the source contains a value of false until a value is assigned via BoolSignalSource.set() .When calling the method, avoid reusing the sourceId of an object that you've called dispose() on.

 boundingBox(x: ScalarSignal, y: ScalarSignal, width: ScalarSignal, height: ScalarSignal): Box2DSignal Constructs a Box2DSignal with the dimensions specified by width and height , positioned at the location specified by x and y .All arguments should be provided as normalized screen space units.

 box2d(x: ScalarSignal, y: ScalarSignal, width: ScalarSignal, height: ScalarSignal): Box2DSignal Constructs a Box2DSignal with the dimensions specified by width and height , positioned at the location specified by x and y .All arguments should be provided as normalized screen space units.

 box3d(min: PointSignal, max: PointSignal): Box3DSignal Constructs a Box3DSignal with the provided min and max points.

 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(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(lhs: StringSignal, rhs: StringSignal): StringSignal Joins two StringSignal objects and returns the result as a new StringSignal .The values of the existing StringSignal s passed as arguments are unaffected.StringSignal objects provide their own equivalent concat() method that can be called directly from the object instead of through Reactive.concat() .var string0 = Reactive.val("Hello ");

 cos(x: ScalarSignal): ScalarSignal Returns a signal with the value that is the cosine of the value of the given signal (interpreted as radians). 
 cross(v1: Vec3Signal, v2: Vec3Signal): PointSignal Returns a vector signal with the value that is the cross product of the given signals. See Also: Vec3Signal.dot , ScalarSignal.mul , Vec3Signal.mul 
 derivative(signal: ScalarSignal): ScalarSignal Estimates the derivative of the specified ScalarSignal with respect to time (in milliseconds) and returns the result as a ScalarSignal .As the rate of change is calculated with respect to time elapsed, the initial value of the derivative is always zero. Input signals with constantly updating values, such as the openness signal exposed by the Mouth class, may produce a noisy derivative value. In these instances, it's recommended to first pass the input signal to the Reactive.expSmooth() method with a dampFactor between 100 and 500 before passing to this method.

 distance(v1: PointSignal, v2: PointSignal): ScalarSignal Returns the distance from the point to another point as a ScalarSignal . 
 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 
 dot(v1: Vec3Signal, v2: Vec3Signal): ScalarSignal Returns a scalar signal with the value that is the dot product of the given signals. See Also: Vec3Signal.cross , ScalarSignal.mul , Vec3Signal.mul 
 eq(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal Compares whether the left hand side signal's value is equal to the right hand side signal's value and returns the result as a BoolSignal .ScalarSignal , StringSignal and BoolSignal objects can all be compared against another signal of the same type.If the values are equal true is returned, otherwise false is returned.The above object types also provide their own equivalent eq() method that can be called directly from the object instead of through Reactive.eq() .

 eventEmitter(): EventEmitter Creates a new EventEmitter object, which allows you to emit new events from an EventSource without rebinding it. When calling the method, avoid reusing the sourceId of an object that you've called dispose() on. 
 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(signal: ScalarSignal, dampFactor: number): ScalarSignal Smooths the specified variable signal using exponential averaging over time and returns the result as a signal of the same type. The smoothed transformation for a signal that specifies a rigid body transformation is guaranteed to also be a rigid body transformation. The rotation component is smoothed in spherical coordinates using spherical linear interpolation (Slerp). ScalarSignal , PointSignal , Vec3Signal and Mat4Signal objects each provide their own equivalent expSmooth() method that can be called directly from the object instead of through Reactive.expSmooth() .

 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 
 fromRange(x: ScalarSignal, min: ScalarSignal, max: ScalarSignal): ScalarSignal Maps x from [min, max] range to [0.0, 1.0] range. 
 ge(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal Compares whether the ScalarSignal value on the left hand side of the evaluation is greater than or equal to the ScalarSignal on the right hand side and returns the result as a BoolSignal .If the left hand value is greater than or equal to the right hand value true is returned. If the left hand value is lower false is returned.ScalarSignal objects provide their own equivalent ge() method that can be called directly from the object instead of through Reactive.ge() .

 gt(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal Compares whether the ScalarSignal value on the left hand side of the evaluation is greater than the ScalarSignal on the right hand side and returns the result as a BoolSignal .If the left hand value is greater than the right hand value true is returned. If the left hand value is lower, or if the values are equal, false is returned.ScalarSignal objects provide their own equivalent gt() method that can be called directly from the object instead of through Reactive.gt() .

 HSVA(h: ScalarSignal  number, s: ScalarSignal  number, v: ScalarSignal  number, a: ScalarSignal  number): HsvaSignal Constructs an HsvaSignal object from the individual component values specified.The ScalarSignal or number passed into each component must contain a value between 0.0 and 1.0 .

 ifThenElse<T, U>(condition: BoolSignal  boolean, thenValue: EventSource<T>, elseValue: EventSource<U>): EventSource<T  U> Returns a signal or an EventSource which at any point of time takes the value (passes the events in case of EventSource ) of one or another inputs, depending on the momentary value of the given condition BoolSignal . 
 le(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal Compares whether the ScalarSignal value on the left hand side of the evaluation is less than or equal to the ScalarSignal on the right hand side and returns the result as a BoolSignal .If the left hand value is lower than or equal to the right hand value true is returned. If the left hand value is greater false is returned.ScalarSignal objects provide their own equivalent le() method that can be called directly from the object instead of through Reactive.le() .

 log(x: ScalarSignal): ScalarSignal Returns a signal with the value that is the natural logarithm of the value of the given signal. 
 lookAt(eyeTransform: Mat4Signal, targetPosition: PointSignal, eyeUp?: Vec3Signal): Mat4Signal Returns a Mat4Signal object with its rotation set in the direction of the specified target.Create a new null object in Spark AR Studio and place the object to use as the 'eye' object within it. Then, pass the null object's transform to the lookAt method, for example:(async function () { // Enables async/await in JS [part 1]

 lt(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal Compares whether the ScalarSignal value on the left hand side of the evaluation is less than the ScalarSignal on the right hand side and returns the result as a BoolSignal .If the left hand value is lower than the right hand value true is returned. If the left hand value is greater, or if the values are equal, false is returned.ScalarSignal objects provide their own equivalent lt() method that can be called directly from the object instead of through Reactive.lt() .

 magnitude(v: Vec3Signal): ScalarSignal Returns the magnitude of the vector as a ScalarSignal . 
 magnitudeSquared(signal: ScalarSignal): ScalarSignal Returns the squared length (magnitude) of a given signal. Calculating the squared magnitude instead of the magnitude is much faster. Often if you are comparing magnitudes of two vectors you can just compare their squared magnitudes. 
 max(x: ScalarSignal, y: ScalarSignal): ScalarSignal Returns a signal with the value that is the greater of the values of the given signals. 
 min(x: ScalarSignal, y: ScalarSignal): ScalarSignal Returns a signal with the value that is the lesser of the values of the given signals. 
 mix(x: ScalarSignal, y: ScalarSignal, alpha: ScalarSignal): ScalarSignal Returns a signal with the value that is the interpolation of the values of the given signals. 
 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(signals: {[name: string]: ScalarSignal}, config?: {fireOnInitialValue?: false  true}): EventSource<{newValues: {[key: string]: number}, oldValues: {[key: string]: number}}> Returns an EventSource that emits an event whenever the value of any of the specified input signals changes.The event contains a JSON object which provides the old and new values of the signals in the format { "oldValues": oldValues, "newValues": newValues } .oldValues is itself a JSON object, the keys of which are the names of the signals as specified in the method call and the values of which are each signals' previous values. The newValues JSON object uses the same keys but provides each signals' new value.
The config JSON object can have the following field:
// Load in the required modules 
 mul(x: ScalarSignal, y: ScalarSignal): ScalarSignal Returns a signal with the value that is the product of the values of the given signals. See Also: ScalarSignal.mul , Vec3Signal.mul 
 mulList(x: Array<number  ScalarSignal>): ScalarSignal Returns a ScalarSignal containing the value that is the product of all of the values in the array specified.const numArray = [2, 3, 4];

 ne(lhs: ScalarSignal, rhs: ScalarSignal): BoolSignal Compares whether the left hand side signal's value is not equal to the right hand side signal's value and returns the result as a BoolSignal .ScalarSignal , StringSignal and BoolSignal objects can all be compared against another signal of the same type.If the values are not equal true is returned, otherwise false is returned.The above object types also provide their own equivalent ne() method that can be called directly from the object instead of through Reactive.ne() .

 neg(x: ScalarSignal): ScalarSignal Returns a signal with the negated value of the given signal. See Also: ScalarSignal.neg , Vec3Signal.neg 
 normalize(v: Vec3Signal): Vec3Signal Returns the normalized (unit) vector in the direction of the original vector as a Vec3Signal . 
 not(signal: BoolSignal): BoolSignal Performs a logical NOT operation with the BoolSignal specified and returns the result as a BoolSignal .If a signal with a value of true is passed to the method false will be returned and vice versa.BoolSignal objects provide their own equivalent not() method that can be called directly from the object instead of through Reactive.not() .

 once(): EventSource<void> Returns an EventSource that emits an empty event a single time, as soon as it is able to. 
 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(x: Array<BoolSignal>): BoolSignal Performs a logical OR operation with the array of BoolSignal s specified and returns the result as a BoolSignal .If any of the signals in the array are true then true is returned, otherwise false is returned.

 pack2(x: ScalarSignal, y: ScalarSignal): Vec2Signal Packs two Scalar or Point signals into a bigger Point signal. 
 pack3(x: ScalarSignal, y: ScalarSignal, z: ScalarSignal): PointSignal Packs three Scalar or Point signals into a bigger Point signal. 
 pack4(x: ScalarSignal, y: ScalarSignal, z: ScalarSignal, w: ScalarSignal): Vec4Signal Packs four ScalarSignals into a Vec4Signal . 
 point(x: ScalarSignal  number, y: ScalarSignal  number, z: ScalarSignal  number): PointSignal Constructs a PointSignal representing a 3D coordinate from the three ScalarSignal or number values provided.

 point2d(x: ScalarSignal  number, y: ScalarSignal  number): Vec2Signal Constructs a Vec2Signal from the two ScalarSignal or number values provided.

 pow(base: ScalarSignal, exponent: ScalarSignal): ScalarSignal Returns a signal with the value that is the base signal raised to the power of the exponent signal. The result is undefined if the base is negative, or if the base is zero and the exponent is not positive. See Also: ScalarSignal.pow 
 quaternion(w: ScalarSignal, x: ScalarSignal, y: ScalarSignal, z: ScalarSignal): QuaternionSignal Constructs a QuaternionSignal with the component values specified.

 quaternionFromAngleAxis(angle: ScalarSignal, axis: Vec3Signal): QuaternionSignal Constructs a QuaternionSignal from the rotation specified by the angle and normalized axis.

 quaternionFromEuler(x: ScalarSignal, y: ScalarSignal, z: ScalarSignal): QuaternionSignal Constructs a QuaternionSignal from the rotation specified by the euler angle.

 quaternionFromTo(from: Vec3Signal, to: Vec3Signal): QuaternionSignal Calculates the rotation required to rotate the from vector to the to vector and returns the result as a QuaternionSignal .

 quaternionIdentity(): QuaternionSignal Constructs a QuaternionSignal that represents an identity quaternion. 
 quaternionLookAt(targetPosition: PointSignal, selfUp?: Vec3Signal): QuaternionSignal Constructs a QuaternionSignal representing rotation in the direction of a normalized target direction vector.

 reflect(incident: Vec3Signal, normal: Vec3Signal): Vec3Signal Calculates the reflection direction for an incident vector and a normal as a Vec3Signal . 
 RGBA(r: ScalarSignal  number, g: ScalarSignal  number, b: ScalarSignal  number, a: ScalarSignal  number): RgbaSignal Constructs an RgbaSignal object from the individual component values specified.The ScalarSignal or number passed into each component must contain a value between 0.0 and 1.0 .The RGB components are interpreted in sRGB color space.

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

 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 
 scalarSignalSource(sourceId: string): ScalarSignalSource Creates a new ScalarSignalSource object, which allows for the value of a ScalarSignal object to be updated without rebinding the signal.The signal provided by the source contains a value of 0 until a value is assigned via ScalarSignalSource.set() .When calling the method, avoid reusing the sourceId of an object that you've called dispose() on.

 scale(x: ScalarSignal  number, y: ScalarSignal  number, z: ScalarSignal  number): PointSignal Constructs a PointSignal representing a 3D scale from the three ScalarSignal or number values provided.

 schmittTrigger(signal: ScalarSignal, config: {high: number, initialValue?: false  true, low: number}): BoolSignal Returns a BoolSignal with true if the ScalarSignal provided is higher than the upper threshold specified, or false if the signal is lower than the lower threshold specified.If the signal contains a value within, or equal to, the threshold values this method returns the same boolean value it contained in the previous update, or the value specified by initialValue if this is the first update.var scalar = Reactive.val(12);
The config JSON object can have the following fields:

 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 
 signalHistory<T>(source: EventSource<T>, count: number): EventSourceHistory<T> Returns an object containing the values of the specified signal from previous frames. If the method is called with an EventSource as the source , an EventSourceHistory object is returned. However, if a Signal is specified in the method call instead, a SignalHistory object is returned.

 sin(x: ScalarSignal): ScalarSignal Returns a signal with the value that is the sine of the value of the given signal (interpreted as radians). 
 smoothStep(x: ScalarSignal, edge0: ScalarSignal, edge1: ScalarSignal): ScalarSignal Returns 0.0 if x is less than edge0, and 1.0 if x is greater than edge1. If x is between edge0 and edge1, smooth Hermite interpolation is performed. 
 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 
 step(x: ScalarSignal, edge: ScalarSignal): ScalarSignal Returns 0.0 if x is less than edge, and 1.0 is returned otherwise. 
 stringSignalSource(sourceId: string): StringSignalSource Creates a new StringSignalSource object, which allows for the value of a StringSignal object to be updated without rebinding the signal.The signal provided by the source contains an empty string until a value is assigned via StringSignalSource.set() .When calling the method, avoid reusing the sourceId of an object that you've called dispose() on.

 sub(x: ScalarSignal, y: ScalarSignal): ScalarSignal Returns a signal with the value that is the difference of the values of the given signals. See Also: ScalarSignal.sub , Vec3Signal.sub , PointSignal.sub 
 sum(x: ScalarSignal, y: ScalarSignal): ScalarSignal Returns a signal with the value that is the sum of the values of the given signals. Note: add and sum functions are synonyms, the behavior they provide is equivalent.See Also: ReactiveModule.sum , ScalarSignal.add , PointSignal.add , Vec3Signal.add 
 sumList(x: Array<number  ScalarSignal>): ScalarSignal Returns a ScalarSignal containing the value that is the sum of all of the values in the array specified.const numArray = [1, 2, 3];

 switch(condition: StringSignal, map: {[key: string]: string}, defaultValue: string): StringSignal Returns a StringSignal object, the value of which is determined by the current value of the condition argument.If the value of the condition matches a key from map , the the corresponding value is assigned to the returned StringSignal . Otherwise, defaultValue is assigned.var condition = Reactive.val("Option 0");

 tan(x: ScalarSignal): ScalarSignal Returns a signal with the value that is the tangent of the value of the given signal (interpreted as radians). 
 toRange(x: ScalarSignal, min: ScalarSignal, max: ScalarSignal): ScalarSignal Maps x from [0.0, 1.0] range to [min, max] range. 
 transform(translation: PointSignal, scale: PointSignal, rotation: QuaternionSignal): Mat4Signal Creates a scene object transform from translation, scale and rotation rotation 
 val(constant: number): ScalarSignal Returns a signal containing a constant value, as specified by the argument. The type of signal returned ( ScalarSignal , StringSignal , BoolSignal , Box2DSignal , Box3DSignal , Vec2Signal , PointSignal , Vec4Signal , QuaternionSignal , or Mat4Signal ) depends on the value passed.Raw JavaScript types ( number , string , bool , Box2D , Point3D , Vec3 , Point2D , Vec2 , Vec4 , Box3D , Rotation , Mat4 ) are implicitly converted to their signal equivalents when passed as a method argument or when setting a property. Converting the values to signals with Reactive.val() method is not required.

 vector(x: ScalarSignal  number, y: ScalarSignal  number, z: ScalarSignal  number): Vec3Signal Constructs a Vec3Signal from the three ScalarSignal or number values provided.

 xor(lhs: BoolSignal  boolean, rhs: BoolSignal  boolean): BoolSignal Performs a logical XOR operation with the BoolSignal s specified and returns the result as a BoolSignal .If only one of the signals specified is true then true is returned. If both, or neither, of the signals are true then false is returned.BoolSignal objects provide their own equivalent xor() method that can be called directly from the object instead of through Reactive.xor() .

 xorList(x: Array<BoolSignal>): BoolSignal Performs a logical XOR operation with the array of BoolSignal s specified and returns the result as a BoolSignal .If only one of the signals in the array is true then true is returned. If more than one, or none, of the signals are true then false is returned.

Class  Description 

AnimationBlend  The AnimationBlend class combines an array of AnimationBlendInputs to drive animation blending.Applying to a target ThreeDObject allows playing a blended animation from a collection of blend inputs. 
AnimationBlendInput  The AnimationBlendInput class describes an input used for animation blending.Each input is composed of an AnimationClip, progress ScalarSignal, and weight ScalarSignal. 'clip'  the source animation clip from which to sample animation data. 'progress'  the time driver controlling at which point in time to sample the above clip. Ranges from 0 to 1. 'weight'  the amount this input affects the final blend. Weights for all blend inputs ideally add up to 1. 
AnimationClipSignal  The AnimationClipSignal class describes the MultiChannelSampler loaded from an animation in a .glb asset file.Transmitting a signal to this clip through blocks i/o allows playing animations from externally downloaded blocks. 
BoolSignal  Monitors a boolean value and exposes functionality for performing logical operations with a given signal. 
BoolSignalSource  Represents a source used to get and set the value of a BoolSignal .Typically, changing the value that a signal contains requires a total reassignment: TouchGestures.onTap().subscribe((gesture) => { In the example above, someSignal is bound to a completely new signal which itself contains the desired value.The BoolSignalSource API provides the ability to change the value of the original signal without reassignment, with behavior similar to that of nonreactive programming models. 
Box2D  The Box2D class describes a 2D bounding box value. 
Box2DSignal  The Box2DSignal class monitors a 2D bounding box value. 
Box3D  The Box3D class describes the bounds in 3D space. 
Box3DSignal  The Box3DSignal class describes the bounds in 3D space. 
ColorSignal  The ColorSignal class monitors a color. 
EventSource  The EventSource class provides methods for monitoring signals. 
EventSourceHistory  The EventSourceHistory encapsulates methods for accessing values of EventSource from previous frames. 
HsvaSignal  The HsvaSignal class monitors a HSVA color value. 
ISignal  The ISignal interface. The base class for ScalarSignal , PointSignal , Vec3Signal , BoolSignal , and StringSignal . 
Mat4  The Mat4 class contains a 4D Matrix. 
Mat4Signal  The Mat4Signal class monitors a scene transform. 
Point2D  The Point2D class contains a 2D coordinate. 
Point3D  The Point3D class contains a 3D coordinate. 
PointSignal  The PointSignal class monitors a 3D coordinate. 
PrimitiveOrShaderSignal  The PrimitiveOrShader represents a primitive or shader signal. 
QuaternionSignal  The QuaternionSignal class monitors rotation in a quaternion representation. 
RgbaSignal  The RgbaSignal class monitors a RGBA color value. 
Rotation  The Rotation class encapsulates an object's rotation in a quaternion representation. 
ScalarSignal  Monitors a numerical value and exposes functionality for performing mathematical operations with the given signal. 
ScalarSignalSource  Represents a source used to get and set the value of a ScalarSignal .Typically, changing the value that a signal contains requires a total reassignment: TouchGestures.onTap().subscribe((gesture) => { In the example above, someSignal is bound to a completely new signal which itself contains the desired value.The ScalarSignalSource API provides the ability to change the value of the original signal without reassignment, with behavior similar to that of nonreactive programming models. 
ShaderSignal  The ShaderSignal represents a shader signal. Scalar and Vector signals can be automatically converted to a ShaderSignal. 
SignalHistory  The SignalHistory<T> class encapsulates methods for accessing values from previous frames. 
StringSignal  Monitors a string value. 
StringSignalSource  Represents a source used to get and set the value of a StringSignal .Typically, changing the value that a signal contains requires a total reassignment: TouchGestures.onTap().subscribe((gesture) => { In the example above, someSignal is bound to a completely new signal which itself contains the desired value.The StringSignalSource API provides the ability to change the value of the original signal without reassignment, with behavior similar to that of nonreactive programming models. 
Subscription  The Subscription class implements object value monitoring. 
Vec2  The Vec2 class contains a 2D coordinate. 
Vec2Signal  The Vec2Signal class monitors a 2D coordinate. 
Vec3  The Vec3 class contains a 3D coordinate. 
Vec3Signal  The Vec3Signal class monitors a vector. 
Vec4  The Vec4 class contains a 4D coordinate. 
Vec4Signal  The Vec4Signal class monitors a 4D coordinate. 
Enum  Description 

AntiderivativeOverflowBehaviour  The AntiderivativeOverflowBehaviour enum describes the recovery technique used when anantiderivative overflows. 