Skip to content

InstancedCirclesData

Defined in: core/backend.ts:110

SoA for a batch of instanced circles (e.g. network nodes). Plain typed arrays.

optional borderColors?: Uint8Array<ArrayBufferLike>

Defined in: core/backend.ts:123

Optional RGBA ring colour bytes per circle, length 4 * count. Paired with borders.


optional borders?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:121

Optional flow-border ring (#104 N6): per-circle thickness as a fraction of the radius (0/absent ⇒ no ring, a plain filled disc), length count.


optional bordersPx?: boolean

Defined in: core/backend.ts:127

borders are ring widths in screen px, the same at every zoom (#495), instead of fractions of the radius: a thin outline of a world-sized disc. The zoom is applied where the ring is drawn (a shader uniform on WebGL, the bake on the vector paths), so no column is rewritten per frame.


centers: Float32Array

Defined in: core/backend.ts:112

[x, y] world coords per circle, length 2 * count.


colors: Uint8Array

Defined in: core/backend.ts:116

RGBA bytes per circle, length 4 * count.


count: number

Defined in: core/backend.ts:149


optional groups?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:130

Optional per-instance group id for shader-driven highlight (#162): the node id a circle is, so the vertex shader can match u_hoverGroup / index the selected set. Length count.


optional groups2?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:133

Optional second per-instance group id (#494): the circle is also lit while this group is hovered — a state network’s state node while its physical container is. Length count; absent ⇒ none.


optional offsets?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:142

Optional per-circle offset from its centre (#509), in the layer’s size units: the circle is drawn at project(centre) + offset px in screen mode and at centre + offset in world mode. Length 2 * count; absent ⇒ no offset, with no buffer and no upload. Uploaded only when the array is a new object, so hand a new array to change it; a reference-stable column costs nothing per frame.


optional offsetsChanged?: Uint32Array<ArrayBufferLike>

Defined in: core/backend.ts:148

The instances whose offsets were rewritten in place since the last emit of this layer (#509), as flat [start, end) instance ranges: only those are uploaded, when offsets is the array the layer already holds (a state node drag moves one state node, not the column). Ignored with a new array, which uploads whole.


radii: Float32Array

Defined in: core/backend.ts:114

radius per circle, length count.


optional selected?: Uint8Array<ArrayBufferLike>

Defined in: core/backend.ts:135

Optional per-instance selected flag (0/1) for shader-driven dim/recolour (#162). Length count.