/** * Minimal glTF 2.0 / GLB parser. * Handles the binary container format and accessor/bufferView resolution. * No external dependencies. */ export interface GltfAccessor { bufferView?: number; byteOffset?: number; componentType: number; normalized?: boolean; count: number; type: string; min?: number[]; max?: number[]; } export interface GltfBufferView { buffer: number; byteOffset?: number; byteLength: number; byteStride?: number; } export interface GltfBuffer { byteLength: number; uri?: string; } export interface GltfImage { bufferView?: number; mimeType?: string; uri?: string; } export interface GltfTexture { source?: number; } export interface GltfMaterialPbr { baseColorFactor?: number[]; baseColorTexture?: { index: number; }; metallicFactor?: number; roughnessFactor?: number; } export interface GltfMaterial { name?: string; pbrMetallicRoughness?: GltfMaterialPbr; alphaMode?: string; alphaCutoff?: number; } export interface GltfPrimitive { attributes: Record; indices?: number; material?: number; } export interface GltfMesh { name?: string; primitives: GltfPrimitive[]; } export interface GltfNode { name?: string; mesh?: number; skin?: number; children?: number[]; translation?: number[]; rotation?: number[]; scale?: number[]; matrix?: number[]; } export interface GltfSkin { name?: string; inverseBindMatrices?: number; skeleton?: number; joints: number[]; } export interface GltfAnimationSampler { input: number; output: number; interpolation?: string; } export interface GltfAnimationChannel { sampler: number; target: { node?: number; path: string; }; } export interface GltfAnimation { name?: string; channels: GltfAnimationChannel[]; samplers: GltfAnimationSampler[]; } export interface GltfScene { nodes?: number[]; } export interface GltfJson { asset: { version: string; }; accessors?: GltfAccessor[]; bufferViews?: GltfBufferView[]; buffers?: GltfBuffer[]; images?: GltfImage[]; textures?: GltfTexture[]; materials?: GltfMaterial[]; meshes?: GltfMesh[]; nodes?: GltfNode[]; scenes?: GltfScene[]; scene?: number; skins?: GltfSkin[]; animations?: GltfAnimation[]; } /** Parsed glTF document with resolved binary buffers. */ export interface GltfDocument { json: GltfJson; buffers: ArrayBuffer[]; } /** Parse a GLB binary container into JSON + binary buffer(s). */ export declare function parseGlb(data: ArrayBuffer): GltfDocument; /** Parse a standalone .gltf JSON file with external buffer(s). */ export declare function parseGltfJson(json: GltfJson, buffers?: ArrayBuffer[]): GltfDocument; /** Read a typed array from an accessor. */ export declare function readAccessor(doc: GltfDocument, accessorIndex: number): Float32Array | Uint16Array | Uint32Array | Int16Array | Uint8Array | Int8Array; /** Read raw bytes from a bufferView (for embedded images). */ export declare function readBufferView(doc: GltfDocument, bufferViewIndex: number): Uint8Array; //# sourceMappingURL=gltf-parser.d.ts.map