ctt 0.4.0

Compress images to GPU texture formats
Documentation
pub type Result<T> = std::result::Result<T, Error>;

#[derive(Debug, thiserror::Error)]
pub enum Error {
    #[error("invalid dimensions: {0}")]
    InvalidDimensions(String),

    #[error("unsupported format: {0}")]
    UnsupportedFormat(String),

    #[error("invalid swizzle: {0}")]
    InvalidSwizzle(String),

    #[error("cubemap requires exactly 6 faces, got {0}")]
    CubemapFaceCount(usize),

    #[error("cubemap faces must have uniform dimensions")]
    CubemapNonUniformFaces,

    #[error("compression failed: {0}")]
    Compression(String),

    #[error("output encoding error: {0}")]
    OutputEncoding(String),

    #[error("input decoding error: {0}")]
    InputDecoding(String),

    #[error("data length mismatch: expected {expected}, got {actual}")]
    DataLengthMismatch { expected: usize, actual: usize },

    #[error("unsupported pixel format conversion: {0}")]
    UnsupportedConversion(String),

    #[error(
        "lossy auto-conversion from {from} to {to} required by transform '{transform}': {reason}"
    )]
    LossyConversion {
        from: String,
        to: String,
        transform: String,
        reason: String,
    },

    #[error("invalid image: {0}")]
    InvalidImage(String),
}