|
Multi-input composite shaders with sampler support.
- Dynamic bind group layouts (N input textures + 1 sampler)
- dispatch_composite() for multi-input compute dispatch
- create_gpu_composite_texture() API
- gen_blend.wgsl and gen_mask.wgsl shaders
Guarded with #if !defined(STRIP_GPU_COMPOSITE) for easy removal.
Tests:
- Blend two noise textures
- Mask noise with grid
- Multi-stage composite (composite of composites)
Size: ~830 bytes (2 shaders + dispatch logic)
handoff(Claude): GPU procedural Phase 4 complete
|