Skip to content

Class: TemporalDataLayer ​

Defined in: temporal/TemporalDataLayer.ts:19

A DataLayer whose scalar data varies over time.

Stores T frames of V-length Float32Arrays. On each call to setTime(), linearly interpolates between bracketing frames and writes the result into this.data (inherited from DataLayer), then invalidates so that the layer stack will re-composite.

Design: CPU interpolation happens before colormapping, which produces correct visual blending (interpolating RGBA after colormapping would produce muddy blends).

Extends ​

Constructors ​

Constructor ​

ts
new TemporalDataLayer(
   id, 
   frames, 
   times, 
   colorMap, 
   config
): TemporalDataLayer;

Defined in: temporal/TemporalDataLayer.ts:25

Parameters ​

id ​

string

frames ​

Float32Array<ArrayBufferLike>[]

times ​

number[]

colorMap ​

string | ColorMap | Color[]

config ​

TemporalDataConfig

Returns ​

TemporalDataLayer

Overrides ​

DataLayer.constructor

Properties ​

id ​

ts
id: string;

Defined in: layers.ts:294

Inherited from ​

DataLayer.id


visible ​

ts
visible: boolean;

Defined in: layers.ts:295

Inherited from ​

DataLayer.visible


opacity ​

ts
opacity: number;

Defined in: layers.ts:296

Inherited from ​

DataLayer.opacity


blendMode ​

ts
blendMode: BlendMode;

Defined in: layers.ts:297

Inherited from ​

DataLayer.blendMode


needsUpdate ​

ts
needsUpdate: boolean;

Defined in: layers.ts:298

Inherited from ​

DataLayer.needsUpdate


_onChangeCallback ​

ts
_onChangeCallback: ((changes) => void) | null;

Defined in: layers.ts:300

Callback set by the parent surface to propagate observable layer changes.

Inherited from ​

DataLayer._onChangeCallback

Accessors ​

order ​

Get Signature ​

ts
get order(): number;

Defined in: layers.ts:343

Numeric initialization hint used when this layer first enters a stack. Runtime ordering is owned exclusively by LayerStack.

Deprecated ​

Use LayerStack.setLayerOrder() or LayerStack.moveLayer() after the layer has been added. Runtime writes are ignored.

Returns ​

number

Set Signature ​

ts
set order(order): void;

Defined in: layers.ts:347

Parameters ​
order ​

number

Returns ​

void

Inherited from ​

DataLayer.order

Methods ​

getOrderConstraints() ​

ts
getOrderConstraints(): LayerOrderConstraints;

Defined in: layers.ts:361

Returns ​

LayerOrderConstraints

Inherited from ​

DataLayer.getOrderConstraints


getPresentation() ​

ts
getPresentation(): LayerPresentation;

Defined in: layers.ts:365

Returns ​

LayerPresentation

Inherited from ​

DataLayer.getPresentation


setPresentation() ​

ts
setPresentation(presentation): void;

Defined in: layers.ts:369

Parameters ​

presentation ​

Partial<LayerPresentation>

Returns ​

void

Inherited from ​

DataLayer.setPresentation


setVisible() ​

ts
setVisible(visible): void;

Defined in: layers.ts:432

Parameters ​

visible ​

boolean

Returns ​

void

Inherited from ​

DataLayer.setVisible


setOpacity() ​

ts
setOpacity(opacity): void;

Defined in: layers.ts:439

Parameters ​

opacity ​

number

Returns ​

void

Inherited from ​

DataLayer.setOpacity


setBlendMode() ​

ts
setBlendMode(mode): void;

Defined in: layers.ts:447

Parameters ​

mode ​

BlendMode

Returns ​

void

Inherited from ​

DataLayer.setBlendMode


fromConfig() ​

ts
static fromConfig(config): Layer;

Defined in: layers.ts:501

Backward-compatible throwing factory. The package entry point installs the same explicit registry exposed by createLayerFromConfig.

Parameters ​

config ​

unknown

Returns ​

Layer

Inherited from ​

DataLayer.fromConfig


setData() ​

ts
setData(data, indices?): void;

Defined in: layers.ts:617

Parameters ​

data ​

Float32Array<ArrayBufferLike> | number[]

indices? ​

number[] | Uint32Array<ArrayBufferLike> | null

Returns ​

void

Inherited from ​

DataLayer.setData


getData() ​

ts
getData(): Float32Array<ArrayBufferLike> | null;

Defined in: layers.ts:645

Returns ​

Float32Array<ArrayBufferLike> | null

Inherited from ​

DataLayer.getData


getDataRevision() ​

ts
getDataRevision(): number;

Defined in: layers.ts:649

Returns ​

number

Inherited from ​

DataLayer.getDataRevision


sampleValueAtVertex() ​

ts
sampleValueAtVertex(vertexIndex): number | null;

Defined in: layers.ts:658

Sample the scalar mapped to one surface vertex without exposing private dense or sparse storage. Unmapped, out-of-domain, non-finite, and disposed values return null.

Parameters ​

vertexIndex ​

number

Returns ​

number | null

Inherited from ​

DataLayer.sampleValueAtVertex


getDataSummary() ​

ts
getDataSummary(options?): LayerDataSummary;

Defined in: layers.ts:684

Scalar layers override this without exposing their underlying arrays.

Parameters ​

options? ​

LayerDataSummaryOptions = {}

Returns ​

