#[derive(Debug, thiserror::Error)]
pub enum AssetError {
#[error("sha256 mismatch for '{name}': expected {expected}, got {actual}")]
ChecksumMismatch {
name: String,
expected: String,
actual: String,
},
#[error("download failed: {0}")]
Download(String),
#[error("io error: {0}")]
Io(#[from] std::io::Error),
}
pub type Result<T> = std::result::Result<T, AssetError>;