digirati-co-uk / iiif-manifest-editor

Create new IIIF Manifests. Modify existing manifests. Tell stories with IIIF.
https://manifest-editor.digirati.services/
MIT License
29 stars 3 forks source link

Preview "Vault" to drive explorer #233

Closed stephenwf closed 1 year ago

stephenwf commented 1 year ago

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.

stephenwf commented 1 year ago

We could use a different UI (background colour?) using css variables so that UI that is remote is distinguishable from the normal UI.