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
LabelProgram<Uniform,N,E,G,EdgeLabelDisplayData>
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
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
LabelProgram.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
LabelProgram.CONSTANT_ATTRIBUTES
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
LabelProgram.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
LabelProgram.VERTEX_SHADER_SOURCE
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
Inherited from
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
Inherited from
LabelProgram.ensureGlyphsReady
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
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
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
Inherited from
measureLabelAtlasWidth()
abstractmeasureLabelAtlasWidth(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
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
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
Inherited from
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