It's something we can consider. My first thought is that it might be tricky to find all the places a conversion needs to be made, and to do so without interfering with innocent strings. I'll throw out a few questions to see how wide-ranging you'd think this should be for it to be the most useful.
Would you want to see all attributes get the conversion from "P:/" to "/P/" and from "/P/" to "P:/"? That would be needed for shader parameters as well as regular attributes. Primitive variables too?
Would there be a risk of changing strings that are not meant to be file names?
Is there value in making it a more general string replacement setup, like "C:/" to "/mnt/data/" and its reverse? That might allow easier adaptation to a wider range of environments like workstation, local farm, cloud farm.
For formats where embedded paths can be modified, like USD and its asset resolver, we'd let those take care of this? For data formats that don't have that concept, like EXR metadata, we'd want to make the conversion?
Who would you expect to be responsible for the path in expressions, the writer of the expression or the consumer of it?
- Eric