Skip to content

GroupBuffers

Defined in: core/scene.ts:30

GPU-ready typed arrays for one group. Vertices are [x, y, drawableId].

drawableId is stored as a Float32 component and indexes the per-drawable side-tables (fillColors/strokeColors/flags). Float32 represents integers exactly only up to 2^24 (~16.7M), which caps the number of drawables per group; far above realistic use, but the shader’s integer cast of this component would silently break past that ceiling.

drawableCount: number

Defined in: core/scene.ts:40


fillAnchors: Float32Array

Defined in: core/scene.ts:46

Per-fill-vertex anchor [x, y] (parallel to fillVertices) for screen sizeMode.


fillColors: Uint8Array

Defined in: core/scene.ts:36

RGBA bytes per drawable, indexed by drawableId.


fillIndices: Uint32Array

Defined in: core/scene.ts:32


fillVertices: Float32Array

Defined in: core/scene.ts:31


flags: Uint8Array

Defined in: core/scene.ts:39

One byte of flags per drawable (bit 0 = visible).


pointCenters: Float32Array

Defined in: core/scene.ts:42

Stride-4 float array: [x, y, radius, drawableId] per circle.


pointCount: number

Defined in: core/scene.ts:44

Total number of circles across all drawables.


ranges: DrawableRange[]

Defined in: core/scene.ts:52

Per-drawable fill/stroke vertex+index slices, in drawable (paint) order. Lets a backend interleave fill and stroke per drawable (painter’s order) rather than drawing all fills then all strokes. Offsets are absolute into the arrays above.


strokeAnchors: Float32Array

Defined in: core/scene.ts:48

Per-stroke-vertex anchor [x, y] (parallel to strokeVertices) for screen sizeMode.


strokeColors: Uint8Array

Defined in: core/scene.ts:37


strokeIndices: Uint32Array

Defined in: core/scene.ts:34


strokeVertices: Float32Array

Defined in: core/scene.ts:33