The texture type this cache stores, taken from the unlit item's material
rather than imported by name.
The choice CacheableGeometry and gl-texture.ts's CacheableTexture both
make: it types the cache against what the render list actually hands it —
@fourjs/materials' MaterialTexture read contract — so the module keeps
working unchanged if a second texture implementation ever satisfies that
contract, and it cannot reach for state a render item does not carry.
Named WgpuCacheableTexture rather than CacheableTexture because the WebGL
backend exports that name for its own (sprite-derived, differently-shaped)
type, and two backend-local types with one name across the workspace is a
confusion no reader benefits from.
The texture type this cache stores, taken from the unlit item's material rather than imported by name.
The choice
CacheableGeometryandgl-texture.ts'sCacheableTextureboth make: it types the cache against what the render list actually hands it —@fourjs/materials'MaterialTextureread contract — so the module keeps working unchanged if a second texture implementation ever satisfies that contract, and it cannot reach for state a render item does not carry.Named
WgpuCacheableTexturerather thanCacheableTexturebecause the WebGL backend exports that name for its own (sprite-derived, differently-shaped) type, and two backend-local types with one name across the workspace is a confusion no reader benefits from.