Skip to main content

canvas_renderer/
error.rs

1//! Renderer error types.
2
3use thiserror::Error;
4
5/// Result type for renderer operations.
6pub type RenderResult<T> = Result<T, RenderError>;
7
8/// Errors that can occur during rendering.
9#[derive(Debug, Error)]
10pub enum RenderError {
11    /// No suitable rendering backend available.
12    #[error("No rendering backend available: {0}")]
13    NoBackend(String),
14
15    /// GPU initialization failed.
16    #[error("GPU initialization failed: {0}")]
17    GpuInit(String),
18
19    /// Shader compilation failed.
20    #[error("Shader compilation failed: {0}")]
21    Shader(String),
22
23    /// Surface/swapchain error.
24    #[error("Surface error: {0}")]
25    Surface(String),
26
27    /// Resource loading failed.
28    #[error("Failed to load resource: {0}")]
29    Resource(String),
30
31    /// Rendering frame failed.
32    #[error("Frame render failed: {0}")]
33    Frame(String),
34
35    /// Invalid viewport configuration.
36    #[error("Invalid viewport: {0}")]
37    Viewport(String),
38
39    /// Export failed.
40    #[error("Export failed: {0}")]
41    Export(String),
42
43    /// I/O error during export.
44    #[error("I/O error: {0}")]
45    Io(#[from] std::io::Error),
46}