#![allow(unused_assignments)]
#[doc = include_str!("../ReadMe.md")]
pub(crate) mod context;
pub(crate) mod parsing;
pub(crate) mod uniforms;
pub mod input_type;
pub use wgpu;
pub use context::{RenderContext, TextureDesc};
pub(crate) type VarName = String;
use thiserror::Error;
use wgpu::naga::{self};
#[derive(Debug, Clone, Default)]
pub struct ErrorLocation {
pub line: u32,
pub column: u32,
}
#[derive(Debug, Clone)]
pub struct ShaderError {
pub location: ErrorLocation,
pub kind: naga::front::glsl::ErrorKind,
}
#[derive(Debug, Error)]
pub enum Error {
#[error("Shader compilation failed: {display}")]
ShaderCompilationFailed {
display: String,
errors: Vec<ShaderError>,
},
#[error("Document parsing failed: {0}")]
DocumentParsingFailed(#[from] crate::parsing::Error),
#[error("Uniform setup failed: {0}")]
UniformError(#[from] crate::uniforms::Error),
}