Interface: Monitor

Imperative controller for a WebGPU signal monitor canvas.

Remarks

The controller owns its renderer resources, but borrows both the device and canvas supplied to createMonitor. Call Monitor.destroy before releasing either borrowed resource.

Methods

clear()

clear(): void

Clear the loaded series and blank the monitor.

Returns

void


destroy()

destroy(): void

Release event handlers, canvas configuration, and renderer resources.

Returns

void


extend()

extend(validFrames, values?): void

Advance the committed frame frontier.

Pass values to replace the loaded sample buffer; otherwise mutate the existing buffer in place before calling.

Parameters

Parameter

Type

Description

validFrames

number

Number of frames ready to draw, clamped to the series length.

values?

Float32Array<ArrayBufferLike>

Optional replacement buffer with the same length as the loaded series.

Returns

void

Throws

Error when no series is loaded or the replacement buffer length differs.


load()

load(series, signal?): void

Bind a series and schedule its committed frames for painting.

Parameters

Parameter

Type

Description

series

Series

Packed monitor samples and time coordinates.

signal?

number

Initial signal index. Default: 0.

Returns

void

Throws

Error when the series shape or signal index is invalid.


on()

on<K>(event, handler): () => void

Subscribe to a monitor event and receive an unsubscribe callback.

Type Parameters

Type Parameter

K extends keyof Events

Parameters

Parameter

Type

Description

event

K

Event name to observe.

handler

(payload) => void

Callback invoked with the event payload.

Returns

A function that removes the handler.

() => void


pause()

pause(): void

Pause painting and pointer hover work until resumed.

Returns

void


resume()

resume(): void

Resume painting after a consumer pause.

Returns

void


setColormap()

setColormap(fn): void

Replace the transfer function used for trace color.

Parameters

Parameter

Type

Description

fn

(t) => readonly [number, number, number]

Function mapping normalized values in [0, 1] to RGB channels in [0, 1].

Returns

void


setFocus()

setFocus(element): void

Highlight one element with a foreground trace, or pass null to clear focus.

Parameters

Parameter

Type

Description

element

number | null

Element index to focus, or null to clear focus.

Returns

void


setSignal()

setSignal(signal): void

Switch the displayed signal.

Parameters

Parameter

Type

Description

signal

number

Signal index in [0, series.signalCount).

Returns

void

Throws

Error when no series is loaded or the signal index is invalid.


setValueRange()

setValueRange(range): void

Override the value domain, or pass null to return to auto-fit.

Parameters

Parameter

Type

Description

range

readonly [number, number] | null

Fixed [min, max] domain, or null for auto-fit.

Returns

void