use crate::circuit::error::CircuitError;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum VisualizationError {
#[error("circuit preprocessing failed: {0}")]
CircuitBuild(#[from] CircuitError),
#[error("operation references unknown qubit Q{0}")]
UnknownQubit(u32),
#[error("parameter index {index} out of bounds (len={len})")]
ParameterIndexOutOfBounds {
index: u32,
len: usize,
},
#[error("svg rendering failed: {0}")]
SvgRenderFailed(String),
#[error("invalid visualization input: {0}")]
InvalidInput(String),
#[error(transparent)]
Io(#[from] std::io::Error),
}