Each project has a "Vault" that contains the IIIF Manifest that is currently being edited, and all the resource within it.
When you instantiate a "IIIF Explorer" it will create a new Vault each time for browsing. However, the shell could provide a "Preview" Vault instance that the explorer could use that could exist either within just a project or global. This would speed up resource loading, acting like a cache, but also allow future iterations of the Explorer to show a "Starting point" screen with recently loaded resources.
In the application, you could also have "Preview" boundaries. For example:
// This comes from the Mainfest "Vault"
const annotationList = useAnnotationList('some-id');
<div>
{annotationList.label}
<PreviewVault>
<ViewRemoteAnnotationList annotationList={annotationList} />
</PreviewVault>
</div>
This would essentially be a read-only slice of the Manifest editor, with some copy/paste/explorer style interactions for inspecting resources that are not editable by the current resource. This could be applied to external Annotation Lists or Collections.
In the future you could "Open" a Preview resource in the Manifest editor, which could open a new tab and edit that preview resource directly.
Could also create a "Recent" resources collection in the preview vault automatically using events.
Each project has a "Vault" that contains the IIIF Manifest that is currently being edited, and all the resource within it.
When you instantiate a "IIIF Explorer" it will create a new Vault each time for browsing. However, the shell could provide a "Preview" Vault instance that the explorer could use that could exist either within just a project or global. This would speed up resource loading, acting like a cache, but also allow future iterations of the Explorer to show a "Starting point" screen with recently loaded resources.
In the application, you could also have "Preview" boundaries. For example:
This would essentially be a read-only slice of the Manifest editor, with some copy/paste/explorer style interactions for inspecting resources that are not editable by the current resource. This could be applied to external Annotation Lists or Collections.
In the future you could "Open" a Preview resource in the Manifest editor, which could open a new tab and edit that preview resource directly.
Could also create a "Recent" resources collection in the preview vault automatically using events.