NARU API
    Preparing search index...

    Interface CompileGltfOptions

    interface CompileGltfOptions {
        binaryUri?: string;
        coarseBinaryUri?: string;
        coarseBounds?: boolean;
        compactJson?: boolean;
        elideDerivedIdentifiers?: boolean;
        generator?: string;
        hierarchyBinaryUri?: string;
        hierarchyUri?: string;
        omitDefaultNodeTransforms?: boolean;
        omitResourceNames?: boolean;
        propertiesBinaryUri?: string;
        propertiesUri?: string;
        propertyColumns?: Uint8Array<ArrayBufferLike>;
        reducedLod?: { maxDeviationMeters: number };
        relocateHierarchyNodes?: boolean;
        spatialBinaryUri?: string;
        spatialIndex?: boolean;
        spatialLeafCapacity?: number;
        spatialPayloadOrder?: boolean;
        targetChunkByteBudget?: number;
    }
    Index
    binaryUri?: string
    coarseBinaryUri?: string
    coarseBounds?: boolean
    compactJson?: boolean

    Omit insignificant JSON whitespace for packages near V8's string limit.

    elideDerivedIdentifiers?: boolean

    Omit node semanticId and sourceRef wherever a document-level derivation rule reconstructs them exactly. Nodes that do not match keep both fields.

    generator?: string
    hierarchyBinaryUri?: string
    hierarchyUri?: string
    omitDefaultNodeTransforms?: boolean

    Omit identity node matrices and emit translation-only transforms as TRS. Both forms reproduce the source matrix exactly; no rotation is decomposed.

    omitResourceNames?: boolean

    Omit mesh, bufferView, and accessor names while preserving semantic identity.

    propertiesBinaryUri?: string
    propertiesUri?: string
    propertyColumns?: Uint8Array<ArrayBufferLike>

    The adapter's madi.property-columns.1 value column file for a scene whose semantics reference scene.propertyValues. Required for such a scene; the package then carries the file byte-verbatim next to a madi.package-properties.1 JSON sidecar so viewers can resolve semantic property entries lazily.

    reducedLod?: { maxDeviationMeters: number }

    Emit a third per-prototype level, reduced, whose measured deviation from target stays within maxDeviationMeters (ADR-0025). This is the tolerance admission is run against, not the bound the package declares: each chunk states the deviation its own geometry was measured at, which is what a viewer decides against. Requires coarseBounds. The package then declares extras.naru.progressive (naru.progressive-package.2) instead of extras.madi.progressive. prepareReducedLod() must have resolved before the compile.

    relocateHierarchyNodes?: boolean

    Keep only mesh-bearing occurrences in the glTF document and move the assembly structure into a naru.package-hierarchy.1 sidecar. Surviving nodes carry the world transform the runtime would have composed, so the rendered scene is unchanged; a viewer that wants the tree loads the sidecar.

    spatialBinaryUri?: string
    spatialIndex?: boolean

    Emit an optional occurrence BVH that maps spatial leaves to target chunks.

    spatialLeafCapacity?: number

    Maximum renderable occurrences per spatial BVH leaf. Defaults to 64.

    spatialPayloadOrder?: boolean

    Order prototype payloads by their dominant deterministic spatial leaf before byte-budget coalescing. Requires spatialIndex and a chunk budget.

    targetChunkByteBudget?: number

    Coalesce adjacent prototype ranges into deterministic HTTP Range requests. Omit this to retain one target chunk per prototype for compatibility.