OpenAssetIO / usdOpenAssetIOResolver

An AR2 plugin that hosts OpenAssetIO
Apache License 2.0
24 stars 3 forks source link

Define MVP workflows + BDD requirements #2

Closed foundrytom closed 1 year ago

foundrytom commented 1 year ago

From January meetup :

Workflows: A file based referential USD setup (eg: parkinglot.usd) behaves as if OpenAssetIO was not configured. In a referential USD setup, any @entity reference@ references, subLayers, payloads that return True for isEntityReference are resolved through the manager and the resulting string is handled by USD in the same way as if OpenAssetIO was not configured and the default resolver was. If a USD write is to a path that returns True to isEntityReference, then the preflight/resolve/register dance is performed in consideration with the ResolvesFutureEntities trait (if false, raises an exception) managemntPolicy is queried upon initialization to avoid unnecessary manager queries and or publish attempts Create identifier based on achor passes through input Out of scope: Modification time (deafult implementation of base class) Create identifier using getRelatedReferences

Tests use libusd (iether with on-disk usd files or programmatically populated stages)

Background: OPENASSETIO_DEFAULT_MANAGER is configured with a suitable manager The usdOpenAssetIOResolver is configured as the primary resolver

elliotcmorris commented 1 year ago

Re: Modification time, we had a look through the USD source and this is pretty important to get right when we come to it, even though we're just putting a default in the first time round.

foundrytom commented 1 year ago

Requirements defined in https://github.com/OpenAssetIO/usdOpenAssetIOResolver/issues/8