Retiming Layers or Stage

Is there a way to retime a USD layer or stage similar to how you would with editing software?

Sdf.LayerOffset is almost what I’m looking for, but the problem with this is it only takes constant values for offset and scale. I can’t have a frame mapping like frame 50 retimes to frame 100, frame 51 retimes to frame 102, etc. etc.

Then there’s ValueClips, but their intended purpose seems more for splitting up different caches in the scene into multiple files rather than just global time remapping.

I can’t tell if this feature is missing or I’m doing it wrong.

In our pipeline, we primarily use Value Clips for splitting up data into multiple files, but using a single layer as a single Clip so that you can dynamically retime it is a perfectly valid use of Value Clips - we really don’t want to dictate policy for core features. So, with the understanding that DCC support for working with Value Clips may be limited, and that there is some performance cost to using them, they are, nevertheless, the only USD feature currently available to you to allow that kind of retiming.

Thanks for the reply. After some testing, Value Clips seems to work in cases where all data is contained within the clip layer, but if that layer sublayers or references layers, it no longer seems to work. I was trying to retime an entire shot usd, but the value clips didn’t work because the shot usd sublayers in department layers, and those department layers reference cache layers.

How do you retime a shot working around this limitation? Do you have to store a linear and retimed usd file for each cache layer using value clips and create two separate sets of department and shot layers for linear and retimed?