/** * PipelineCache - Manages GPU pipeline lifecycle * * Caches compiled pipelines to avoid recompilation overhead. */ export type PipelineKind = "triangle" | "line" | "point" | "band" | "heatmap"; export interface PipelineKey { kind: PipelineKind; variant?: string; } export interface IPipelineCache { /** Get or create a pipeline */ getOrCreate(key: PipelineKey, factory: () => T): T; /** Check if pipeline exists */ has(key: PipelineKey): boolean; /** Delete a pipeline */ delete(key: PipelineKey): void; /** Get pipeline count */ readonly size: number; /** Cleanup all pipelines */ destroy(): void; } /** * Generic pipeline cache implementation */ export declare class PipelineCache implements IPipelineCache { private pipelines; getOrCreate(key: PipelineKey, factory: () => T): T; has(key: PipelineKey): boolean; delete(key: PipelineKey): void; get size(): number; destroy(): void; }