Skip to content

Class: TwoDataLayer

Defined in: src/layers.ts:973

Layer with two data values mapped to a 2D colormap.

Maps two scalar fields (X and Y) to colors using a 2D colormap texture. Useful for visualizing relationships between variables, such as:

  • Effect size (X) vs. statistical confidence (Y)
  • Activation magnitude (X) vs. significance (Y)
  • Any two correlated or independent scalar fields

Example

typescript
const layer = new TwoDataLayer(
  'effect-confidence',
  effectSizeData,    // X values
  confidenceData,    // Y values
  indices,
  'confidence',      // 2D colormap preset
  {
    rangeX: [-2, 2],
    rangeY: [0, 1],
    thresholdY: [0, 0.05]  // Hide low-confidence values
  }
);

Extends

Constructors

Constructor

ts
new TwoDataLayer(
   id, 
   dataX, 
   dataY, 
   indices, 
   colorMap, 
   config?): TwoDataLayer;

Defined in: src/layers.ts:987

Parameters

id

string

dataX

Float32Array<ArrayBufferLike> | number[]

dataY

Float32Array<ArrayBufferLike> | number[]

indices

Uint32Array<ArrayBufferLike> | number[] | null

colorMap

ColorMap2D | ColorMap2DPreset

config?

TwoDataLayerConfig = {}

Returns

TwoDataLayer

Overrides

Layer.constructor

Properties

id

ts
id: string;

Defined in: src/layers.ts:103

Inherited from

Layer.id


visible

ts
visible: boolean;

Defined in: src/layers.ts:104

Inherited from

Layer.visible


opacity

ts
opacity: number;

Defined in: src/layers.ts:105

Inherited from

Layer.opacity


blendMode

ts
blendMode: BlendMode;

Defined in: src/layers.ts:106

Inherited from

Layer.blendMode


order

ts
order: number;

Defined in: src/layers.ts:107

Inherited from

Layer.order


needsUpdate

ts
needsUpdate: boolean;

Defined in: src/layers.ts:108

Inherited from

Layer.needsUpdate


_onChangeCallback

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

Defined in: src/layers.ts:110

Callback set by the parent surface to trigger re-compositing on change.

Inherited from

Layer._onChangeCallback


is2DLayer

ts
readonly is2DLayer: boolean = true;

Defined in: src/layers.ts:985

Flag to identify this as a 2D data layer for GPU compositor

Methods

setVisible()

ts
setVisible(visible): void;

Defined in: src/layers.ts:132

Parameters

visible

boolean

Returns

void

Inherited from

Layer.setVisible


setOpacity()

ts
setOpacity(opacity): void;

Defined in: src/layers.ts:139

Parameters

opacity

number

Returns

void

Inherited from

Layer.setOpacity


setBlendMode()

ts
setBlendMode(mode): void;

Defined in: src/layers.ts:147

Parameters

mode

BlendMode

Returns

void

Inherited from

Layer.setBlendMode


registerOutlineLayer()

ts
static registerOutlineLayer(ctor): void;

Defined in: src/layers.ts:183

Parameters

ctor

any

Returns

void

Inherited from

Layer.registerOutlineLayer


registerTemporalLayer()

ts
static registerTemporalLayer(ctor): void;

Defined in: src/layers.ts:187

Parameters

ctor

any

Returns

void

Inherited from

Layer.registerTemporalLayer


fromConfig()

ts
static fromConfig(config): Layer;

Defined in: src/layers.ts:199

Create a concrete Layer instance from a plain object configuration. Supports: base, rgba, data, outline.

Parameters

config

Record<string, any>

Returns

Layer

Inherited from

Layer.fromConfig


setData()

ts
setData(
   dataX, 
   dataY, 
   indices?): void;

Defined in: src/layers.ts:1006

Parameters

dataX

Float32Array<ArrayBufferLike> | number[]

dataY

Float32Array<ArrayBufferLike> | number[]

indices?

Uint32Array<ArrayBufferLike> | number[] | null

Returns

void


getDataX()

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

Defined in: src/layers.ts:1038

Returns

Float32Array<ArrayBufferLike> | null


getDataY()

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

Defined in: src/layers.ts:1042

Returns

Float32Array<ArrayBufferLike> | null


setColorMap()

ts
setColorMap(colorMap): void;

Defined in: src/layers.ts:1046

Parameters

colorMap

ColorMap2D | ColorMap2DPreset

Returns

void


getColorMap()

ts
getColorMap(): ColorMap2D | null;

Defined in: src/layers.ts:1075

Returns

ColorMap2D | null


setRangeX()

ts
setRangeX(range): void;

Defined in: src/layers.ts:1079

Parameters

range

[number, number]

Returns

void


setRangeY()

ts
setRangeY(range): void;

Defined in: src/layers.ts:1087

Parameters

range

[number, number]

Returns

void


setThresholdX()

ts
setThresholdX(threshold): void;

Defined in: src/layers.ts:1095

Parameters

threshold

[number, number]

Returns

void


setThresholdY()

ts
setThresholdY(threshold): void;

Defined in: src/layers.ts:1103

Parameters

threshold

[number, number]

Returns

void


getRangeX()

ts
getRangeX(): [number, number];

Defined in: src/layers.ts:1111

Returns

[number, number]


getRangeY()

ts
getRangeY(): [number, number];

Defined in: src/layers.ts:1112

Returns

[number, number]


getThresholdX()

ts
getThresholdX(): [number, number];

Defined in: src/layers.ts:1113

Returns

[number, number]


getThresholdY()

ts
getThresholdY(): [number, number];

Defined in: src/layers.ts:1114

Returns

[number, number]


getColorMapName()

ts
getColorMapName(): string;

Defined in: src/layers.ts:1115

Returns

string


getRGBAData()

ts
getRGBAData(vertexCount): Float32Array;

Defined in: src/layers.ts:1117

Get RGBA values for this layer Must be implemented by subclasses

Parameters

vertexCount

number

Returns

Float32Array

Overrides

Layer.getRGBAData


update()

ts
update(updates): void;

Defined in: src/layers.ts:1160

Update layer data Must be implemented by subclasses

Parameters

updates

TwoDataLayerUpdateData

Returns

void

Overrides

Layer.update


toStateJSON()

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

Defined in: src/layers.ts:1199

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

Returns

Record<string, unknown>

Overrides

Layer.toStateJSON


dispose()

ts
dispose(): void;

Defined in: src/layers.ts:1211

Returns

void

Overrides

Layer.dispose

Released under the MIT License.