shdrlib 0.1.0

A three-tiered Vulkan shader compilation and rendering framework built in pure Rust
Documentation
# Documentation Index


Complete navigation for all shdrlib documentation.

## 📖 Start Here


- **[README.md]../README.md** - Project overview and introduction
- **[QUICKSTART.md]../QUICKSTART.md** - Get started in 5 minutes
- **[CONTRIBUTING.md]../CONTRIBUTING.md** - How to contribute
- **[CHANGELOG.md]../CHANGELOG.md** - Version history and changes

---

## 🚀 Getting Started


Essential guides for new users:

- **[Installation]getting-started/installation.md** ✅ - Set up your development environment
- **[Quick Start Tutorial]getting-started/quickstart.md** ✅ - Your first triangle in 5 minutes
- **[Vulkan Basics]getting-started/vulkan-basics.md** ✅ - Essential concepts you need to know
- **[Choosing a Tier]getting-started/choosing-a-tier.md** ✅ - EZ vs EX vs CORE comparison
- **[FAQ]getting-started/faq.md** ✅ - Frequently asked questions
- **[Troubleshooting]getting-started/troubleshooting.md** ✅ - Common issues and solutions

---

## 📚 User Guides


In-depth guides for each tier:

### EZ Tier (High-Level)

- **[EZ Tier Guide]guides/ez-tier-guide.md** ✅ - Complete guide to the EZ tier
  - Setup and initialization
  - Rendering loop
  - Buffers and textures
  - Compute shaders
  - Best practices

### EX Tier (Production) ⭐ Recommended

- **[EX Tier Guide]guides/ex-tier-guide.md** ✅ - Complete guide to the EX tier
  - RuntimeManager usage
  - ShaderManager and PipelineBuilder
  - Buffer helpers
  - Image helpers
  - Descriptor helpers
  - Best practices

### CORE Tier (Low-Level)

- **[CORE Tier Guide]guides/core-tier-guide.md** ✅ - Complete guide to the CORE tier
  - Instance and device setup
  - Manual shader compilation
  - Pipeline creation
  - Memory management
  - Command buffers
  - Synchronization

### Cross-Tier

- **[Migration Guide]guides/migration-guide.md** ✅ - Moving between tiers
  - When to drop down a tier
  - When to move up a tier
  - Mixing tiers in one project

---

## 🏗️ Architecture


Design philosophy and technical details:

- **[Overview]architecture/overview.md** 📋 - Project goals and philosophy
- **[Three-Tier Design]architecture/three-tier-design.md** 📋 - Why three tiers?
- **[Zero-Cost Abstractions]architecture/zero-cost-abstractions.md** 📋 - How we maintain performance
- **[Safety Guarantees]architecture/safety-guarantees.md** 📋 - Memory safety without GC

---

## 📖 API Reference


Detailed API documentation:

> **Note:** For detailed API documentation, run `cargo doc --open`. The files below are planned supplementary guides.

### CORE Tier API

- **[Instance]api/core/instance.md** 📋 - Vulkan instance management
- **[Device]api/core/device.md** 📋 - Logical device abstraction
- **[Queue]api/core/queue.md** 📋 - Queue operations
- **[Surface]api/core/surface.md** 📋 - Window surface handling
- **[Swapchain]api/core/swapchain.md** 📋 - Swapchain management
- **[Shader]api/core/shader.md** 📋 - Shader compilation
- **[Pipeline]api/core/pipeline.md** 📋 - Pipeline objects
- **[Command]api/core/command.md** 📋 - Command buffers
- **[Memory]api/core/memory.md** 📋 - Buffers and images
- **[Descriptor]api/core/descriptor.md** 📋 - Descriptor sets
- **[Sync]api/core/sync.md** 📋 - Synchronization primitives
- **[Utils]api/core/utils.md** 📋 - Utility functions

### EX Tier API

- **[RuntimeManager]api/ex/runtime-manager.md** 📋 - Lifecycle management
- **[ShaderManager]api/ex/shader-manager.md** 📋 - Shader and pipeline management
- **[PipelineBuilder]api/ex/pipeline-builder.md** 📋 - Fluent pipeline configuration
- **[Buffer Helpers]api/ex/buffer-helpers.md** 📋 - Common buffer patterns
- **[Image Helpers]api/ex/image-helpers.md** 📋 - Texture and render target helpers
- **[Descriptor Helpers]api/ex/descriptor-helpers.md** 📋 - Descriptor management

### EZ Tier API

- **[EzRenderer]api/ez/ez-renderer.md** 📋 - Unified rendering interface
- **[EzFrame]api/ez/ez-frame.md** 📋 - Frame rendering context
- **[EzConfig]api/ez/ez-config.md** 📋 - Configuration options

---

## 🎨 Examples & Tutorials


Annotated code examples:

### EZ Tier Examples

- **[EZ Examples Overview]examples/ez-examples.md** 📋
  - Hello Triangle (30 lines)
  - Compute Multiply
  - Buffers Demo

### EX Tier Examples

- **[EX Examples Overview]examples/ex-examples.md** 📋
  - Triangle in 100 Lines
  - Compute Shader Pipeline
  - Textured Quad (50 lines)

### CORE Tier Examples

- **[CORE Examples Overview]examples/core-examples.md** 📋
  - Raw Triangle (400 lines)
  - Compute Shader
  - Custom Integration

---

## 🔧 Development


Documentation for contributors:

- **[CONTRIBUTING.md]../CONTRIBUTING.md** - Contribution guidelines
- **[Development Workflow]../CONTRIBUTING.md#development-workflow** - How to contribute
- **[Coding Standards]../CONTRIBUTING.md#coding-standards** - Code style guide
- **[Testing]../CONTRIBUTING.md#testing-requirements** - Testing guidelines
- **[Tier-Specific Guidelines]../CONTRIBUTING.md#tier-specific-guidelines** - Per-tier rules

---

## 📦 Additional Resources


### Demo Code

Located in `demos/` directory:
- `demos/ez/` - EZ tier examples
- `demos/ex/` - EX tier examples
- `demos/core/` - CORE tier examples

### Benchmarks

Located in `benches/` directory:
- `shader_benchmarks.rs` - Shader compilation performance
- `buffer_benchmarks.rs` - Buffer operations
- `abstraction_overhead.rs` - Tier comparison

### Generated Documentation

Run `cargo doc --open` to view rustdoc API documentation.

---

## 🗂️ Document Status Legend


Throughout the documentation:

- **Complete** - Fully written and up-to-date
- 🚧 **In Progress** - Being actively worked on
- 📋 **Planned** - On the roadmap
- 🔄 **Needs Update** - Outdated content

---

## 📋 Documentation Roadmap


### Current Release (v0.1)

- ✅ Installation Guide
- ✅ Quick Start Tutorial
- ✅ Vulkan Basics Guide
- ✅ Choosing a Tier Guide
- ✅ FAQ
- ✅ Troubleshooting Guide
- ✅ EZ Tier Guide
- ✅ EX Tier Guide
- ✅ CORE Tier Guide
- ✅ Migration Guide
- 📋 Architecture Documentation (planned)
- 📋 Complete API Reference Content (planned)
- 📋 Examples Documentation (planned)

### Future Releases

- 📋 Video tutorials
- 📋 Interactive examples
- 📋 Performance optimization guide
- 📋 Advanced patterns cookbook

---

**Last Updated:** October 30, 2025  
**Documentation Version:** 0.1.0