UNPKG

@motion-core/motion-gpu

Version:

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

49 lines 2.04 kB
import type { FrameProfilingSnapshot, FrameRegistry, FrameRunTimings, FrameScheduleSnapshot } from './frame-registry.js'; /** * Public scheduler control surface shared by framework adapters. */ export type MotionGPUScheduler = Pick<FrameRegistry, 'createStage' | 'getStage' | 'setDiagnosticsEnabled' | 'getDiagnosticsEnabled' | 'getLastRunTimings' | 'getSchedule' | 'setProfilingEnabled' | 'setProfilingWindow' | 'resetProfiling' | 'getProfilingEnabled' | 'getProfilingWindow' | 'getProfilingSnapshot'>; /** * Named scheduler presets exposed from advanced entrypoints. */ export type SchedulerPreset = 'balanced' | 'debug' | 'performance'; /** * Resolved scheduler timing configuration. * * Note: diagnostics and profiling currently share one internal toggle in the frame registry. */ export interface SchedulerPresetConfig { diagnosticsEnabled: boolean; profilingEnabled: boolean; profilingWindow: number; } /** * Optional overrides applied on top of a named scheduler preset. */ export interface ApplySchedulerPresetOptions { diagnosticsEnabled?: boolean; profilingEnabled?: boolean; profilingWindow?: number; } /** * Snapshot payload useful for scheduler diagnostics UIs and debug tooling. */ export interface SchedulerDebugSnapshot { diagnosticsEnabled: boolean; profilingEnabled: boolean; profilingWindow: number; schedule: FrameScheduleSnapshot; lastRunTimings: FrameRunTimings | null; profilingSnapshot: FrameProfilingSnapshot | null; } /** * Applies a named scheduler preset to the runtime scheduler instance. * * Returns resolved values after overrides for easy logging/telemetry. */ export declare function applySchedulerPreset(scheduler: MotionGPUScheduler, preset: SchedulerPreset, options?: ApplySchedulerPresetOptions): SchedulerPresetConfig; /** * Captures an aggregate scheduler diagnostics snapshot. */ export declare function captureSchedulerDebugSnapshot(scheduler: MotionGPUScheduler): SchedulerDebugSnapshot; //# sourceMappingURL=scheduler-helpers.d.ts.map