orphism 0.3.0

a library for interacting with a certain format sometimes used for VTuber model assets
Documentation
use std::path::PathBuf;

#[derive(Debug, thiserror::Error)]
#[remain::sorted]
pub enum Error {
  #[error(transparent)]
  Io(#[from] std::io::Error),
  #[error(transparent)]
  Json(#[from] serde_json::Error),
  #[error(transparent)]
  MediaType(#[from] mediatype::MediaTypeError),
  #[error("media type inference failed")]
  MediaTypeInferenceFailed,
  #[error(transparent)]
  Moc3(#[from] moc3::Error),
  #[error("model has no parent directory: {0:?}")]
  ModelHasNoParentDirectory(PathBuf),
  #[error("model path is not a file: {0:?}")]
  ModelPathIsNotAFile(PathBuf),
  #[error("model path may not end with '..': {0:?}")]
  ModelPathMayNotEndWithTrailingDots(PathBuf),
  #[error("runtime path contains multiple models: {0:?}")]
  RuntimePathContainsMultipleModels(PathBuf),
  #[error("runtime path contains no models: {0:?}")]
  RuntimePathContainsNoModels(PathBuf),
  #[error("runtime path is not a directory: {0:?}")]
  RuntimePathIsNotADirectory(PathBuf),
}