use crate::sdf::Value;
use super::{AspectRatioConformPolicy, ProductType, SourceType};
#[derive(Debug, Clone, PartialEq, Default)]
pub struct Product {
pub render_product_path: String,
pub product_type: ProductType,
pub name: String,
pub camera_path: Option<String>,
pub disable_motion_blur: bool,
pub disable_depth_of_field: bool,
pub resolution: [i32; 2],
pub pixel_aspect_ratio: f32,
pub aspect_ratio_conform_policy: AspectRatioConformPolicy,
pub aperture_size: [f32; 2],
pub data_window_ndc: [f32; 4],
pub render_var_indices: Vec<usize>,
pub namespaced_settings: Vec<(String, Value)>,
}
#[derive(Debug, Clone, PartialEq, Default)]
pub struct RenderVar {
pub render_var_path: String,
pub data_type: String,
pub source_name: String,
pub source_type: SourceType,
pub namespaced_settings: Vec<(String, Value)>,
}
#[derive(Debug, Clone, PartialEq, Default)]
pub struct RenderSpec {
pub products: Vec<Product>,
pub render_vars: Vec<RenderVar>,
pub included_purposes: Vec<String>,
pub material_binding_purposes: Vec<String>,
pub namespaced_settings: Vec<(String, Value)>,
}