shdrlib 0.1.0

A three-tiered Vulkan shader compilation and rendering framework built in pure Rust
Documentation
//! # shdrlib - Three-Tier Vulkan Shader Compilation and Rendering Framework
//!
//! A Rust-based Vulkan shader compilation and rendering framework with three abstraction levels:
//!
//! - **CORE (Tier 0)**: Thin wrappers around `ash` and shader compilers
//! - **EX (Tier 1)**: Explicit, ergonomic managers with safe lifetime management
//! - **EZ (Tier 2)**: High-level abstractions with sensible defaults
//!
//! ## Getting Started
//!
//! Start with the CORE tier for maximum control, or jump to EZ for rapid development.
//! All tiers compile to zero-cost abstractions.
//!
//! ## Using EX Tier (Recommended for Most Users)
//!
//! ```rust,no_run
//! use shdrlib::ex::*;
//!
//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
//! // Setup (5 lines vs 80+ in CORE)
//! let mut runtime = RuntimeManager::new(RuntimeConfig::default())?;
//! let device = runtime.device();
//! let mut shaders = ShaderManager::new(device)?;
//!
//! // Load and compile shaders
//! // let vert_id = shaders.add_shader(VERT_SRC, ShaderStage::Vertex, "vert")?;
//! // let frag_id = shaders.add_shader(FRAG_SRC, ShaderStage::Fragment, "frag")?;
//!
//! // Cleanup is automatic!
//! # Ok(())
//! # }
//! ```

pub mod core;
pub mod ex;
pub mod ez;

// Re-export core for convenience
pub use crate::core::*;