Create a fresh Texture2D wrapper that shares GPU resources with base
but carries its own UV transform. Use this when the same underlying image
is referenced with different transforms (e.g. glTF KHR_texture_transform
on different textureInfos pointing at the same source). The caller is
responsible for acquireTexture/release pairing if the wrapper outlives
the base. RTT-derived clones follow replacement attachment generations;
ordinary clones snapshot the GPU fields.
Create a fresh Texture2D wrapper that shares GPU resources with
basebut carries its own UV transform. Use this when the same underlying image is referenced with different transforms (e.g. glTF KHR_texture_transform on different textureInfos pointing at the same source). The caller is responsible for acquireTexture/release pairing if the wrapper outlives the base. RTT-derived clones follow replacement attachment generations; ordinary clones snapshot the GPU fields.