Thanks for the explanation Larry,
It was becoming apparent that it was at a 'first pass' working state.
Ok well if I get any fooling around time at home (DNeg also doesn't use ptex) I'll have a try.
The other quite major thing I noticed in the code is that it seems like all metadata gets pre-loaded when a plug-in instance calls seek_subimage for the first time regardless of whether you need it or not.
As far as I can tell (when running ptxinfo -m thefile.ptx - to display metadata, all of the mesh vertices and topology arrays are stored as metadata key-values.
This would potentially mean that for every instance of the ptexinput class per-texture file there would be a full copy of the ptex mesh.
This could really add up when dealing with large mesh data sets. Plus, does OIIO make a separate copy of ptexinput per-file per-thread?
While the metadata pre-load could be changed in this plug-in, it highlights for me one of the major flaws with ptex as a format.
Because you cannot store multiple arbitrary channels per-Ptexture you are forced to have n copies of the mesh on disk and in memory for every texture channel referenced for a material for each mesh.
Perhaps ptex is good at deferred loading only what it needs (I don't know the details)?
Anyway, I can see why UDIMs have mostly won out in the vfx space.
Cheers
Dan