The shader outputs raw sRGB bytes, so an sRGB surface format gamma-encodes
them a second time and everything renders brighter than in a terminal.
Prefer an 8-bit non-sRGB surface format.
Declare the module GIL-free with #[pymodule(gil_used = false)] so
importing textgrid no longer re-enables the GIL in free-threaded builds.
Bump version to 2026.8.3.
- 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