# WGSL Shader Development

Reference for WGSL shader development, buffer alignment, uniform struct layout, and shader asset management. Load this skill when working on shader code, graphics pipelines, or buffer alignment issues.

## WGSL Uniform Buffer Alignment

When creating uniform buffers for WGSL shaders, struct fields must be aligned:

| Type | Alignment |
|------|-----------|
| `f32` | 4 bytes |
| `vec2<f32>` | 8 bytes |
| `vec3<f32>` | 16 bytes (treated as vec4) |
| `vec4<f32>` | 16 bytes |
| `mat4x4<f32>` | 16 bytes (64 bytes total) |

Use padding fields to match WGSL struct layout exactly. Prefer `vec4` over individual floats to avoid alignment issues.

## Shader Organization

Shaders live in `src/shaders/` and are embedded via `include_str!()`.
