@pmndrs/bvh
    Preparing search index...

    Interface TraceSceneData

    interface TraceSceneData {
        byteLength: number;
        maxMeshDepth: number;
        mergedGroups: readonly TraceSceneMergedGroup[];
        meshes: readonly TraceSceneMeshPlacement[];
        nodeFormat?: GpuLayoutNodeFormat;
        nodes: ArrayBuffer;
        positionLayout: PositionLayout;
        positions: ArrayBuffer;
        requiredStackSize: number;
        topLevel: TopLevelBvh;
        triangleLeaves: GpuLayoutTriangleLeaves;
        triangles: ArrayBuffer;
        vertexCount: number;
    }

    Hierarchy (View Summary)

    Index
    byteLength: number

    Bytes the three buffers hold (four with an indexed scene's positions).

    maxMeshDepth: number

    Deepest mesh tree among the meshes the instances use.

    mergedGroups: readonly TraceSceneMergedGroup[]

    The merged meshes, one per StaticMergePlan group, after the input meshes in the buffers; empty without mergeStaticInstances. With merged groups, topLevel.recordOrder gives the input position for a normal instance, and instances.length + group for a group's record.

    meshes: readonly TraceSceneMeshPlacement[]

    Where each input mesh landed. The scene holds copies of the meshes' records: to change a mesh's triangle flags after assembly, write triangles with the mesh's entry as the range. A mesh only merged sources use has an empty entry with mergedInto: flag its triangles on that merged group's range instead, by source instance.

    nodeFormat?: GpuLayoutNodeFormat

    How nodes stores them. Assembly always sets it: 'quantized' by default, 'f32' when assembled with nodeFormat: 'f32'. Absent (a scene written by other code) means 'f32'.

    nodes: ArrayBuffer

    Every mesh's nodes, one after another (quantized: each mesh's frame slot, then its nodes).

    positionLayout: PositionLayout

    How positions stores a vertex: 'vec4' (16 bytes) or 'packed' (12).

    positions: ArrayBuffer

    Indexed scenes: every mesh's positions (welded unless weld: false), one after another at each mesh's vertex base, in positionLayout. Empty for records.

    requiredStackSize: number

    Stack entries the worst case needs: top-level depth + one marker + mesh depth.

    topLevel: TopLevelBvh
    triangleLeaves: GpuLayoutTriangleLeaves

    How triangles stores them. 'records' unless assembled with triangleLeaves: 'indexed'.

    triangles: ArrayBuffer

    Every mesh's triangles, one after another. Indexed scenes: 16-byte units, and each mesh's region starts with its header (and a merged mesh's side tables) before triangleOffset.

    vertexCount: number

    Vertices in positions. 0 for records.