I have tested, it works great.
One question though, I have to add an extension to the file name, while in the current libraries formats we only have a GUID for embedded textures. The current implementation in the renderer was auto-detecting image formats from first bytes (magic bytes). With OIIO I have to manually add the proper extension, otherwise it won't load the file and issue errors.
Normally, with files, OIIO can open images of unknown extension, by testing the plugins one by one, but in this case, it seems it will not. Is this because we use a IOProxy?
Another question, I have been playing with imageCache()->add_file creator parameter. Despite having potential, it seems to me that this parameter is almost unusable, as the creator function takes no argument. So we can't pass it any context (such as a file name, resource name, or class pointer). It would at least require to take a void* argument in order to be useful. Or am I missing its proper use?