use thiserror::Error;
#[expect(clippy::enum_variant_names, reason = "Variant names are descriptive of the error type")]
#[derive(Error, Debug)]
pub enum BvhConfigError {
#[error("Traverse cost must be positive, got: {cost}")]
InvalidTraverseCost { cost: String },
#[error("Intersect cost must be positive, got: {cost}")]
InvalidIntersectCost { cost: String },
#[error("SAH buckets must be positive, got: {buckets}")]
InvalidSahBuckets { buckets: usize },
#[error("Max shapes per node must be greater than 2, got: {count}")]
InvalidMaxShapesPerNode { count: usize },
#[error("Max depth must be positive, got: {depth}")]
InvalidMaxDepth { depth: usize },
}