/** * Derives GPUVertexBufferLayouts (one per-vertex, one per-instance) from lists * of vertex formats, assigning consecutive shader locations. * * The formats are fixed at construction, so everything derived from them is * built once. `layoutKey` is what a pipeline cache keys on, and building it * here rather than at every lookup keeps a per-draw JSON.stringify of the whole * layout off the hot path. */ export declare class VertexBufferManager { private readonly buffers; private readonly vertexLength; private readonly instanceLength; readonly layoutKey: string; constructor(vertexFormats?: GPUVertexFormat[], instanceFormats?: GPUVertexFormat[]); /** Layouts for pipeline creation; empty layouts are omitted. */ getBuffers(): GPUVertexBufferLayout[]; /** Number of float elements per vertex. */ getVertexLength(): number; /** Number of float elements per instance. */ getInstanceLength(): number; }