/** * RenderPass.ts * * Render pass pipeline: ordering, dependencies, framebuffer * attachments, clear ops, and compositing. * * @module rendering */ export type AttachmentFormat = 'rgba8' | 'rgba16f' | 'rgba32f' | 'depth24' | 'depth32f' | 'stencil8'; export type ClearOp = 'clear' | 'load' | 'discard'; export interface FramebufferAttachment { name: string; format: AttachmentFormat; width: number; height: number; clearOp: ClearOp; clearColor?: [number, number, number, number]; } export interface RenderPassConfig { id: string; name: string; order: number; enabled: boolean; dependencies: string[]; attachments: FramebufferAttachment[]; inputs: string[]; viewport?: { x: number; y: number; w: number; h: number; }; } export declare class RenderPass { private passes; private sortedOrder; addPass(config: RenderPassConfig): void; removePass(id: string): void; getPass(id: string): RenderPassConfig | undefined; enablePass(id: string, enabled: boolean): void; private rebuildOrder; getExecutionOrder(): RenderPassConfig[]; validate(): string[]; private hasCycle; getPassCount(): number; getAllPasses(): RenderPassConfig[]; } //# sourceMappingURL=RenderPass.d.ts.map