use thiserror::Error;
#[derive(Debug, Error)]
pub enum WorldModelError {
#[error("could not connect to OccWorld socket at `{path}`: {source}")]
SocketConnect {
path: String,
source: std::io::Error,
},
#[error("OccWorld inference timed out after {timeout_s}s")]
Timeout {
timeout_s: u64,
},
#[error("JSON (de)serialisation error: {0}")]
SerdeJson(#[from] serde_json::Error),
#[error("protocol error: {0}")]
Protocol(String),
#[error("OccWorld server reports VRAM unavailable: {0}")]
VramUnavailable(String),
}