/** * PostProcessing.ts * * Post-processing effect stack: bloom, tone mapping, SSAO, * color grading, vignette, and chromatic aberration. * * @module rendering */ export type ToneMapper = 'linear' | 'reinhard' | 'aces' | 'filmic'; export interface BloomSettings { enabled: boolean; threshold: number; intensity: number; radius: number; softKnee: number; } export interface SSAOSettings { enabled: boolean; radius: number; intensity: number; bias: number; samples: number; } export interface ColorGradingSettings { enabled: boolean; temperature: number; tint: number; saturation: number; contrast: number; brightness: number; gamma: number; } export interface VignetteSettings { enabled: boolean; intensity: number; smoothness: number; roundness: number; } export interface ChromaticAberrationSettings { enabled: boolean; intensity: number; } export interface PostProcessProfile { id: string; name: string; bloom: BloomSettings; ssao: SSAOSettings; colorGrading: ColorGradingSettings; vignette: VignetteSettings; chromaticAberration: ChromaticAberrationSettings; toneMapping: ToneMapper; exposure: number; antiAliasing: 'none' | 'fxaa' | 'smaa'; } export declare const PP_PRESETS: Record>; export declare class PostProcessingStack { private profiles; private activeProfileId; constructor(); createProfile(id: string, name: string): PostProcessProfile; loadPreset(presetName: string, id?: string): PostProcessProfile | null; getProfile(id: string): PostProcessProfile | undefined; getProfileCount(): number; removeProfile(id: string): boolean; setActive(profileId: string): boolean; getActive(): PostProcessProfile | null; setEffectEnabled(profileId: string, effect: 'bloom' | 'ssao' | 'colorGrading' | 'vignette' | 'chromaticAberration', enabled: boolean): boolean; /** * Blend between two profiles by factor t (0 = from, 1 = to). * Useful for smooth transitions between environments. */ blendProfiles(fromId: string, toId: string, t: number): PostProcessProfile | null; } //# sourceMappingURL=PostProcessing.d.ts.map