UNPKG

@pmndrs/uikit

Version:

Build performant 3D user interfaces with Three.js and yoga.

41 lines (40 loc) 1.8 kB
import { InstancedBufferAttribute, Object3D } from 'three'; import { InstancedGlyph } from './instanced-glyph.js'; import { Font } from '../font.js'; import { OrderInfo, WithReversePainterSortStableCache } from '../../order.js'; import { RootContext } from '../../context.js'; export declare class GlyphGroupManager { private readonly root; private readonly objectRef; private map; constructor(root: WithReversePainterSortStableCache & Pick<RootContext, 'requestFrame' | 'requestRender' | 'onFrameSet' | 'pixelSize'>, objectRef: { current?: Object3D | null; }); init(abortSignal: AbortSignal): void; private traverse; getGroup(majorIndex: number, depthTest: boolean, depthWrite: boolean, renderOrder: number, font: Font): InstancedGlyphGroup; } export declare class InstancedGlyphGroup { private objectRef; readonly root: WithReversePainterSortStableCache & Pick<RootContext, 'requestFrame' | 'requestRender' | 'pixelSize'>; private orderInfo; private renderOrder; instanceMatrix: InstancedBufferAttribute; instanceUV: InstancedBufferAttribute; instanceRGBA: InstancedBufferAttribute; instanceClipping: InstancedBufferAttribute; private glyphs; private requestedGlyphs; private holeIndicies; private mesh?; private instanceMaterial; private timeTillDecimate?; constructor(objectRef: { current?: Object3D | null; }, font: Font, root: WithReversePainterSortStableCache & Pick<RootContext, 'requestFrame' | 'requestRender' | 'pixelSize'>, orderInfo: OrderInfo, depthTest: boolean, depthWrite: boolean, renderOrder: number); requestActivate(glyph: InstancedGlyph): void; delete(glyph: InstancedGlyph): void; onFrame(delta: number): void; private resize; destroy(): void; }