#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct SearchBudget {
pub max_precursor_sets: usize,
pub max_precursors_per_plan: usize,
pub max_plans_returned: usize,
}
impl Default for SearchBudget {
fn default() -> Self {
Self {
max_precursor_sets: 10_000,
max_precursors_per_plan: 4,
max_plans_returned: 20,
}
}
}
#[derive(Debug, Clone, PartialEq, Default)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct PlanningConfig {
pub search_budget: SearchBudget,
pub ranking_weights: crate::score::RankingWeights,
pub deterministic_seed: u64,
}