Skip to content
This is the alpha v4 version website. Looking for the v3 documentation?

EdgeLabelProgram

Defined in: packages/sigma/src/rendering/edges/labels/base.ts:16

Base class for label program implementations.

Label programs render text labels using WebGL (SDF-based rendering). Unlike node/edge programs, labels are processed per-character.

Visibility is handled by processing only visible labels each frame (determined by LabelGrid), so all characters in the buffer are rendered.

The DataType generic allows reuse by both node labels (LabelDisplayData) and edge labels (EdgeLabelDisplayData) via EdgeLabelProgram.

Extends

Type Parameters

Uniform

Uniform extends string = string

N

N extends Attributes = Attributes

E

E extends Attributes = Attributes

G

G extends Attributes = Attributes

Constructors

Constructor

new EdgeLabelProgram<Uniform, N, E, G>(gl, _pickingBuffer, renderer): EdgeLabelProgram<Uniform, N, E, G>

Defined in: packages/sigma/src/rendering/program.ts:105

Parameters

gl

WebGL2RenderingContext

_pickingBuffer

WebGLFramebuffer | null

renderer

Sigma<N, E, G>

Returns

EdgeLabelProgram<Uniform, N, E, G>

Inherited from

LabelProgram.constructor

Properties

array

array: Float32Array

Defined in: packages/sigma/src/rendering/program.ts:74

Inherited from

LabelProgram.array


ATTRIBUTES

ATTRIBUTES: ProgramAttributeSpecification[]

Defined in: packages/sigma/src/rendering/program.ts:65

Inherited from

LabelProgram.ATTRIBUTES


ATTRIBUTES_ITEMS_COUNT

ATTRIBUTES_ITEMS_COUNT: number

Defined in: packages/sigma/src/rendering/program.ts:70

Inherited from

LabelProgram.ATTRIBUTES_ITEMS_COUNT


capacity

capacity: number = 0

Defined in: packages/sigma/src/rendering/program.ts:76

Inherited from

LabelProgram.capacity


CONSTANT_ATTRIBUTES

CONSTANT_ATTRIBUTES: ProgramAttributeSpecification[]

Defined in: packages/sigma/src/rendering/program.ts:67

Inherited from

LabelProgram.CONSTANT_ATTRIBUTES


CONSTANT_DATA

CONSTANT_DATA: number[][]

Defined in: packages/sigma/src/rendering/program.ts:68

Inherited from

LabelProgram.CONSTANT_DATA


constantArray

constantArray: Float32Array

Defined in: packages/sigma/src/rendering/program.ts:75

Inherited from

LabelProgram.constantArray


FRAGMENT_SHADER_SOURCE

FRAGMENT_SHADER_SOURCE: string

Defined in: packages/sigma/src/rendering/program.ts:63

Inherited from

LabelProgram.FRAGMENT_SHADER_SOURCE


isInstanced

isInstanced: boolean

Defined in: packages/sigma/src/rendering/program.ts:91

Inherited from

LabelProgram.isInstanced


METHOD

METHOD: number

Defined in: packages/sigma/src/rendering/program.ts:66

Inherited from

LabelProgram.METHOD


normalProgram

normalProgram: ProgramInfo

Defined in: packages/sigma/src/rendering/program.ts:88

Inherited from

LabelProgram.normalProgram


pickProgram

pickProgram: ProgramInfo<string> | null = null

Defined in: packages/sigma/src/rendering/program.ts:89

Inherited from

LabelProgram.pickProgram


renderer

renderer: Sigma<N, E, G>

Defined in: packages/sigma/src/rendering/program.ts:73

Inherited from

LabelProgram.renderer


STRIDE

STRIDE: number

Defined in: packages/sigma/src/rendering/program.ts:71

Inherited from

LabelProgram.STRIDE


UNIFORMS

UNIFORMS: readonly Uniform[]

Defined in: packages/sigma/src/rendering/program.ts:64

Inherited from

LabelProgram.UNIFORMS


VERTEX_SHADER_SOURCE

VERTEX_SHADER_SOURCE: string

Defined in: packages/sigma/src/rendering/program.ts:62

Inherited from

LabelProgram.VERTEX_SHADER_SOURCE


VERTICES

VERTICES: number

