IFClite TypeScript API
    Preparing search index...

    Interface SymbolicTextInput

    interface SymbolicTextInput {
        alignment: string;
        billboard?: boolean;
        color?: [number, number, number, number];
        content: string;
        definesExtent?: boolean;
        dirX: number;
        dirZ: number;
        height: number;
        origin?: [number, number, number];
        targetPx?: number;
        worldPos: [number, number, number];
    }
    Index
    alignment: string

    IFC BoxAlignment ("bottom-left", "center", "top-right", …).

    billboard?: boolean

    When true, the shader rebuilds the glyph quad in screen-aligned (cameraRight, cameraUp) basis so the text always faces the camera. Used for IfcGridAxis bubble tags — they must stay readable in top-down/ground views where the authored world-Y up axis collapses. Defaults to false (authored, in-plane text).

    color?: [number, number, number, number]
    content: string
    definesExtent?: boolean

    Does this label DEFINE the model's extent? Default true; see uploadTexts (#3359).

    dirX: number

    Baseline direction (X axis in 3D world space).

    dirZ: number
    height: number

    Glyph height in world units.

    origin?: [number, number, number]

    Opt-in canonical f64 label anchor. When supplied, worldPos is a small local offset from this origin; legacy callers omit it and retain their world-f32 projection path without a fabricated precision claim.

    targetPx?: number

    Per-instance target cap height in screen pixels. 0 / undefined falls back to the renderer's global default (~14 px). Grid bubble fills + outlines emit at ~32 px so the bubble stays proportional to the inscribed tag at every zoom level — without this override they'd collapse to the same screen size as the tag and the bubble would disappear behind the character.

    worldPos: [number, number, number]