The window uniform and the mask array were still `None`, which is what puts a binding on wgpu-core's late-sized list: `check_late_buffer_bindings` runs from `is_ready` on every draw and compares each such binding's bound size against the naga-derived minimum for the shader global. Stating the size filters the binding out of that list, and moves the same comparison to bind group and pipeline creation. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>