The texture type this cache stores, taken from @fourjs/render's sprite render
item rather than imported by name.
@fourjs/render-webgl's dependencies are core, math, and render (plan
§3.1, frozen), so @fourjs/render's Texturecould be imported directly.
Deriving it from SpriteRenderItem["material"]["texture"] instead is the
choice CacheableGeometry already makes in gl-geometry.ts: it types the
cache against what the render list actually hands it, which is
@fourjs/materials' SpriteTexture read contract — so this module keeps
working unchanged if a second texture implementation ever satisfies that
contract, and it cannot accidentally reach for state a render item does not
carry.
The texture type this cache stores, taken from
@fourjs/render's sprite render item rather than imported by name.@fourjs/render-webgl's dependencies arecore,math, andrender(plan §3.1, frozen), so@fourjs/render'sTexturecould be imported directly. Deriving it fromSpriteRenderItem["material"]["texture"]instead is the choiceCacheableGeometryalready makes ingl-geometry.ts: it types the cache against what the render list actually hands it, which is@fourjs/materials'SpriteTextureread contract — so this module keeps working unchanged if a second texture implementation ever satisfies that contract, and it cannot accidentally reach for state a render item does not carry.