Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...

    Interface ZarrNodeAttrs

    Zarr group attributes for nodes in the scene graph

    interface ZarrNodeAttrs {
        type?: string;
        transform?: readonly number[];
        nd_transform?: NdTransformMap;
        opacity?: number;
        absorption?: number;
        gamma?: number;
        intensity?: number;
        offset?: number;
        blending_mode?: string;
        point_size?: number;
        n_points?: number;
        max_radius?: number;
        position_bounds?: PositionBounds;
        extend_to_all?: string[];
        audio_file?: string;
        has_positions?: boolean;
        n_positions?: number;
        arrays?: string[];
        child_index?: number;
        units?: string;
        colormap?: string;
        has_scalars?: boolean;
        scalar_data_range?: [number, number];
        customLutBytes?: Uint8Array<ArrayBufferLike>;
        [key: string]: unknown;
    }

    Indexable

    • [key: string]: unknown

      Any additional attributes

    Index
    type?: string

    Node type (points, group, etc.)

    transform?: readonly number[]

    Transformation matrix (16 elements for a column-major 4x4 matrix). Typed as a wider readonly number array on the input side because zarr metadata is parsed dynamically; the hasTransform guard narrows it to Matrix4x4 once the length-16 invariant has been verified.

    nd_transform?: NdTransformMap

    Per-dimension transforms for non-displayed dimensions

    opacity?: number

    Rendering attributes

    absorption?: number
    gamma?: number
    intensity?: number
    offset?: number
    blending_mode?: string
    point_size?: number
    n_points?: number

    Points metadata

    max_radius?: number
    position_bounds?: PositionBounds

    Position bounds (nD bounding box)

    extend_to_all?: string[]

    Dimensions to extend visibility across (points visible at all values of these dimensions)

    audio_file?: string

    Sound node attrs (type: "sound", heard not drawn) — the plain store key holding the clip and whether a positions array exists. The playback and panner knobs are read through audio/sound-attrs.ts::parseSoundNodeAttrs.

    has_positions?: boolean
    n_positions?: number
    arrays?: string[]

    Arrays in this group

    child_index?: number

    Insertion order among siblings, stamped by the Python Node on add. The scene graph is rebuilt from zarr consolidated metadata, whose enumeration is alphabetical; the loader sorts siblings by this index to restore napari-style addition order (e.g. the layers panel).

    units?: string

    Physical units

    colormap?: string

    Colormap name. Built-in (e.g. 'viridis', 'magma') OR 'custom' — the latter pairs with a colormap_lut zarr array sibling.

    has_scalars?: boolean

    Whether per-element scalar values are present for colormap lookup.

    scalar_data_range?: [number, number]

    [min, max] range used to normalise scalars before LUT lookup.

    customLutBytes?: Uint8Array<ArrayBufferLike>

    bytes loaded from the node's colormap_lut zarr array when colormap === 'custom'. Populated by SceneLoader.buildSceneGraph and consumed by NodeFactory via getColormapTexture('custom', customLutBytes). Not authored at the zarr level — purely a runtime hand-off.