Skip to content

InstancedArrowsData

Defined in: core/backend.ts:216

SoA for a batch of instanced whole arrows (#542, directed links): every field of InstancedLinesData, each arrow drawn as ONE shape, the shaft trimmed at the head’s base plus the head (core/arrowhead.ts), so a translucent link does not double-blend where they meet. The tip sits radii back from the target along the curve’s own end tangent (a bent link’s head follows its curve); the head is 2·arrowSize long and reaches half the line width plus 2·√width out on each side.

arrowSize: number

Defined in: core/backend.ts:219

Arrow size, in the layer’s size units like the widths: the head is 2·arrowSize long. One value per layer (a uniform).


optional bends?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:170

Optional per-line bend (#104 N6c): the quadratic-bezier control offset ⟂ to the chord, as a fraction of chord length (0/absent ⇒ straight). Length count.

InstancedLinesData.bends


colors: Uint8Array

Defined in: core/backend.ts:165

RGBA bytes per line, length 4 * count.

InstancedLinesData.colors


count: number

Defined in: core/backend.ts:206

InstancedLinesData.count


optional endOffsetsChanged?: Uint32Array<ArrayBufferLike>

Defined in: core/backend.ts:205

The instances whose end offsets were rewritten in place since the last emit (#509), as flat [start, end) ranges, uploaded alone while the arrays are the ones the layer holds (see InstancedCirclesData.offsetsChanged).

InstancedLinesData.endOffsetsChanged


optional fade?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:194

Indexed draw only: a per-instance alpha multiplier (the cross-fade band); absent = 1. Length count.

InstancedLinesData.fade


optional groups?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:178

Per-instance highlight group (#162): the link’s source node id, matched against u_hoverGroup / used to index the selected set so the vertex shader recolours a highlighted node’s links. Length count.

InstancedLinesData.groups


optional groups2?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:181

The link’s target node id (#162) — the OTHER endpoint, so an undirected hover matches incident links on either side; -1/absent for directed links (matched on groups/source alone). Length count.

InstancedLinesData.groups2


optional index?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:191

Indexed draw (#447): with index, the style arrays above (everything but sources/targets, groups/groups2/selected included) are instead per-edge tables of tableCount entries, kept resident on the GPU and re-uploaded only when an array reference changes; index lists the edges to draw — count of them, one instance each, whose pick id is its edge id — and sources/targets stay per instance (the listed edges’ ends, which move with the layout). Edge ids must be below 2^24 (float-exact).

InstancedLinesData.index


radii: Float32Array

Defined in: core/backend.ts:222

The target node’s radius per arrow (per edge with index), in size units: the tip’s setback from the target. Uploaded only when the array is a new object.


optional samples?: number

Defined in: core/backend.ts:175

Path samples (M) for the strip — 2 (straight, default) up to ~16–32 for a smooth bend. A draw setting, not per-instance; bent layers raise it, straight layers keep 2 to stay cheap at scale.

InstancedLinesData.samples


optional selected?: Uint8Array<ArrayBufferLike>

Defined in: core/backend.ts:183

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

InstancedLinesData.selected


optional sourceOffsets?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:201

Optional per-instance offsets of the two ends (#509), in the layer’s size units: an end is drawn at project(P) + offset px in screen mode and at P + offset in world mode; the bend and the setbacks follow the offset ends. Length 2 * count each; absent ⇒ no offset, with no buffer and no upload. Uploaded only when the array is a new object. Plain draws only: an indexed draw (index) takes no offsets.

InstancedLinesData.sourceOffsets


sources: Float32Array

Defined in: core/backend.ts:159

[x, y] world source per line, length 2 * count.

InstancedLinesData.sources


optional tableCount?: number

Defined in: core/backend.ts:192

InstancedLinesData.tableCount


optional targetOffsets?: Float32Array<ArrayBufferLike>

Defined in: core/backend.ts:202

InstancedLinesData.targetOffsets


targets: Float32Array

Defined in: core/backend.ts:161

[x, y] world target per line, length 2 * count.

InstancedLinesData.targets


widths: Float32Array

Defined in: core/backend.ts:163

width per line, length count.

InstancedLinesData.widths