Taos API Reference
    Preparing search index...

    Interface ClusterDagData

    A ClusterData augmented with the LOD-DAG records.

    interface ClusterDagData {
        lodInfo: Float32Array;
        lodLevels: number;
        parentIndex: Uint32Array;
        siblingGroupId: Uint32Array;
        childGroupId: Uint32Array;
        clusterCount: number;
        vertexData: Float32Array;
        meshletVertices: Uint32Array;
        localIndices: Uint32Array;
        descriptors: Float32Array;
        totalTriangles: number;
        bounds: {
            centerX: number;
            centerY: number;
            centerZ: number;
            radius: number;
        };
    }

    Hierarchy (View Summary)

    Index

    Properties

    lodInfo: Float32Array

    Per-cluster LOD record, CLUSTER_LOD_FLOATS floats each (parallel to clusters).

    lodLevels: number

    Number of LOD levels produced (1 = no hierarchy).

    parentIndex: Uint32Array

    Per-cluster representative parent cluster id — one coarser cluster in the group that simplified this one, or NO_PARENT for a root. The streaming draw walks this chain to a resident ancestor when a cluster's own page is not yet resident (seamless LOD fallback, no hole). It's a single representative of the parent group (the DAG parent is a set), good because a group's parents tend to share a page.

    siblingGroupId: Uint32Array

    Simplification-group id this cluster was a child of (NO_GROUP if none). All clusters of a group share it — paging keeps them in one page so a parent's childResident test is a single page lookup (S3c streaming cut).

    childGroupId: Uint32Array

    Simplification-group id whose children are this cluster's children (NO_GROUP for a finest-level cluster). Maps a parent to its child group.

    clusterCount: number

    Number of clusters (meshlets).

    vertexData: Float32Array

    Interleaved vertex pool, VERTEX_STRIDE per vertex — the original mesh vertices, shared by all clusters. Cluster local indices resolve into this via meshletVertices.

    meshletVertices: Uint32Array

    Cluster-local → global vertex index, indexed by cluster.vertexOffset + localVertex. The value indexes a vertex (not a float) in vertexData.

    localIndices: Uint32Array

    Triangle corner → cluster-local vertex index (0..vertexCount), indexed by cluster.triangleOffset + tri*3 + corner. Widened from meshopt's u8 table to u32 because WGSL storage buffers can't index sub-word.

    descriptors: Float32Array

    Packed cluster descriptors, CLUSTER_DESC_FLOATS floats each.

    totalTriangles: number

    Total triangles across all clusters (== input triangle count).

    bounds: { centerX: number; centerY: number; centerZ: number; radius: number }

    Overall local-space bounding sphere of the whole mesh.