Hi!
I noticed that the usdViewportPurpose intrinsic attribute is an array of the USD purpose of an usd imported geometry using the SOP Modify LOP. The thing is that I think that maybe this should be an string attribute instead with the primitive purpose because right now the usdViewportPurpose intrinsic attribute is the same array for Proxy or Render geometries as you can see here:
On that example is very easy to see which prim has a Proxy purpose or the Render purpose because it is created with the Component Builder setup so the purposes are also on the primpath, but on a non-component builder prims, it can be more difficult to check which is the purpose from each one:
So, there is another method to select in SOP the purpose of the prims?
Thanks!