//! Errores tipados de la librería (§5.1). Nada de `unwrap()` en rutas públicas. use thiserror::Error; /// Error raíz de `sheafsync`. #[derive(Debug, Error)] pub enum SheafError { /// Dimensiones incompatibles al ensamblar el coboundary o multiplicar matrices. #[error("dimensiones incompatibles: {0}")] DimensionMismatch(String), /// El haz referencia una réplica o arista que no existe en el nervio. #[error("entidad inexistente en el nervio: {0}")] MissingEntity(String), /// Marcador de funcionalidad aún no implementada (scaffolding M0). #[error("no implementado todavía: {0}")] NotImplemented(&'static str), } /// Alias de resultado usado en toda la librería. pub type Result = std::result::Result;