Interface: Series

Packed monitor samples over one shared time axis and element axis.

Remarks

values is signal-major. Convert a signal, frame, and element to an index with:

signal * time.length * elementCount + frame * elementCount + element

validFrames lets append-heavy callers load a preallocated buffer before all frames are ready. After writing more samples, call Monitor.extend to commit the new frame frontier.

Example

const series: Series = {
  time: Float64Array.from([0, 1, 2]),
  values: new Float32Array(1 * 3 * 2),
  signalCount: 1,
  elementCount: 2,
  validFrames: 0,
};

series.values[0 * 3 * 2 + 0 * 2 + 0] = 0.25;

Properties

Property

Modifier

Type

Description

elementCount

readonly

number

Number of elements sampled at each frame.

ranges?

readonly

Float32Array<ArrayBufferLike>

Optional per-signal min/max pairs: [min0, max0, min1, max1, ...].

signalCount

readonly

number

Number of independent signals stored in Series.values.

time

readonly

Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike>

Time coordinate for each frame.

validFrames?

readonly

number

Number of frames ready to draw; omit to treat the whole series as committed.

values

readonly

Float32Array

Packed f32 samples for every signal, frame, and element.