use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LayoutDetectionConfig {
#[serde(default = "default_preset")]
pub preset: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub confidence_threshold: Option<f32>,
#[serde(default = "default_true")]
pub apply_heuristics: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub table_model: Option<String>,
}
impl Default for LayoutDetectionConfig {
fn default() -> Self {
Self {
preset: default_preset(),
confidence_threshold: None,
apply_heuristics: true,
table_model: None,
}
}
}
fn default_preset() -> String {
"accurate".to_string()
}
fn default_true() -> bool {
true
}