use thiserror::Error;
#[derive(Error, Debug)]
pub enum DocQuadError {
#[error("Invalid buffer dimensions or alignment")]
InvalidBuffer,
#[error("Memory mapping failed: {0}")]
MappingError(String),
#[error("Edge detection failed")]
EdgeDetectionError,
#[error("No valid document quadrilateral found")]
NoQuadFound,
#[error("Internal geometry error")]
GeometryError,
#[error("Inconsistent row stride: {0}")]
StrideMismatch(String),
}