# Documentation Index
**Complete map of shdrlib documentation.**
## Start Here
New to shdrlib? Follow this path:
1. **[Installation](getting-started/installation.md)** (2 min)
2. **[Quick Start](../QUICKSTART.md)** (5 min)
3. **[Choosing a Tier](getting-started/choosing-a-tier.md)** (3 min)
4. Pick your tier guide below
---
## Quick Access
| **First triangle** | [Quick Start](../QUICKSTART.md) |
| **API cheat sheet** | [API Reference](../API_REFERENCE.md) |
| **Full API docs** | Run `cargo doc --open` |
| **Examples** | `demos/` directory |
| **Fix a problem** | [Troubleshooting](getting-started/troubleshooting.md) |
| **Common questions** | [FAQ](getting-started/faq.md) |
---
## Getting Started
**For new users:**
- **[Installation](getting-started/installation.md)** - Set up Rust + Vulkan
- **[Quick Start Tutorial](getting-started/quickstart.md)** - Your first triangle
- **[Choosing a Tier](getting-started/choosing-a-tier.md)** - Which tier is right for you?
- **[FAQ](getting-started/faq.md)** - Common questions answered
- **[Troubleshooting](getting-started/troubleshooting.md)** - Fix common issues
**New to Vulkan?**
- **[Vulkan Basics](getting-started/vulkan-basics.md)** - Essential Vulkan concepts
---
## User Guides
**Deep dives for each tier:**
### EZ Tier (Learning) ✨ NEW Mesh API!
- **[EZ Tier Guide](guides/ez-tier-guide.md)** - One-liners, smart defaults (~15 lines for triangle with NEW Mesh API!)
- Examples: `demos/ez/` (4 demos available)
### EX Tier (Production) ⭐
- **[EX Tier Guide](guides/ex-tier-guide.md)** - Explicit control, type-safe (~100 lines for triangle)
- Examples: `demos/ex/`
### CORE Tier (Control)
- **[CORE Tier Guide](guides/core-tier-guide.md)** - Thin wrappers, max control (~400 lines for triangle)
- Examples: `demos/core/`
### Cross-Tier
- **[Migration Guide](guides/migration-guide.md)** - Moving between tiers
---
## Architecture
**How shdrlib works:**
- **[Overview](architecture/overview.md)** - Design philosophy and goals
- **[Three-Tier Design](architecture/three-tier-design.md)** - Why three abstraction levels?
- **[Zero-Cost Abstractions](architecture/zero-cost-abstractions.md)** - How we maintain performance
---
## API Reference
**Quick reference:**
- **[API Reference](../API_REFERENCE.md)** - Quick API cheat sheet
**Full documentation:**
- Run `cargo doc --open` for complete API docs
- Or visit [docs.rs/shdrlib](https://docs.rs/shdrlib)
---
## Examples & Code
**Run examples:**
```bash
# EZ tier (learning) - ✨ NEW Mesh API!
cargo run --bin ez_01_hello_triangle
cargo run --bin ez_02_compute_multiply
cargo run --bin ez_03_buffers_demo
cargo run --bin ez_04_splash_screen # NEW: Fullscreen shader demo
# EX tier (production) ⭐
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
```
**Source code:**
- `demos/ez/` - EZ tier examples
- `demos/ex/` - EX tier examples
- `demos/core/` - CORE tier examples
---
## Contributing
Want to help? See:
- **[CONTRIBUTING.md](../CONTRIBUTING.md)** - Contribution guidelines
- **[CHANGELOG.md](../CHANGELOG.md)** - Project roadmap
---
## Project Info
**Root documentation:**
- **[README.md](../readme.md)** - Project overview
- **[LICENSE-MIT](../LICENSE-MIT)** / **[LICENSE-APACHE](../LICENSE-APACHE)** - Licenses
- **[Cargo.toml](../Cargo.toml)** - Package metadata
---
## By Topic
### Setup & Installation
- [Installation](getting-started/installation.md)
- [Quick Start](../QUICKSTART.md)
- [Troubleshooting](getting-started/troubleshooting.md)
### Learning Vulkan
- [Vulkan Basics](getting-started/vulkan-basics.md)
- [EZ Tier Guide](guides/ez-tier-guide.md)
- [Examples](../demos/ez/)
### Building Apps
- [Choosing a Tier](getting-started/choosing-a-tier.md)
- [EX Tier Guide](guides/ex-tier-guide.md) ⭐
- [Examples](../demos/ex/)
### Building Frameworks
- [CORE Tier Guide](guides/core-tier-guide.md)
- [Architecture Overview](architecture/overview.md)
- [Examples](../demos/core/)
### Performance
- [Zero-Cost Abstractions](architecture/zero-cost-abstractions.md)
- [Benchmarks](../benches/)
### API Details
- [API Reference](../API_REFERENCE.md)
- `cargo doc --open`
---
## Document Status
All documentation is **complete** and up-to-date as of v0.1.2.
---
## Get Help
**Can't find what you need?**
1. Check [FAQ](getting-started/faq.md)
2. Check [Troubleshooting](getting-started/troubleshooting.md)
3. Ask in [GitHub Discussions](https://github.com/paulburnettjones-wq/shdrlib/discussions)
4. File an [Issue](https://github.com/paulburnettjones-wq/shdrlib/issues)
---
**Happy rendering!** 🚀