Conversation
|
Example v3 and v4 recipe: https://preview.iiif.io/cookbook/v4/recipe/0001-mvm-image/ |
|
|
||
| This illustrates the mandatory structure and properties of a manifest, with the simplest possible content. | ||
|
|
||
| The JSON-LD opens with the `@context` declaration, which identifies the terms used in the document as belonging to the IIIF specification. The `id` property identifies this manifest with the URL at which it is available online. The `type` property must be `Manifest`. The `label` property is mandatory, and the language of its value must be given (or the special value `none`), using a [language map][prezi3-languages]. Here the language of the label is English and its value is "Single Image Example". The manifest's `items` property is a list of canvases. In this example there is only one canvas, with a `height` of 1800 and a `width` of 1200. These units have no dimension: they establish a coordinate space that in this case the single image will fill. The canvas's `id` property is used later as the `target` of the annotation that links to the single image. |
There was a problem hiding this comment.
Point to version 4 of the spec: [language map][prezi3-languages]
Initial commit to version control ⚡️
For parallelism to other foundational recipes, for completeness, and for readability
Ensured all removed entries had issues created for them
I'm surely overthinking this, but I don't want readers to skip these annotations as if they are _only_ building blocks
| "id": "{{ id.path }}/annotation/p0001-image", | ||
| "type": "Annotation", | ||
| "motivation": "painting", | ||
| "body": { |
There was a problem hiding this comment.
The value must be an array of JSON objects.
https://preview.iiif.io/api/prezi-4/presentation/4.0/model/#body
| "id": "{{ id.path }}/timeline/page/annotation", | ||
| "type": "Annotation", | ||
| "motivation": "painting", | ||
| "body": { |
There was a problem hiding this comment.
The value must be an array of JSON objects.
https://preview.iiif.io/api/prezi-4/presentation/4.0/model/#body
| "id": "{{ id.path }}/canvas/page/annotation", | ||
| "type": "Annotation", | ||
| "motivation": "painting", | ||
| "body": { |
There was a problem hiding this comment.
The value must be an array of JSON objects.
https://preview.iiif.io/api/prezi-4/presentation/4.0/model/#body
| "format": "audio/mp4", | ||
| "duration": 1985.024 | ||
| }, | ||
| "target": "{{ id.path }}/timeline" |
There was a problem hiding this comment.
The value must be an array of JSON objects.
https://preview.iiif.io/api/prezi-4/presentation/4.0/model/#target
| "target": "{{ id.path }}/timeline" | |
| "target": [{"id": "{{ id.path }}/timeline", "type": "Timeline"}] |
| "duration": 572.034, | ||
| "format": "video/mp4" | ||
| }, | ||
| "target": "{{ id.path }}/canvas" |
There was a problem hiding this comment.
The value must be an array of JSON objects.
https://preview.iiif.io/api/prezi-4/presentation/4.0/model/#target
| "target": "{{ id.path }}/canvas" | |
| "target": [{"id": "{{ id.path }}/canvas", "type": "Canvas"}] |
| "type": "Model", | ||
| "format": "model/gltf-binary" | ||
| }, | ||
| "target": "{{ id.path }}/scene/1/annotationPage/1" |
There was a problem hiding this comment.
The value must be an array of JSON objects.
https://preview.iiif.io/api/prezi-4/presentation/4.0/model/#target
| "target": "{{ id.path }}/scene/1/annotationPage/1" | |
| "target": [{"id":"{{ id.path }}/scene/1", "type": "Scene"}] |
There was a problem hiding this comment.
Also it targets the AnnotationPage instead of the Scene. (updated the suggestion)
| "body": { | ||
| "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", | ||
| "type": "Model", | ||
| "format": "model/gltf-binary" | ||
| }, |
There was a problem hiding this comment.
The value must be an array of JSON objects.
https://preview.iiif.io/api/prezi-4/presentation/4.0/model/#body
| "body": { | |
| "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", | |
| "type": "Model", | |
| "format": "model/gltf-binary" | |
| }, | |
| "body": [{ | |
| "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", | |
| "type": "Model", | |
| "format": "model/gltf-binary" | |
| }], |
Steps for adding a v4 recipe for example
0001-mvm-image:0001-mvm-imagecalledv4.0001-mvm-imageto recipe.md0001-mvm-imageto v4v4to make it work for v4Notes:
v4-viewersto list v4 supporting recipes