LayerDataSummary

Inherited from ​

DataLayer.getDataSummary


setColorMap() ​

ts
setColorMap(colorMap): void;

Defined in: layers.ts:762

Parameters ​

colorMap ​

string | ColorMap | Color[]

Returns ​

void

Inherited from ​

DataLayer.setColorMap


setRange() ​

ts
setRange(range): void;

Defined in: layers.ts:803

Parameters ​

range ​

[number, number]

Returns ​

void

Inherited from ​

DataLayer.setRange


setThreshold() ​

ts
setThreshold(threshold): void;

Defined in: layers.ts:812

Parameters ​

threshold ​

[number, number]

Returns ​

void

Inherited from ​

DataLayer.setThreshold


getRange() ​

ts
getRange(): [number, number];

Defined in: layers.ts:821

Returns ​

[number, number]

Inherited from ​

DataLayer.getRange


getThreshold() ​

ts
getThreshold(): [number, number];

Defined in: layers.ts:825

Returns ​

[number, number]

Inherited from ​

DataLayer.getThreshold


writeThresholdEdgeAttributes() ​

ts
writeThresholdEdgeAttributes(
   vertexCount, 
   colors, 
   edges
): boolean;

Defined in: layers.ts:839

Per-vertex inputs for fragment-level threshold edges.

Writes, for every vertex, the layer colour it would take just outside the masked interval (colors, straight RGBA, alpha = 1 where data exist) and a signed distance to the mask in data units (edges: > 0 outside the mask, shown; < 0 inside or without data, hidden). Interpolating the distance across triangles lets a shader draw the threshold as a smooth isoline instead of a per-vertex staircase. Returns false when no mask is active.

Parameters ​

vertexCount ​

number

colors ​

Float32Array

edges ​

Float32Array

Returns ​

boolean

Inherited from ​

DataLayer.writeThresholdEdgeAttributes


getColorMapName() ​

ts
getColorMapName(): string;

Defined in: layers.ts:873

Returns ​

string

Inherited from ​

DataLayer.getColorMapName


getColorKeyRange() ​

ts
getColorKeyRange(): [number, number];

Defined in: layers.ts:882

The value interval a colour key for this layer spans: the display range by default. Layers that map values through more than one scale (e.g. a dual-threshold statistical map) widen it to cover every drawn value.

Returns ​

[number, number]

Inherited from ​

DataLayer.getColorKeyRange


sampleColorMap() ​

ts
sampleColorMap(count?): ColorArray[] | null;

Defined in: layers.ts:891

Colour-key stops: count colours sampled evenly from the low to the high end of getColorKeyRange() with the layer's own colour lookup, ignoring the threshold mask. Returns null without a colormap.

Parameters ​

count? ​

number = 256

Returns ​

ColorArray[] | null

Inherited from ​

DataLayer.sampleColorMap


getRGBAData() ​

ts
getRGBAData(vertexCount): Float32Array;

Defined in: layers.ts:919

Get straight RGBA values for this layer.

Alpha here is intrinsic data/colormap coverage only. Layer.opacity is applied exactly once by the CPU or GPU compositor.

Parameters ​

vertexCount ​

number

Returns ​

Float32Array

Inherited from ​

DataLayer.getRGBAData


update() ​

ts
update(updates): void;

Defined in: layers.ts:987

Update layer data Must be implemented by subclasses

Parameters ​

updates ​

DataLayerUpdateData

Returns ​

void

Inherited from ​

DataLayer.update


setTime() ​

ts
setTime(
   frameA, 
   frameB, 
   alpha
): void;

Defined in: temporal/TemporalDataLayer.ts:116

Interpolate between two bracketing frames and update internal data.

Parameters ​

frameA ​

number

Index of the earlier frame

frameB ​

number

Index of the later frame

alpha ​

number

Interpolation factor [0, 1] where 0 = frameA, 1 = frameB

Returns ​

void


getTimeSeries() ​

ts
getTimeSeries(vertexIndex): Float32Array;

Defined in: temporal/TemporalDataLayer.ts:157

Extract the time series for a single vertex across all frames.

Parameters ​

vertexIndex ​

number

Returns ​

Float32Array


getTimes() ​

ts
getTimes(): number[];

Defined in: temporal/TemporalDataLayer.ts:175

Return a copy of the time values array.

Returns ​

number[]


getFactorDescriptor() ​

ts
getFactorDescriptor(): FactorDescriptor | null;

Defined in: temporal/TemporalDataLayer.ts:182

Return the factor descriptor, or null if none was provided.

Returns ​

FactorDescriptor | null


getFrameCount() ​

ts
getFrameCount(): number;

Defined in: temporal/TemporalDataLayer.ts:195

Return the number of temporal frames.

Returns ​

number


getVertexCount() ​

ts
getVertexCount(): number;

Defined in: temporal/TemporalDataLayer.ts:202

Return the number of vertices per frame.

Returns ​

number


toStateJSON() ​

ts
toStateJSON(): Record<string, unknown>;

Defined in: temporal/TemporalDataLayer.ts:206

Serialize common layer state for state persistence. Override in subclasses.

Returns ​

Record<string, unknown>

Overrides ​

DataLayer.toStateJSON


dispose() ​

ts
dispose(): void;

Defined in: temporal/TemporalDataLayer.ts:216

Returns ​

void

Overrides ​

DataLayer.dispose

Released under the MIT License.