I know that for regular textures, there are requirements for textures to need a size that is a power of 2 unless min filter is Linear/Nearest, but I can’t find any information about if there is a requirement in webgl for the compressed texture to need a power of 2 size.
Just to check – are you sure you don’t need mipmaps? Unless the texture is a 2D overlay aligned with the camera, you often want them… I guess I’m not too sure of the size requirements without mipmaps, but there may be other requirements based on the compressed texture block size, e.g. that the dimensions should be a multiple of four.
Currently for the application I am working on we don’t want mipmaps due to the size of the images that are loaded (and the power of 2 requirement). The images I am loading are of arbitrary size and can be very large which is why I am experimenting with basis textures. I just did not expect a power of 2 requirement for them (assuming there is and I am not doing something wrong). If WebGL 2 supports non power of 2 compressed textures, then maybe I need to finally transition (been waiting on Apple)
If you don’t need mipmaps, my reading would be that you only need to worry about the multiple-of-four size requirement. With mipmaps, the situation is better in WebGL 2. My own projects generally require mipmaps, and so stick to power-of-two dimensions until WebGL 2 is more widely supported (which appears to be happening more quickly now).
Even when targeting newer platforms that support non-power-of-two texture dimensions, the texture dimensions still must be multiples of 4 to work with KHR_texture_basisu.
The reference to KHR_texture_basisu may be considered equivalent to KTX2 or Basis formats.