I’ve started fiddling with shaders, using a copy of the built-in sprite shader to mess with. It seems the UVs that get passed to the fragment program (var_texcoord0) are based on the whole atlas, not the individual sprite itself. This makes sense now that I’ve figured it out, but I guess it means if I want to mess with the UV coordinates or use them for things other than reading the texture I have to put each sprite in its own atlas? I don’t suppose there’s any way around that, is there?
Also, it would be nice if there was a note about this in the shader doc.