I have a shader which requires knowledge of the image width and height in order to properly apply itself. So I add a vec2 uniform to hold such information, and ...
Oh. It looks like I'm going to have to duplicate this shader in full for every individual texture I want to apply it to because there is no way to change the uniforms at runtime. The TypeScript class for shaders is a big opaque dummy you can't do anything with, and the setup to apply a shader to a sprite in a scene or by script doesn't allow for any further inputs besides the shader path to apply.
:( Disappointment.