/** * Object Animation Video manifest validation. * * OAV stores twelve exact 12-bit affine lanes in one UTSBM track (meshopt-coded block assets). * The optional diagnostic atlas describes the stable R8 texture exposed by the runtime; it is * not a video transport. * * Format specification: docs/formats/oav-manifest.md * * @module OAVManifest */ import type { IndexedMeshoptTrackDescriptor } from '../MotionTracks/IndexedMeshoptTrack.js'; export declare const OAV_MANIFEST_TYPE = "utsubo-oav"; /** Second public OAV manifest schema: transforms travel as UTSBM block assets. */ export declare const OAV_MANIFEST_VERSION = 2; export declare const OAV_MATRIX_COMPONENTS: readonly ["m00", "m01", "m02", "m03", "m10", "m11", "m12", "m13", "m20", "m21", "m22", "m23"]; export type OAVMatrixComponent = typeof OAV_MATRIX_COMPONENTS[number]; export type OAVMatrixComponents = typeof OAV_MATRIX_COMPONENTS; export type OAVAffineComponents = readonly [ m00: number, m01: number, m02: number, m03: number, m10: number, m11: number, m12: number, m13: number, m20: number, m21: number, m22: number, m23: number ]; export interface OAVObject { index: number; name: string; parent?: string; } export interface OAVQuantization { bits: 12; min: OAVAffineComponents; max: OAVAffineComponents; } export interface OAVDiagnosticAtlas { width: number; height: number; tileSize: 2 | 4; tileColumns: number; symbolsPerObject: 24; symbolBits: 6; symbolOffset: 24; symbolStride: 3; } export interface OAVMatrixDescription { layout: 'row-major-affine-3x4'; components: OAVMatrixComponents; interpolation: 'linear'; quantization: OAVQuantization; } export interface OAVScene { file: string; byteLength?: number; } /** Validated OAV package manifest. */ export interface OAVManifest { type: typeof OAV_MANIFEST_TYPE; version: typeof OAV_MANIFEST_VERSION; frameCount: number; frameRate: number; objectCount: number; duration: number; space: 'local' | 'world'; coordinateSystem: 'three-y-up'; objects: OAVObject[]; matrix: OAVMatrixDescription; diagnostics: { atlas: OAVDiagnosticAtlas; }; track: IndexedMeshoptTrackDescriptor; name?: string; generator?: string; scene?: OAVScene; source?: object; } /** Parse, validate, normalize, and freeze an OAV manifest. */ export declare function parseOAVManifest(input: unknown): Readonly;