LabelProgram
Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:32
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
Program<Uniform,N,E,G>
Extended by
Type Parameters
Uniform
Uniform extends string = string
N
N extends Attributes = Attributes
E
E extends Attributes = Attributes
G
G extends Attributes = Attributes
DataType
DataType extends LabelDataBase = LabelDisplayData
Constructors
Constructor
new LabelProgram<
Uniform,N,E,G,DataType>(gl,_pickingBuffer,renderer):LabelProgram<Uniform,N,E,G,DataType>
Defined in: packages/sigma/src/rendering/program.ts:105
Parameters
gl
WebGL2RenderingContext
_pickingBuffer
WebGLFramebuffer | null
renderer
Sigma<N, E, G>
Returns
LabelProgram<Uniform, N, E, G, DataType>
Inherited from
Properties
array
array:
Float32Array
Defined in: packages/sigma/src/rendering/program.ts:74
Inherited from
ATTRIBUTES
ATTRIBUTES:
ProgramAttributeSpecification[]
Defined in: packages/sigma/src/rendering/program.ts:65
Inherited from
ATTRIBUTES_ITEMS_COUNT
ATTRIBUTES_ITEMS_COUNT:
number
Defined in: packages/sigma/src/rendering/program.ts:70
Inherited from
Program.ATTRIBUTES_ITEMS_COUNT
capacity
capacity:
number=0
Defined in: packages/sigma/src/rendering/program.ts:76
Inherited from
CONSTANT_ATTRIBUTES
CONSTANT_ATTRIBUTES:
ProgramAttributeSpecification[]
Defined in: packages/sigma/src/rendering/program.ts:67
Inherited from
CONSTANT_DATA
CONSTANT_DATA:
number[][]
Defined in: packages/sigma/src/rendering/program.ts:68
Inherited from
constantArray
constantArray:
Float32Array
Defined in: packages/sigma/src/rendering/program.ts:75
Inherited from
FRAGMENT_SHADER_SOURCE
FRAGMENT_SHADER_SOURCE:
string
Defined in: packages/sigma/src/rendering/program.ts:63
Inherited from
Program.FRAGMENT_SHADER_SOURCE
isInstanced
isInstanced:
boolean
Defined in: packages/sigma/src/rendering/program.ts:91
Inherited from
METHOD
METHOD:
number
Defined in: packages/sigma/src/rendering/program.ts:66
Inherited from
normalProgram
normalProgram:
ProgramInfo
Defined in: packages/sigma/src/rendering/program.ts:88
Inherited from
pickProgram
pickProgram:
ProgramInfo<string> |null=null
Defined in: packages/sigma/src/rendering/program.ts:89
Inherited from
renderer
renderer:
Sigma<N,E,G>
Defined in: packages/sigma/src/rendering/program.ts:73
Inherited from
STRIDE
STRIDE:
number
Defined in: packages/sigma/src/rendering/program.ts:71
Inherited from
UNIFORMS
UNIFORMS: readonly
Uniform[]
Defined in: packages/sigma/src/rendering/program.ts:64
Inherited from
VERTEX_SHADER_SOURCE
VERTEX_SHADER_SOURCE:
string
Defined in: packages/sigma/src/rendering/program.ts:62
Inherited from
VERTICES
VERTICES:
number
Defined in: packages/sigma/src/rendering/program.ts:61
Inherited from
verticesCount
verticesCount:
number=0
Defined in: packages/sigma/src/rendering/program.ts:77
Inherited from
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
Returns
void
Overrides
ensureGlyphsReady()?
optionalensureGlyphsReady(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
getDefinition()
abstractgetDefinition():ProgramDefinition<Uniform> |InstancedProgramDefinition<Uniform>
Defined in: packages/sigma/src/rendering/program.ts:103
Returns
ProgramDefinition<Uniform> | InstancedProgramDefinition<Uniform>
Inherited from
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
hasNothingToRender()
hasNothingToRender():
boolean
Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:133
Check if there’s nothing to render.
Returns
boolean
Overrides
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
kill()
kill():
void
Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:72
Returns
void
Overrides
measureLabel()?
optionalmeasureLabel(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
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
DataType
Returns
number
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
Overrides
registerFont()?
optionalregisterFont(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
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
setUniforms()
abstractsetUniforms(params,programInfo):void
Defined in: packages/sigma/src/rendering/program.ts:420
Parameters
params
RenderParams
programInfo
Returns
void