At the moment Presentation 3 is "strict" and does not check for small incompatibilities. This is especially true for traversing resources, where Presentation 2 allowed non-array items and Presentation 3 requires an array. Few ways we could do this.
We could have it part of the configuration for the vault:
const vault = new Vault({ strict: true });
Or as it's own bundle (if it's bigger/smaller):
import { Vault } from '@iiif/vault/strict';
Mentioned by @mathewjordan
more community oriented tools wanting to be less strict, while internal tools needing to be more so.
To hopefully allow vault to be used in both situations - without encouraging incorrect IIIF for implementors.
At the moment Presentation 3 is "strict" and does not check for small incompatibilities. This is especially true for traversing resources, where Presentation 2 allowed non-array items and Presentation 3 requires an array. Few ways we could do this.
We could have it part of the configuration for the vault:
Or as it's own bundle (if it's bigger/smaller):
Mentioned by @mathewjordan
To hopefully allow vault to be used in both situations - without encouraging incorrect IIIF for implementors.