The renderer's device, or null before initialize / after dispose.
Group 0's DrawUniforms layout — the same object the frame's draw bind
group is created against.
Group 1's light-block layout, created by the first shaded draw.
Group 1's shadowed light-block layout, created by the first receiving draw.
The texture/sampler layout, created by the first textured upload.
null until then; a textured skinned draw that cannot name it skips.
The live window a
WebgpuRendereropens for its skinned colour pair — the layouts the pair's pipeline layouts must share with the frame's already-bound draw, map, and light groups, so a skinned draw reuses the same group-0 uniform block every other family writes.Every member is a live accessor (a method), not a snapshot, because the layouts change identity under the renderer's feet: a §61 device loss drops them, and a pair that captured
drawLayoutonce would compile against a layout the renderer has already abandoned.