# shdrlib Documentation
Short, practical guides for three-tier Vulkan rendering.
## Quick Links
- **[Quick Start](../QUICKSTART.md)** - Triangle in 5 minutes
- **[API Reference](../API_REFERENCE.md)** - Quick API cheat sheet
- **[Examples](../demos/)** - Working code
- **[Full API Docs](https://docs.rs/shdrlib)** - Or run `cargo doc --open`
---
## Getting Started
New to shdrlib? Start here:
1. **[Installation](getting-started/installation.md)** - Set up environment (2 min)
2. **[Quick Start Tutorial](getting-started/quickstart.md)** - Your first triangle (5 min)
3. **[Choosing a Tier](getting-started/choosing-a-tier.md)** - EZ vs EX vs CORE (3 min)
Having issues?
- [FAQ](getting-started/faq.md) - Common questions
- [Troubleshooting](getting-started/troubleshooting.md) - Fix problems
New to Vulkan?
- [Vulkan Basics](getting-started/vulkan-basics.md) - Essential concepts
---
## User Guides
Deep dives for each tier:
### By Tier
- **[EZ Tier Guide](guides/ez-tier-guide.md)** - One-liners for learning
- **[EX Tier Guide](guides/ex-tier-guide.md)** (recommended) - Production-ready patterns
- **[CORE Tier Guide](guides/core-tier-guide.md)** - Low-level control
### Cross-Tier
- **[Migration Guide](guides/migration-guide.md)** - Moving between tiers
---
## Architecture
How shdrlib works:
- **[Overview](architecture/overview.md)** - Design philosophy
- **[Three-Tier Design](architecture/three-tier-design.md)** - Why three tiers?
- **[Zero-Cost Abstractions](architecture/zero-cost-abstractions.md)** - Performance
---
## Examples
```bash
# EZ tier (learning)
cargo run --bin ez_01_hello_triangle
cargo run --bin ez_02_compute_multiply
cargo run --bin ez_03_buffers_demo
# EX tier (production, recommended)
cargo run --bin ex_01_triangle_100_lines
cargo run --bin ex_02_compute_100_mul
cargo run --bin ex_03_textured_quad
# CORE tier (advanced)
cargo run --bin 01_triangle_raw
cargo run --bin 02_compute_shader
cargo run --bin 05_custom_integration
```
---
## API Documentation
**Quick reference:** [API_REFERENCE.md](../API_REFERENCE.md)
**Full docs:** Run `cargo doc --open`
---
## Contributing
See [CONTRIBUTING.md](../CONTRIBUTING.md) for guidelines.
---
## Need Help?
- **[FAQ](getting-started/faq.md)** - Common questions
- **[Troubleshooting](getting-started/troubleshooting.md)** - Common issues
- **[GitHub Discussions](https://github.com/paulburnettjones-wq/shdrlib/discussions)** - Ask questions
- **[GitHub Issues](https://github.com/paulburnettjones-wq/shdrlib/issues)** - Report bugs