use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FilterConfig {
pub preset: FilterPreset,
pub intensity: f32,
pub custom_params: Option<ColorAdjustments>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum FilterPreset {
Cinematic,
Warm,
Cool,
Vintage,
Dramatic,
BW,
Custom,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ColorAdjustments {
pub brightness: Option<f32>,
pub contrast: Option<f32>,
pub saturation: Option<f32>,
pub temperature: Option<f32>,
pub gamma: Option<f32>,
}