A loaded cube texture, exposed without leaking its WebGPU handles. This is the
public cube handle returned by loadCubeTexture; pass it straight to
setStandardReflectionCubeTexture() or loadSkybox().
The opaque nominal brand keeps a plain Texture2D from satisfying a cube slot:
Texture2D is structurally { texture, view, sampler, ... }, so without the
brand it would compile against a cube parameter and then fail WebGPU validation
at bind-group creation (a 2d view bound to a texture_cube binding).
A loaded cube texture, exposed without leaking its WebGPU handles. This is the public cube handle returned by loadCubeTexture; pass it straight to
setStandardReflectionCubeTexture()orloadSkybox().The opaque nominal brand keeps a plain
Texture2Dfrom satisfying a cube slot:Texture2Dis structurally{ texture, view, sampler, ... }, so without the brand it would compile against a cube parameter and then fail WebGPU validation at bind-group creation (a2dview bound to atexture_cubebinding).