Hydra Render Delegate changing Scene Index etiquette

Hey,

I had some (hopefully) quick questions about the etiquette and roles a Scene Index (and the owner of such scene indices) and the behaviour whilst switching between two render delegates whilst not changing the scene.

When we change render delegate, and we have already added prims:

/root/world
/root/world/geo
/root/world/geo/cube

would we be expected to re-add all of those locations after the delegate change (i.e re-trigger the scene index to push the scene it had added with the previous delegate again?)

Or is it up to Scene Indices and observers to ensure that they react appropriately to being attached to a pre-existing scene?

I suspect this is the case, since there would be scene index topology changes, which would, for correctness, be required to be informed about “added scene”, regardless or not as to whether it already existed.

Similarly is this a behaviour we would expect to change at any point? Is this a limitation we’re hitting given the current limbo period between Hydra 1.0 and Hydra 2.0 we’re currently in which may change when the Hydra 1.0 API and behavioural limitations are removed?

Cheers,
James

Often there are SceneIndexes which are delegate-specific (or have delegate-specific behaviour - one delegate might accept primitive spheres, another might need mesh conversion), so maintaining state across delegate changes could be tricky in a number of ways. The safest option is to rebuild a new Scene Index pipeline for each delegate switch (or at least for each new delegate).