/// Why a blob image did not parse or encode.
///
/// Each variant carries what a caller needs to report the failure. The crate
/// does no logging of its own: it never knows which file the bytes came from, so
/// the caller that opened the file owns the diagnostic.