use thiserror::Error;
#[derive(Debug, Error)]
pub enum TransformError {
#[error("core error: {0}")]
Core(#[from] crate::core::Error),
#[error("invalid scale factor: {0}")]
InvalidScaleFactor(String),
#[error("unsupported depth: {0}")]
UnsupportedDepth(String),
#[error("invalid parameters: {0}")]
InvalidParameters(String),
#[error("singular transformation matrix")]
SingularMatrix,
}
pub type TransformResult<T> = Result<T, TransformError>;