Defined in: packages/sigma/src/rendering/program.ts:61

Inherited from

LabelProgram.VERTICES


verticesCount

verticesCount: number = 0

Defined in: packages/sigma/src/rendering/program.ts:77

Inherited from

LabelProgram.verticesCount

Methods

drawWebGL()

drawWebGL(method, __namedParameters): void

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:141

Render all characters in the buffer. Since we only process visible labels, all buffered characters should be rendered.

Parameters

method

number

__namedParameters

ProgramInfo

Returns

void

Inherited from

LabelProgram.drawWebGL


ensureGlyphsReady()?

optional ensureGlyphsReady(texts, fontKey?): void

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:43

Ensure all glyphs for the given texts are generated and available. Optional — implementations may provide this for glyph caching.

Parameters

texts

string[]

fontKey?

string

Returns

void

Inherited from

LabelProgram.ensureGlyphsReady


getDefinition()

abstract getDefinition(): ProgramDefinition<Uniform> | InstancedProgramDefinition<Uniform>

Defined in: packages/sigma/src/rendering/program.ts:103

Returns

ProgramDefinition<Uniform> | InstancedProgramDefinition<Uniform>

Inherited from

LabelProgram.getDefinition


getLabelAtPosition()

getLabelAtPosition(x, y): string | null

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:112

Get the label at a given screen position.

Uses the cached screen-space bounds for efficient hit testing.

Parameters

x

number

y

number

Returns

string | null

Inherited from

LabelProgram.getLabelAtPosition


hasNothingToRender()

hasNothingToRender(): boolean

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:133

Check if there’s nothing to render.

Returns

boolean

Inherited from

LabelProgram.hasNothingToRender


invalidateBuffers()

invalidateBuffers(): void

Defined in: packages/sigma/src/rendering/program.ts:377

Mark GPU buffers as needing re-upload. Call this after modifying the array data outside of reallocate.

Returns

void

Inherited from

LabelProgram.invalidateBuffers


kill()

kill(): void

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:72

Returns

void

Inherited from

LabelProgram.kill


measureLabel()?

optional measureLabel(text, fontSize, fontKey?): object

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:55

Measure a label using the same glyph metrics as rendering. Optional — only available when the implementation uses an SDF atlas.

Parameters

text

string

fontSize

number

fontKey?

string

Returns

object

height

height: number

width

width: number

Inherited from

LabelProgram.measureLabel


measureLabelAtlasWidth()

abstract measureLabelAtlasWidth(text, fontKey?): number

Defined in: packages/sigma/src/rendering/edges/labels/base.ts:30

Measures a label’s width in atlas (glyph) units — the unit consumed by the edge label and background shaders for a_totalTextWidth.

Parameters

text

string

fontKey?

string

Returns

number


processEdgeLabel()

processEdgeLabel(labelKey, offset, data): number

Defined in: packages/sigma/src/rendering/edges/labels/base.ts:22

Parameters

labelKey

string

offset

number

data

EdgeLabelDisplayData

Returns

number


processLabel()

processLabel(_labelKey, offset, data): number

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:80

Process a label and write its character data to the GPU buffer.

Parameters

_labelKey

string

offset

number

data

EdgeLabelDisplayData

Returns

number

Inherited from

LabelProgram.processLabel


reallocate()

reallocate(characterCount): void

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:157

Reallocate buffers if needed and set the character count for this frame. Only reallocates GPU buffers when capacity is exceeded.

Parameters

characterCount

number

Number of characters to render this frame

Returns

void

Inherited from

LabelProgram.reallocate


registerFont()?

optional registerFont(family, weight?, style?): string

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:49

Register a font for use in labels. Optional — implementations may provide this for multi-font support.

Parameters

family

string

weight?

string

style?

string

Returns

string

Inherited from

LabelProgram.registerFont


render()

render(params, offset?, count?): void

Defined in: packages/sigma/src/rendering/program.ts:537

Parameters

params

RenderParams

offset?

number

count?

number

Returns

void

Inherited from

LabelProgram.render


setUniforms()

abstract setUniforms(params, programInfo): void

Defined in: packages/sigma/src/rendering/program.ts:420

Parameters

params

RenderParams

programInfo

ProgramInfo

Returns

void

Inherited from

LabelProgram.setUniforms