Convert a legacy storymap document to a IIIF Presentation 3.0 manifest.
The counterpart of manifestToStorymapData(): what that reads, this writes.
Nothing but the input is read, so the same document always produces the same
manifest — which is what makes regenerating public/examples-iiif/ a no-op.
The manifest's label, and the stem of its canonical id.
The storymap.json document ({ "storymap": {...} }).
The manifest, ready to serialise.
Convert a legacy storymap document into a IIIF Presentation 3 manifest — the writer counterpart of
manifestToStorymapData(). Pure, so the same document always produces the same manifest.