1use thiserror::Error;
4
5pub type CanvasResult<T> = Result<T, CanvasError>;
7
8#[derive(Debug, Error)]
10pub enum CanvasError {
11 #[error("Element not found: {0}")]
13 ElementNotFound(String),
14
15 #[error("Invalid operation on element: {0}")]
17 InvalidOperation(String),
18
19 #[error("Serialization error: {0}")]
21 Serialization(#[from] serde_json::Error),
22
23 #[error("Connection lost: {0}")]
25 ConnectionLost(String),
26
27 #[error("Failed to load resource: {0}")]
29 ResourceLoad(String),
30
31 #[error("Rendering error: {0}")]
33 Render(String),
34}