UNPKG

@motion-core/motion-gpu

Version:

Framework-agnostic WebGPU runtime for fullscreen WGSL shaders with explicit Svelte, React, and Vue adapter entrypoints.

69 lines 2.07 kB
import type { AnyPass, RenderPassInputSlot, RenderPassOutputSlot } from './types.js'; /** * Resolved render-pass step with defaults applied. */ export interface RenderGraphStep { /** * Step kind. 'render' for post-scene render passes, 'compute' for pre-scene compute passes. */ kind: 'render' | 'compute'; /** * User pass instance. */ pass: AnyPass; /** * Resolved input slot. Ignored for compute steps. */ input: RenderPassInputSlot; /** * Resolved output slot. Ignored for compute steps. */ output: RenderPassOutputSlot; /** * Whether ping-pong swap should be performed after render. */ needsSwap: boolean; /** * Whether pass should clear output before drawing. */ clear: boolean; /** * Effective clear color. */ clearColor: [number, number, number, number]; /** * Whether output should be preserved after pass ends. */ preserve: boolean; } /** * Immutable render-graph execution plan for one frame. */ export interface RenderGraphPlan { /** * Resolved enabled steps in declaration order. */ steps: RenderGraphStep[]; /** * Enabled compute steps. These always execute before the base scene render. */ computeSteps: RenderGraphStep[]; /** * Enabled render steps. These always execute after the base scene render. */ renderSteps: RenderGraphStep[]; /** * Output slot holding final post-scene render result before presentation. * Remains 'canvas' when there are no render steps. */ finalOutput: RenderPassOutputSlot; } /** * Builds validated render graph plan from runtime pass list. * * @param passes - Runtime passes. * @param defaultClearColor - Global clear color fallback. * @returns Resolved render graph plan. */ export declare function planRenderGraph(passes: AnyPass[] | undefined, defaultClearColor: [number, number, number, number], renderTargetSlots?: Iterable<string>): RenderGraphPlan; //# sourceMappingURL=render-graph.d.ts.map