The document storymapToManifest reads: the { "storymap": {...} }
wrapper a storymap.json file is, with every member optional.
The root is Partial<StorymapData> — every legacy key is optional and the
files in the wild carry more than the schema documents — or a plain record,
which is what a document read straight out of JSON.parse is. The wrapper
itself is open, because the legacy files also carry a root-level font_css
and the map configuration service prefers it over the key inside storymap.
The document storymapToManifest reads: the
{ "storymap": {...} }wrapper astorymap.jsonfile is, with every member optional.The root is
Partial<StorymapData>— every legacy key is optional and the files in the wild carry more than the schema documents — or a plain record, which is what a document read straight out ofJSON.parseis. The wrapper itself is open, because the legacy files also carry a root-levelfont_cssand the map configuration service prefers it over the key insidestorymap.