- Compile shader.wgsl to SPIR-V at build time, commit .spv to repo
- Use wgpu PASSTHROUGH_SHADERS feature to skip naga runtime
- Disable default wgpu features, keep only 'spirv'
- Add release profile: LTO, strip, opt-level=z, panic=abort, codegen-units=1
- Use create_shader_module_passthrough() instead of create_shader_module()
To regenerate shader.spv after editing shader.wgsl:
naga-cli src/shader.wgsl shader.spv