diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..d947320 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,23 @@ +name: validate + +on: + pull_request: + workflow_dispatch: + +jobs: + validate: + runs-on: ubuntu-latest + env: + BUNDLE_WITH: test jekyll_plugins + SITE_ID: 'cookbook' # which iiif site this is + URL: 'https://preview.iiif.io' + + steps: + - name: Check out this repository + uses: actions/checkout@v5 + + - name: Run IIIF validator + uses: IIIF/presentation-validator@main + with: + directory: manifests + version: "4.0" diff --git a/manifests/10_content_state/README.md b/manifests/10_activating_annotations/README.md similarity index 100% rename from manifests/10_content_state/README.md rename to manifests/10_activating_annotations/README.md diff --git a/manifests/10_activating_annotations/astronaut_comment_activating_motivation.json b/manifests/10_activating_annotations/astronaut_comment_activating_motivation.json new file mode 100644 index 0000000..2c593ee --- /dev/null +++ b/manifests/10_activating_annotations/astronaut_comment_activating_motivation.json @@ -0,0 +1,210 @@ +{ + "@context": "http://iiif.io/api/presentation/4/context.json", + "id": "https://example.org/iiif/3d/astronaut_comment_activating_motivation.json", + "type": "Manifest", + "label": { "en": ["Single Model with Comment Annotations and Custom Views Per Annotation Using Activating Motivation"] }, + "summary": { "en": ["Viewer should render the model at the scene origin and two comment annotations, one targeting a point near the astronaut's glove and the other targeting a point near the astronaut's helmet. Each comment annotation has a specific camera position and view specified for it using annotations with activating motivation."] }, + "items": [ + { + "id": "https://example.org/iiif/scene1", + "type": "Scene", + "label": { "en": ["A Scene"] }, + "items": [ + { + "id": "https://example.org/iiif/scene1/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://example.org/iiif/3d/model", + "type": "Annotation", + "motivation": ["painting"], + "body": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", + "type": "Model", + "format": "model/gltf-binary" + }, + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } + }, + { + "id": "https://example.org/iiif/3d/cameras/1", + "type": "Annotation", + "motivation": ["painting"], + "behavior": ["hidden"], + "body": { + "id": "https://example.org/iiif/3d/cameras/1/body", + "type": "PerspectiveCamera", + "label": {"en": ["Perspective Camera for Glove"]}, + "lookAt": { + "id": "https://example.org/uuid/6799e7d1-89a1-4e76-bcb9-3c0c47065598", + "type": "PointSelector", + "x": 0.0, + "y": 2.0108470916748047, + "z": -0.012333005666732798 + } + }, + "target": { + "id": "https://example.org/uuid/48350b8f-be54-4a20-990e-80b596efbb36", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "id": "https://example.org/uuid/1a0f1b38-2ab7-4603-bfc3-353e77f18c93", + "type": "PointSelector", + "x": 0.0, + "y": 2.010847091674805, + "z": 9.11616179783789 + } + ] + } + }, + { + "id": "https://example.org/iiif/3d/cameras/2", + "type": "Annotation", + "motivation": ["painting"], + "behavior": ["hidden"], + "body": { + "id": "https://example.org/iiif/3d/cameras/2/body", + "type": "PerspectiveCamera", + "label": {"en": ["Perspective Camera for Helmet"]}, + "lookAt": { + "id": "https://example.org/uuid/80ace027-d43d-48f2-81dc-59bfed7b61cc", + "type": "PointSelector", + "x": 0.0, + "y": 2.0108470916748047, + "z": -0.012333005666732798 + } + }, + "target": { + "id": "https://example.org/uuid/ea4fcfb0-7341-48e3-a85d-d9c9f2bac5a0", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "id": "https://example.org/uuid/fa64be77-e766-49f0-a89c-cf1a6b7f5869", + "type": "PointSelector", + "x": 0.0, + "y": 2.010847091674805, + "z": 9.11616179783789 + } + ] + } + } + ] + } + ] + } + ], + "annotations": [ + { + "id": "https://example.org/iiif/scene1/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://example.org/iiif/3d/comments/1", + "type": "Annotation", + "motivation": ["commenting"], + "body": { + "id": "https://example.org/iiif/3d/comments/1/body", + "type": "TextualBody", + "value": "Glove", + "language": ["en"], + "format": "text/plain" + }, + "target": { + "id": "https://example.org/uuid/ab7f9b03-2c13-416c-85d8-13e4ef6d6a3b", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "id": "https://example.org/uuid/bfa9c562-3480-4605-aa60-fff02a1d6716", + "type": "PointSelector", + "x": 1.075, + "y": 1.894, + "z": 0.204 + } + ] + } + }, + { + "id": "https://example.org/iiif/3d/comments/2", + "type": "Annotation", + "motivation": ["commenting"], + "body": { + "id": "https://example.org/iiif/3d/comments/2/body", + "type": "TextualBody", + "value": "Helmet", + "language": ["en"], + "format": "text/plain" + }, + "target": { + "id": "https://example.org/uuid/8e6a68cd-a5be-4661-acc2-a373f2e749ae", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "id": "https://example.org/uuid/7f940815-62f7-4d99-99e9-2f2a1ba0e7c8", + "type": "PointSelector", + "x": 0.006, + "y": 3.498, + "z": 0.703 + } + ] + } + }, + { + "id": "https://example.org/iiif/3d/activating/1", + "type": "Annotation", + "motivation": ["activating"], + "summary": { "en": ["This annotation with motivation 'activating' links the first comment annotation (for the glove) to its camera. When the comment annotation is activated through user interaction, the camera annotation is shown and made the active camera."] }, + "target": { + "id": "https://example.org/iiif/3d/comments/1", + "type": "Annotation" + }, + "body": { + "id": "https://example.org/iiif/3d/activating/1/body", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/3d/cameras/1", + "type": "Annotation" + }, + "action": ["show", "enable", "select"] + } + }, + { + "id": "https://example.org/iiif/3d/activating/2", + "type": "Annotation", + "motivation": ["activating"], + "summary": { "en": ["This annotation with motivation 'activating' links the second comment annotation (for the helmet) to its camera. When the comment annotation is activated through user interaction, the camera annotation is shown and made the active camera."] }, + "target": { + "id": "https://example.org/iiif/3d/comments/2", + "type": "Annotation" + }, + "body": { + "id": "https://example.org/iiif/3d/activating/2/body", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/3d/cameras/2", + "type": "Annotation" + }, + "action": ["show", "enable", "select"] + } + } + ] + } + ] +} diff --git a/manifests/10_activating_annotations/whale_comment_activating_annotation.json b/manifests/10_activating_annotations/whale_comment_activating_annotation.json new file mode 100644 index 0000000..58dadd3 --- /dev/null +++ b/manifests/10_activating_annotations/whale_comment_activating_annotation.json @@ -0,0 +1,244 @@ +{ + "@context": "http://iiif.io/api/presentation/4/context.json", + "id": "https://example.org/iiif/3d/whale_comment_activating_annotation.json", + "type": "Manifest", + "label": { "en": ["Whale Cranium and Mandible with Dynamic Commenting Annotations and Custom Per-Anno Views"] }, + "summary": { "en": ["Description TBA"] }, + "items": [ + { + "id": "https://example.org/iiif/scene1", + "type": "Scene", + "label": { "en": ["A Scene Containing a Whale Cranium and Mandible"] }, + "items": [ + { + "id": "https://example.org/iiif/scene1/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://example.org/iiif/3d/anno1", + "type": "Annotation", + "motivation": ["painting"], + "body": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/whale/whale_mandible.glb", + "type": "Model", + "format": "model/gltf-binary" + }, + "target": { + "id": "https://example.org/iiif/3d/anno1/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "type": "PointSelector", + "x": 0.0, + "y": 0.03, + "z": 0.05 + } + ] + } + }, + { + "id": "https://example.org/iiif/3d/anno2", + "type": "Annotation", + "motivation": ["painting"], + "body": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/whale/whale_cranium.glb", + "type": "Model", + "format": "model/gltf-binary" + }, + "target": { + "id": "https://example.org/iiif/3d/anno2/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "type": "PointSelector", + "x": 0.0, + "y": 0.18, + "z": 0.0 + } + ] + } + }, + { + "id": "https://example.org/iiif/3d/anno8", + "type": "Annotation", + "motivation": ["painting"], + "behavior": ["hidden"], + "body": { + "id": "https://example.org/iiif/3d/anno8/body", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/3d/cameras/mandibular-tooth", + "type": "PerspectiveCamera", + "label": {"en": ["Perspective Camera Pointed At Front of Cranium and Mandible"]}, + "fieldOfView": 50.0, + "near": 0.10, + "far": 2000.0 + } + }, + "target": { + "id": "https://example.org/iiif/3d/anno8/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "type": "PointSelector", + "x": 0.0, + "y": 0.15, + "z": 0.75 + } + ] + } + }, + { + "id": "https://example.org/iiif/3d/anno6", + "type": "Annotation", + "motivation": ["painting"], + "behavior": ["hidden"], + "body": { + "id": "https://example.org/iiif/3d/anno6/body", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/3d/cameras/hamulus", + "type": "PerspectiveCamera", + "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, + "fieldOfView": 50.0, + "near": 0.10, + "far": 2000.0 + }, + "transform": [ + { + "type": "RotateTransform", + "x": -15.0, + "y": 215.0, + "z": 0.0 + } + ] + }, + "target": { + "id": "https://example.org/iiif/3d/anno6/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "type": "PointSelector", + "x": -0.25, + "y": 0.0, + "z": -0.5 + } + ] + } + } + ] + } + ] + } + ], + "annotations": [ + { + "id": "https://example.org/iiif/scene1/page/p1/annotations/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://example.org/iiif/3d/anno7", + "type": "Annotation", + "motivation": ["commenting"], + "body": { + "type": "TextualBody", + "value": "Mandibular tooth" + }, + "target": { + "id": "https://example.org/iiif/3d/anno7/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "type": "PointSelector", + "x": 0.011, + "y": 0.069, + "z": 0.231 + } + ] + } + }, + { + "id": "https://example.org/iiif/3d/anno5", + "type": "Annotation", + "motivation": ["commenting"], + "body": { + "type": "TextualBody", + "value": "Right pterygoid hamulus" + }, + "target": { + "id": "https://example.org/iiif/3d/anno5/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { + "type": "PointSelector", + "x": 0.040, + "y": 0.063, + "z": -0.066 + } + ] + } + }, + { + "id": "https://example.org/iiif/3d/activating/tooth", + "type": "Annotation", + "motivation": ["activating"], + "target": { + "id": "https://example.org/iiif/3d/anno7", + "type": "Annotation" + }, + "body": { + "id": "https://example.org/iiif/3d/activating/tooth/body", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/3d/anno8", + "type": "Annotation" + }, + "action": ["show", "enable", "select"] + } + }, + { + "id": "https://example.org/iiif/3d/activating/hamulus", + "type": "Annotation", + "motivation": ["activating"], + "target": { + "id": "https://example.org/iiif/3d/anno5", + "type": "Annotation" + }, + "body": { + "id": "https://example.org/iiif/3d/activating/hamulus/body", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/3d/anno6", + "type": "Annotation" + }, + "action": ["show", "enable", "select"] + } + } + ] + } + ] +} diff --git a/manifests/10_content_state/astronaut_comment_scope.json b/manifests/10_content_state/astronaut_comment_scope.json deleted file mode 100644 index 553d262..0000000 --- a/manifests/10_content_state/astronaut_comment_scope.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/astronaut_comment_scope.json", - "type": "Manifest", - "label": { "en": ["Single Model with Comment Annotations and Custom Views Per Annotation"] }, - "summary": { "en": ["Viewer should render the model at the scene origin and two comment annotations, one targeting a point near the astronaut's glove and the other targeting a point near the astronaut's helmet. Each comment annotation has a specific camera position and view specified for it using content state scope for the annotation."] }, - "items": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene", - "label": { "en": ["A Scene"] }, - "items": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/anno1", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" - }, - "target": "https://example.org/iiif/scene1" - } - ] - } - ], - "annotations": [ - { - "id": "https://example.org/iiif/scene1/page/p2/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/anno2", - "type": "Annotation", - "motivation": ["commenting"], - "body": { - "id": "https://example.org/iiif/3d/anno2/bodies/glove", - "type": "TextualBody", - "value": "Glove", - "language": "en", - "format": "text/plain" - }, - "target": { - "id": "https://example.org/uuid/ab7f9b03-2c13-416c-85d8-13e4ef6d6a3b", - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "id": "https://example.org/uuid/bfa9c562-3480-4605-aa60-fff02a1d6716", - "type": "PointSelector", - "x": 1.075, - "y": 1.894, - "z": 0.204 - } - ], - "scope": { - "id": "https://example.org/iiif/3d/anno2/scope1", - "type": "Annotation", - "motivation": ["contentState"], - "target": { - "id": "https://example.org/iiif/scene1", - "type": "Scene", - "items": [ - { - "id": "https://example.org/iiif/scene1/page/p3/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/anno2/scope1/anno1", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "id": "https://example.org/iiif/3d/cameras/1", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera for Glove"]}, - "lookAt": { - "id": "https://example.org/uuid/6799e7d1-89a1-4e76-bcb9-3c0c47065598", - "type": "PointSelector", - "x": 0.0, - "y": 2.0108470916748047, - "z": -0.012333005666732798 - } - }, - "target": { - "id": "https://example.org/uuid/48350b8f-be54-4a20-990e-80b596efbb36", - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "id": "https://example.org/uuid/1a0f1b38-2ab7-4603-bfc3-353e77f18c93", - "type": "PointSelector", - "x": 0.0, - "y": 2.010847091674805, - "z": 9.11616179783789 - } - ] - } - } - ] - } - ] - } - } - } - }, - { - "id": "https://example.org/iiif/3d/anno3", - "type": "Annotation", - "motivation": ["commenting"], - "bodyValue": { - "id": "https://example.org/iiif/3d/anno3/bodies/helmet", - "type": "TextualBody", - "value": "Helmet", - "language": "en", - "format": "text/plain" - }, - "target": { - "id": "https://example.org/uuid/8e6a68cd-a5be-4661-acc2-a373f2e749ae", - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "id": "https://example.org/uuid/7f940815-62f7-4d99-99e9-2f2a1ba0e7c8", - "type": "PointSelector", - "x": 0.006, - "y": 3.498, - "z": 0.703 - } - ], - "scope": { - "id": "https://example.org/iiif/3d/anno3/scope1", - "type": "Annotation", - "motivation": ["contentState"], - "target": { - "id": "https://example.org/iiif/scene1", - "type": "Scene", - "items": [ - { - "id": "https://example.org/iiif/scene1/page/p3/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/anno3/scope1/anno1", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "id": "https://example.org/iiif/3d/cameras/2", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera for Helmet"]}, - "lookAt": { - "id": "https://example.org/uuid/80ace027-d43d-48f2-81dc-59bfed7b61cc", - "type": "PointSelector", - "x": 0.0, - "y": 2.0108470916748047, - "z": -0.012333005666732798 - } - }, - "target": { - "id": "https://example.org/uuid/ea4fcfb0-7341-48e3-a85d-d9c9f2bac5a0", - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "id": "https://example.org/uuid/fa64be77-e766-49f0-a89c-cf1a6b7f5869", - "type": "PointSelector", - "x": 0.0, - "y": 2.010847091674805, - "z": 9.11616179783789 - } - ] - } - } - ] - } - ] - } - } - } - } - ] - } - ] - } - ] -} diff --git a/manifests/10_content_state/whale_comment_scope_content_state.json b/manifests/10_content_state/whale_comment_scope_content_state.json deleted file mode 100644 index 691f424..0000000 --- a/manifests/10_content_state/whale_comment_scope_content_state.json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/whale_comment_scope_content_state.json", - "type": "Manifest", - "label": { "en": ["Whale Cranium and Mandible with Dynamic Commenting Annotations and Custom Per-Anno Views"] }, - "summary": { "en": ["Description TBA"] }, - "items": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene", - "label": { "en": ["A Scene Containing a Whale Cranium and Mandible"] }, - "items": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/anno1", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/whale/whale_mandible.glb", - "type": "Model", - "format": "model/gltf-binary" - }, - "target": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "type": "PointSelector", - "x": 0.0, - "y": 0.03, - "z": 0.05 - } - ] - } - }, - { - "id": "https://example.org/iiif/3d/anno2", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/whale/whale_cranium.glb", - "type": "Model", - "format": "model/gltf-binary" - }, - "target": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "type": "PointSelector", - "x": 0.0, - "y": 0.18, - "z": 0.0 - } - ] - } - } - ] - } - ], - "annotations": [ - { - "id": "https://example.org/iiif/scene1/page/p1/annotations/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/anno7", - "type": "Annotation", - "motivation": ["commenting"], - "bodyValue": "Mandibular tooth", - "target": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "type": "PointSelector", - "x": 0.011, - "y": 0.069, - "z": 0.231 - } - ], - "scope": { - "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/anno4", - "type": "Annotation", - "motivation": ["contentState"], - "target": { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene", - "backgroundColor": "yellow", - "items": [ - { - "id": "https://example.org/iiif/scene1/page/p3/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/anno8", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/3d/cameras/1", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera Pointed At Front of Cranium and Mandible"]}, - "fieldOfView": 50.0, - "near": 0.10, - "far": 2000.0 - } - ] - }, - "target": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "type": "PointSelector", - "x": 0.0, - "y": 0.15, - "z": 0.75 - } - ] - } - } - ] - } - ] - } - } - } - }, - { - "id": "https://example.org/iiif/3d/anno5", - "type": "Annotation", - "motivation": ["commenting"], - "bodyValue": "Right pterygoid hamulus", - "target": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "type": "PointSelector", - "x": 0.040, - "y": 0.063, - "z": -0.066 - } - ], - "scope": { - "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/anno3", - "type": "Annotation", - "motivation": ["contentState"], - "target": { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene", - "backgroundColor": "green", - "items": [ - { - "id": "https://example.org/iiif/scene1/page/p3/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/anno6", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/3d/cameras/1", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, - "fieldOfView": 50.0, - "near": 0.10, - "far": 2000.0 - } - ], - "transform": [ - { - "type": "RotateTransform", - "x": -15.0, - "y": 215.0, - "z": 0.0 - } - ] - }, - "target": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "type": "PointSelector", - "x": -0.25, - "y": 0.0, - "z": -0.5 - } - ] - } - } - ] - } - ] - } - } - } - } - ] - } - ] - } - ] -} diff --git a/manifests/11_special/astronaut_comment_activating_motivation.json b/manifests/11_special/astronaut_comment_activating_motivation.json deleted file mode 100644 index ce95992..0000000 --- a/manifests/11_special/astronaut_comment_activating_motivation.json +++ /dev/null @@ -1,195 +0,0 @@ -{ - "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/astronaut_comment_activating_motivation.json", - "type": "Manifest", - "label": { "en": ["Single Model with Comment Annotations and Custom Views Per Annotation Using Activating Motivation"] }, - "summary": { "en": ["Viewer should render the model at the scene origin and two comment annotations, one targeting a point near the astronaut's glove and the other targeting a point near the astronaut's helmet. Each comment annotation has a specific camera position and view specified for it using annotations with activating motivation."] }, - "items": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene", - "label": { "en": ["A Scene"] }, - "items": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/model", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" - }, - "target": "https://example.org/iiif/scene1/page/p1/1" - }, - { - "id": "https://example.org/iiif/3d/cameras/1", - "type": "Annotation", - "motivation": ["painting"], - "behavior": ["hidden"], - "body": { - "id": "https://example.org/iiif/3d/cameras/1/body", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera for Glove"]}, - "lookAt": { - "id": "https://example.org/uuid/6799e7d1-89a1-4e76-bcb9-3c0c47065598", - "type": "PointSelector", - "x": 0.0, - "y": 2.0108470916748047, - "z": -0.012333005666732798 - } - }, - "target": { - "id": "https://example.org/uuid/48350b8f-be54-4a20-990e-80b596efbb36", - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ], - "selector": [ - { - "id": "https://example.org/uuid/1a0f1b38-2ab7-4603-bfc3-353e77f18c93", - "type": "PointSelector", - "x": 0.0, - "y": 2.010847091674805, - "z": 9.11616179783789 - } - ] - } - }, - { - "id": "https://example.org/iiif/3d/cameras/2", - "type": "Annotation", - "motivation": ["painting"], - "behavior": ["hidden"], - "body": { - "id": "https://example.org/iiif/3d/cameras/2/body", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera for Helmet"]}, - "lookAt": { - "id": "https://example.org/uuid/80ace027-d43d-48f2-81dc-59bfed7b61cc", - "type": "PointSelector", - "x": 0.0, - "y": 2.0108470916748047, - "z": -0.012333005666732798 - } - }, - "target": { - "id": "https://example.org/uuid/ea4fcfb0-7341-48e3-a85d-d9c9f2bac5a0", - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ], - "selector": [ - { - "id": "https://example.org/uuid/fa64be77-e766-49f0-a89c-cf1a6b7f5869", - "type": "PointSelector", - "x": 0.0, - "y": 2.010847091674805, - "z": 9.11616179783789 - } - ] - } - } - ] - } - ], - "annotations": [ - { - "id": "https://example.org/iiif/scene1/page/p2/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/comments/1", - "type": "Annotation", - "motivation": ["commenting"], - "body": { - "id": "https://example.org/iiif/3d/comments/1/body", - "type": "TextualBody", - "value": "Glove", - "language": "en", - "format": "text/plain" - }, - "target": { - "id": "https://example.org/uuid/ab7f9b03-2c13-416c-85d8-13e4ef6d6a3b", - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ], - "selector": [ - { - "id": "https://example.org/uuid/bfa9c562-3480-4605-aa60-fff02a1d6716", - "type": "PointSelector", - "x": 1.075, - "y": 1.894, - "z": 0.204 - } - ] - } - }, - { - "id": "https://example.org/iiif/3d/comments/2", - "type": "Annotation", - "motivation": ["commenting"], - "body": { - "id": "https://example.org/iiif/3d/comments/2/body", - "type": "TextualBody", - "value": "Helmet", - "language": "en", - "format": "text/plain" - }, - "target": { - "id": "https://example.org/uuid/8e6a68cd-a5be-4661-acc2-a373f2e749ae", - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ], - "selector": [ - { - "id": "https://example.org/uuid/7f940815-62f7-4d99-99e9-2f2a1ba0e7c8", - "type": "PointSelector", - "x": 0.006, - "y": 3.498, - "z": 0.703 - } - ] - } - }, - { - "id": "https://example.org/iiif/3d/activating/1", - "type": "Annotation", - "motivation": ["activating"], - "summary": { "en": ["This annotation with motivation 'activating' links the first comment annotation (for the glove) to its camera. By default, the camera is hidden. Clients are instructed that when the comment annotation is activated through user interaction that the camera annotation should be un-hidden (via enables) and then made the active camera (through the target)."] }, - "body": "https://example.org/iiif/3d/comments/1", - "enables": "https://example.org/iiif/3d/cameras/1", - "target": "https://example.org/iiif/3d/cameras/1" - }, - { - "id": "https://example.org/iiif/3d/activating/2", - "type": "Annotation", - "motivation": ["activating"], - "summary": { "en": ["This annotation with motivation 'activating' links the second comment annotation (for the helmet) to its camera. By default, the camera is hidden. Clients are instructed that when the comment annotation is activated through user interaction that the camera annotation should be un-hidden (via enables) and then made the active camera (through the target)."] }, - "body": "https://example.org/iiif/3d/comments/2", - "enables": "https://example.org/iiif/3d/cameras/2", - "target": "https://example.org/iiif/3d/cameras/2" - } - ] - } - ] - } - ] -} diff --git a/manifests/11_special/zz_infinite_canvas.json b/manifests/11_special/zz_infinite_canvas.json deleted file mode 100644 index e69de29..0000000 diff --git a/manifests/1_basic_model_in_scene/model_origin.json b/manifests/1_basic_model_in_scene/model_origin.json index 4100be5..086ac8d 100644 --- a/manifests/1_basic_model_in_scene/model_origin.json +++ b/manifests/1_basic_model_in_scene/model_origin.json @@ -24,7 +24,7 @@ "format": "model/gltf-binary" }, "target": { - "id" : "https://example.org/iiif/scene1/page/p1/1", + "id" : "https://example.org/iiif/scene1", "type" : "Scene" } } diff --git a/manifests/1_basic_model_in_scene/model_origin_bgcolor.json b/manifests/1_basic_model_in_scene/model_origin_bgcolor.json index 2eed259..c38dc93 100644 --- a/manifests/1_basic_model_in_scene/model_origin_bgcolor.json +++ b/manifests/1_basic_model_in_scene/model_origin_bgcolor.json @@ -25,9 +25,9 @@ "format": "model/gltf-binary" }, "target": { - "id" : "https://example.org/iiif/scene1/page/p1/1", + "id" : "https://example.org/iiif/scene1", "type" : "Scene" - } + } } ] } diff --git a/manifests/2_cameras/perspective_camera.json b/manifests/2_cameras/perspective_camera.json index 44583c0..00ab6e5 100644 --- a/manifests/2_cameras/perspective_camera.json +++ b/manifests/2_cameras/perspective_camera.json @@ -24,8 +24,8 @@ "format": "model/gltf-binary" }, "target": { - "id" : "https://example.org/iiif/scene1", - "type" : "Scene" + "id": "https://example.org/iiif/scene1", + "type": "Scene" } }, { @@ -38,8 +38,8 @@ "label": {"en": ["Perspective Camera 1"]} }, "target": { - "id" : "https://example.org/iiif/scene1", - "type" : "Scene" + "id": "https://example.org/iiif/scene1", + "type": "Scene" } } ] diff --git a/manifests/2_cameras/positioned_camera_lookat_anno.json b/manifests/2_cameras/positioned_camera_lookat_anno.json index 212bfee..212663a 100644 --- a/manifests/2_cameras/positioned_camera_lookat_anno.json +++ b/manifests/2_cameras/positioned_camera_lookat_anno.json @@ -9,7 +9,6 @@ "id": "https://example.org/iiif/scene1", "type": "Scene", "label": { "en": ["Scene with Model and Camera"] }, - "items": [ { "id": "https://example.org/iiif/scene1/page/p1/1", @@ -25,8 +24,8 @@ "format": "model/gltf-binary" }, "target": { - "id" : "https://example.org/iiif/scene1", - "type" : "Scene" + "id": "https://example.org/iiif/scene1", + "type": "Scene" } }, { @@ -49,12 +48,14 @@ "id": "https://example.org/iiif/scene1", "type": "Scene" }, - "selector": { + "selector": [ + { "type": "PointSelector", "x": 0.0, "y": 3.0, "z": -10.0 - } + } + ] } } ] diff --git a/manifests/2_cameras/positioned_camera_lookat_point.json b/manifests/2_cameras/positioned_camera_lookat_point.json index 0ca321d..123fd02 100644 --- a/manifests/2_cameras/positioned_camera_lookat_point.json +++ b/manifests/2_cameras/positioned_camera_lookat_point.json @@ -9,7 +9,6 @@ "id": "https://example.org/iiif/scene1", "type": "Scene", "label": { "en": ["Scene with a Model and Camera Looking at a Point"] }, - "items": [ { "id": "https://example.org/iiif/scene1/page/p1/1", @@ -25,8 +24,8 @@ "format": "model/gltf-binary" }, "target": { - "id" : "https://example.org/iiif/scene1", - "type" : "Scene" + "id": "https://example.org/iiif/scene1", + "type": "Scene" } }, { @@ -53,14 +52,14 @@ "type": "Scene" } , - "selector": + "selector": [ { "type": "PointSelector", "x": 0.0, "y": 3.0, "z": -10.0 } - + ] } } ] diff --git a/manifests/2_cameras/zz_choice_of_cameras.json b/manifests/2_cameras/zz_choice_of_cameras.json index aae6c9e..11aaa53 100644 --- a/manifests/2_cameras/zz_choice_of_cameras.json +++ b/manifests/2_cameras/zz_choice_of_cameras.json @@ -10,7 +10,7 @@ }, "items": [ { - "id": "https://example.org/iiif/scene1/1", + "id": "https://example.org/iiif/scene1", "type": "Scene", "items": [ { @@ -27,11 +27,10 @@ "format": "model/gltf-binary" }, "target": { - "id" : "https://example.org/iiif/scene1/1", - "type" : "Scene" + "id": "https://example.org/iiif/scene1", + "type": "Scene" } }, - { "id": "https://example.org/iiif/3d/anno2", "type": "Annotation", @@ -69,7 +68,7 @@ "id": "https://example.org/iiif/specificresource/1", "type": "SpecificResource", "source": { - "id": "https://example.org/iiif/scene1/1", + "id": "https://example.org/iiif/scene1", "type": "Scene" }, "selector": { diff --git a/manifests/2_cameras/zz_orthographic_camera.json b/manifests/2_cameras/zz_orthographic_camera.json index 147402f..ef2feb4 100644 --- a/manifests/2_cameras/zz_orthographic_camera.json +++ b/manifests/2_cameras/zz_orthographic_camera.json @@ -1,64 +1,65 @@ { - "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/orthographic_camera.json", - "type": "Manifest", - "label": { "en": ["Orthographic Camera"] }, - "summary": { "en": ["Viewer should render the model at the scene origin and an Orthographic camera looking at the model, and add default lighting."] }, - "items": [ - { - "id": "https://example.org/iiif/scene1/scene/1", - "type": "Scene", - "items": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/3d/anno1", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", + "@context": "http://iiif.io/api/presentation/4/context.json", + "id": "https://example.org/iiif/3d/orthographic_camera.json", + "type": "Manifest", + "label": { "en": ["Orthographic Camera"] }, + "summary": { "en": ["Viewer should render the model at the scene origin and an Orthographic camera looking at the model, and add default lighting."] }, + "items": [ + { + "id": "https://example.org/iiif/scene1", + "type": "Scene", + "items": [ + { + "id": "https://example.org/iiif/scene1/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://example.org/iiif/3d/anno1", + "type": "Annotation", + "motivation": ["painting"], + "body": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", + "type": "Model", "format": "model/gltf-binary" - }, - "target": { - "id" : "https://example.org/iiif/scene1/scene/1", - "type" : "Scene" + }, + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } + }, + { + "id": "https://example.org/iiif/3d/anno3", + "type": "Annotation", + "motivation": ["painting"], + "body": { + "id": "https://example.org/iiif/3d/cameras/2", + "type": "OrthographicCamera", + "label": {"en": ["Orthographic Camera 1"]}, + "lookAt": { + "type": "Annotation", + "id": "https://example.org/iiif/3d/anno1" } }, - { - "id": "https://example.org/iiif/3d/anno3", - "type": "Annotation", - "motivation": ["painting"], - "body": { - "id": "https://example.org/iiif/3d/cameras/2", - "type": "OrthographicCamera", - "label": {"en": ["Orthographic Camera 1"]}, - "lookAt": { - "type": "Annotation", - "id": "https://example.org/iiif/3d/anno1" - } + "target": { + "id": "https://example.org/iiif/3d/anno3/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" }, - "target": { - "id" : "https://example.org/iiif/specificresource/1", - "type": "SpecificResource", - "source": { - "id": "https://example.org/iiif/scene1/scene/1", - "type": "Scene" - }, - "selector":{ - "type": "PointSelector", - "x": 0.0, - "y": 3.0, - "z": -10.0 + "selector": [ + { + "type": "PointSelector", + "x": 0.0, + "y": 3.0, + "z": -10.0 } - } + ] } - ] - } - ] - } - ] - } - \ No newline at end of file + } + ] + } + ] + } + ] +} diff --git a/manifests/3_lights/ambient_green_light.json b/manifests/3_lights/ambient_green_light.json index aab3df3..391ea10 100644 --- a/manifests/3_lights/ambient_green_light.json +++ b/manifests/3_lights/ambient_green_light.json @@ -23,7 +23,10 @@ "type": "Model", "format": "model/gltf-binary" }, - "target": "https://example.org/iiif/scene1" + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } }, { "id": "https://example.org/iiif/3d/anno2", @@ -34,9 +37,12 @@ "type": "AmbientLight", "label": {"en": ["Ambient Green Light"]}, "color": "#00FF00", - "intensity": {"type": "Value", "value": 0.5, "unit": "relative"} + "intensity": {"type": "Quantity", "quantityValue": 0.5, "unit": "relative"} }, - "target": "https://example.org/iiif/scene1" + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } } ] } diff --git a/manifests/3_lights/direction_light_lookat_positioned.json b/manifests/3_lights/direction_light_lookat_positioned.json index f539daf..5df4511 100644 --- a/manifests/3_lights/direction_light_lookat_positioned.json +++ b/manifests/3_lights/direction_light_lookat_positioned.json @@ -9,7 +9,6 @@ "id": "https://example.org/iiif/scene1", "type": "Scene", "label": { "en": ["Scene with Model and DirectionalLight"] }, - "items": [ { "id": "https://example.org/iiif/scene1/page/p1/1", @@ -24,22 +23,26 @@ "type": "Model", "format": "model/gltf-binary" }, - "target": "https://example.org/iiif/scene1" + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } }, { "id": "https://example.org/iiif/3d/anno2", "type": "Annotation", "motivation": ["painting"], "body": { - "id": "https://example.org/iiif/3d/lights/1", - "type": "DirectionalLight", - "label": {"en": ["Directional Light 1"]}, - "lookAt": { - "id": "https://example.org/iiif/3d/anno1", - "type": "Annotation" - } + "id": "https://example.org/iiif/3d/lights/1", + "type": "DirectionalLight", + "label": {"en": ["Directional Light 1"]}, + "lookAt": { + "id": "https://example.org/iiif/3d/anno1", + "type": "Annotation" + } }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", "source": { "id": "https://example.org/iiif/scene1", diff --git a/manifests/3_lights/direction_light_transform_rotate.json b/manifests/3_lights/direction_light_transform_rotate.json index 8b3f756..f63a630 100644 --- a/manifests/3_lights/direction_light_transform_rotate.json +++ b/manifests/3_lights/direction_light_transform_rotate.json @@ -9,7 +9,6 @@ "id": "https://example.org/iiif/scene1", "type": "Scene", "label": { "en": ["Scene with Model and Rotated DirectionalLight"] }, - "items": [ { "id": "https://example.org/iiif/scene1/page/p1/1", @@ -24,28 +23,30 @@ "type": "Model", "format": "model/gltf-binary" }, - "target": "https://example.org/iiif/scene1" + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } }, { "id": "https://example.org/iiif/3d/anno2", "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno2/body", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/3d/lights/1", - "type": "DirectionalLight", - "label": {"en": ["Directional Light 1"]} - } - ], + "source": { + "id": "https://example.org/iiif/3d/lights/1", + "type": "DirectionalLight", + "label": {"en": ["Directional Light 1"]} + }, "transform": [ { "type": "RotateTransform", "x": 30, "y": 0, "z": 0 - } + } ] }, "target": { diff --git a/manifests/3_lights/multiple_lights_with_intensities_and_colors.json b/manifests/3_lights/multiple_lights_with_intensities_and_colors.json index 5330cb3..3b85c76 100644 --- a/manifests/3_lights/multiple_lights_with_intensities_and_colors.json +++ b/manifests/3_lights/multiple_lights_with_intensities_and_colors.json @@ -1,6 +1,6 @@ { "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/model_origin.json", + "id": "https://example.org/iiif/3d/multiple_lights_with_intensities_and_colors.json", "type": "Manifest", "label": { "en": [ @@ -9,12 +9,12 @@ }, "summary": { "en": [ - "Viewer should render the model at the scene origin, and then viewer should add one red spotlight pointing at the front of the helmet, one blue spotlight point at the front-center of the model, and an ambient green light source. The viewer should add a default camera but NOT any other lighting." + "Viewer should render the model at the scene origin, and then viewer should add one red spotlight pointing at the front of the helmet, one blue spotlight point at the front-center of the model, and an ambient green light source. The viewer should add a default camera but NOT any other lighting." ] }, "items": [ { - "id": "https://example.org/iiif/scene1/page/p1/1", + "id": "https://example.org/iiif/scene1", "type": "Scene", "label": { "en": [ @@ -30,23 +30,20 @@ { "id": "https://example.org/iiif/3d/anno1", "type": "Annotation", - "motivation": [ - "painting" - ], + "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno1/body", "type": "SpecificResource", "source": { "id": "https://example.org/iiif/3d/lights/1", "type": "SpotLight", "label": { - "en": [ - "Red Spot Light" - ] + "en": ["Red Spot Light"] }, "color": "#ff0000", "intensity": { - "type": "Value", - "value": 100, + "type": "Quantity", + "quantityValue": 1.0, "unit": "relative" }, "angle": 5 @@ -67,69 +64,61 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ] + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } } }, { "id": "https://example.org/iiif/3d/anno2", "type": "Annotation", - "motivation": [ - "painting" - ], + "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno2/body", "type": "SpecificResource", "source": { - "id": "https://example.org/iiif/3d/lights/1", + "id": "https://example.org/iiif/3d/lights/2", "type": "AmbientLight", "label": { - "en": [ - "Green Ambient Light" - ] + "en": ["Green Ambient Light"] }, "color": "#7aff40", "intensity": { - "type": "Value", - "value": 0.5, + "type": "Quantity", + "quantityValue": 0.5, "unit": "relative" } } }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ] + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } } }, { "id": "https://example.org/iiif/3d/anno3", "type": "Annotation", - "motivation": [ - "painting" - ], + "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno3/body", "type": "SpecificResource", "source": { - "id": "https://example.org/iiif/3d/lights/1", + "id": "https://example.org/iiif/3d/lights/3", "type": "SpotLight", "label": { - "en": [ - "Blue Spot Light" - ] + "en": ["Blue Spot Light"] }, "color": "#0f00ff", "intensity": { - "type": "Value", - "value": 10, + "type": "Quantity", + "quantityValue": 1.0, "unit": "relative" }, "angle": 5 @@ -150,42 +139,37 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno3/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ] + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } } }, { "id": "https://example.org/iiif/3d/anno4", "type": "Annotation", - "motivation": [ - "painting" - ], + "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno4/body", "type": "SpecificResource", "source": { "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", "type": "Model", "label": { - "en": [ - "Astronaut" - ] + "en": ["Astronaut"] }, "format": "model/gltf-binary" } }, "target": { + "id": "https://example.org/iiif/3d/anno4/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ] + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } } } ] @@ -193,4 +177,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/manifests/4_transform_and_position/model_position.json b/manifests/4_transform_and_position/model_position.json index 8652fad..37e0587 100644 --- a/manifests/4_transform_and_position/model_position.json +++ b/manifests/4_transform_and_position/model_position.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/4_transform_and_position/model_transform_negative_scale_position.json b/manifests/4_transform_and_position/model_transform_negative_scale_position.json index b3fa8bf..77c32fd 100644 --- a/manifests/4_transform_and_position/model_transform_negative_scale_position.json +++ b/manifests/4_transform_and_position/model_transform_negative_scale_position.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -46,14 +45,13 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno2/body", "type": "SpecificResource", - "source": [ - { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" - } - ], + "source": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", + "type": "Model", + "format": "model/gltf-binary" + }, "transform": [ { "type": "ScaleTransform", @@ -64,13 +62,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/4_transform_and_position/model_transform_rotate_position.json b/manifests/4_transform_and_position/model_transform_rotate_position.json index 35d224e..a61ab04 100644 --- a/manifests/4_transform_and_position/model_transform_rotate_position.json +++ b/manifests/4_transform_and_position/model_transform_rotate_position.json @@ -19,14 +19,13 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno1/body", "type": "SpecificResource", - "source": [ - { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" - } - ], + "source": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", + "type": "Model", + "format": "model/gltf-binary" + }, "transform": [ { "type": "RotateTransform", @@ -37,13 +36,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/4_transform_and_position/model_transform_rotate_translate_position.json b/manifests/4_transform_and_position/model_transform_rotate_translate_position.json index 2bcdc50..a667e54 100644 --- a/manifests/4_transform_and_position/model_transform_rotate_translate_position.json +++ b/manifests/4_transform_and_position/model_transform_rotate_translate_position.json @@ -19,14 +19,13 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno1/body", "type": "SpecificResource", - "source": [ - { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" - } - ], + "source": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", + "type": "Model", + "format": "model/gltf-binary" + }, "transform": [ { "type": "RotateTransform", @@ -43,13 +42,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/4_transform_and_position/model_transform_scale_position.json b/manifests/4_transform_and_position/model_transform_scale_position.json index e7821e5..ee9ddb8 100644 --- a/manifests/4_transform_and_position/model_transform_scale_position.json +++ b/manifests/4_transform_and_position/model_transform_scale_position.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -46,14 +45,13 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno2/body", "type": "SpecificResource", - "source": [ - { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" - } - ], + "source": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", + "type": "Model", + "format": "model/gltf-binary" + }, "transform": [ { "type": "TranslateTransform", @@ -70,13 +68,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/4_transform_and_position/model_transform_scale_translate_position.json b/manifests/4_transform_and_position/model_transform_scale_translate_position.json index faa9979..a894bd5 100644 --- a/manifests/4_transform_and_position/model_transform_scale_translate_position.json +++ b/manifests/4_transform_and_position/model_transform_scale_translate_position.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -46,14 +45,13 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno2/body", "type": "SpecificResource", - "source": [ - { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" - } - ], + "source": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", + "type": "Model", + "format": "model/gltf-binary" + }, "transform": [ { "type": "ScaleTransform", @@ -70,13 +68,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/4_transform_and_position/model_transform_translate_rotate_position.json b/manifests/4_transform_and_position/model_transform_translate_rotate_position.json index d09d24d..695d7c8 100644 --- a/manifests/4_transform_and_position/model_transform_translate_rotate_position.json +++ b/manifests/4_transform_and_position/model_transform_translate_rotate_position.json @@ -19,14 +19,13 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno1/body", "type": "SpecificResource", - "source": [ - { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" - } - ], + "source": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", + "type": "Model", + "format": "model/gltf-binary" + }, "transform": [ { "type": "TranslateTransform", @@ -43,13 +42,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/4_transform_and_position/model_transform_translate_scale_position.json b/manifests/4_transform_and_position/model_transform_translate_scale_position.json index d27706d..e8105cb 100644 --- a/manifests/4_transform_and_position/model_transform_translate_scale_position.json +++ b/manifests/4_transform_and_position/model_transform_translate_scale_position.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -46,14 +45,13 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno2/body", "type": "SpecificResource", - "source": [ - { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" - } - ], + "source": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", + "type": "Model", + "format": "model/gltf-binary" + }, "transform": [ { "type": "ScaleTransform", @@ -64,13 +62,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/4_transform_and_position/tipped_and_rotated_astronaut.json b/manifests/4_transform_and_position/tipped_and_rotated_astronaut.json index 4dce33f..7d85a47 100644 --- a/manifests/4_transform_and_position/tipped_and_rotated_astronaut.json +++ b/manifests/4_transform_and_position/tipped_and_rotated_astronaut.json @@ -1,12 +1,12 @@ { "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/model_origin.json", + "id": "https://example.org/iiif/3d/tipped_and_rotated_astronaut.json", "type": "Manifest", "label": { "en": ["glTF rotation property - IIIF transform demonstration"] }, "summary": { "en": ["Astronaut with rotation property defined in glb file and counteracting IIIF transform"] }, "items": [ { - "id": "https://example.org/iiif/scene1/page/p1/1", + "id": "https://example.org/iiif/scene1", "type": "Scene", "label": { "en": ["A Scene"] }, "items": [ @@ -19,47 +19,50 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno2/body", "type": "SpecificResource", - "source" : { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/tipped_astronaut.glb", - "type": "Model", - "format": "model/gltf-binary" + "source": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/tipped_astronaut.glb", + "type": "Model", + "format": "model/gltf-binary" }, - "transform" : [ - { - "type": "RotateTransform", - "x" : 15, - "y" : 20, - "z" : 35 - } + "transform": [ + { + "type": "RotateTransform", + "x": 15, + "y": 20, + "z": 35 + } ] }, - "target": "https://example.org/iiif/scene1/page/p1/1" + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } }, { "id": "https://example.org/iiif/3d/anno1", "type": "Annotation", "motivation": ["painting"], - "body": { - "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/lamp_post/lamp_post.glb", + "body": { + "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/lamp_post/lamp_post.glb", "type": "Model", "format": "model/gltf-binary", - "rights" : "https://creativecommons.org/licenses/by/4.0/", - "metadata" : [ - { - "label": { "en": [ "Attribution" ] }, - "value": { "none": [ "https://sketchfab.com/3d-models/old-fashioned-streetlamp-e98ebb84f03142618eb958817fe86967" ] } - } + "rights": "https://creativecommons.org/licenses/by/4.0/", + "metadata": [ + { + "label": { "en": ["Attribution"] }, + "value": { "none": ["https://sketchfab.com/3d-models/old-fashioned-streetlamp-e98ebb84f03142618eb958817fe86967"] } + } ] }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -70,7 +73,6 @@ ] } } - ] } ] diff --git a/manifests/4_transform_and_position/tipped_astronaut.json b/manifests/4_transform_and_position/tipped_astronaut.json index 3c5ecba..ea9cda0 100644 --- a/manifests/4_transform_and_position/tipped_astronaut.json +++ b/manifests/4_transform_and_position/tipped_astronaut.json @@ -1,12 +1,12 @@ { "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/model_origin.json", + "id": "https://example.org/iiif/3d/tipped_astronaut.json", "type": "Manifest", "label": { "en": ["glTF rotation property demonstration"] }, "summary": { "en": ["Astronaut with rotation property defined in glb file"] }, "items": [ { - "id": "https://example.org/iiif/scene1/page/p1/1", + "id": "https://example.org/iiif/scene1", "type": "Scene", "label": { "en": ["A Scene"] }, "items": [ @@ -22,8 +22,11 @@ "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/tipped_astronaut.glb", "type": "Model", "format": "model/gltf-binary" - }, - "target": "https://example.org/iiif/scene1/page/p1/1" + }, + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } }, { "id": "https://example.org/iiif/3d/anno1", @@ -33,22 +36,21 @@ "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/lamp_post/lamp_post.glb", "type": "Model", "format": "model/gltf-binary", - "rights" : "https://creativecommons.org/licenses/by/4.0/", - "metadata" : [ - { - "label": { "en": [ "Attribution" ] }, - "value": { "none": [ "https://sketchfab.com/3d-models/old-fashioned-streetlamp-e98ebb84f03142618eb958817fe86967" ] } - } + "rights": "https://creativecommons.org/licenses/by/4.0/", + "metadata": [ + { + "label": { "en": ["Attribution"] }, + "value": { "none": ["https://sketchfab.com/3d-models/old-fashioned-streetlamp-e98ebb84f03142618eb958817fe86967"] } + } ] }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -59,7 +61,6 @@ ] } } - ] } ] diff --git a/manifests/4_transform_and_position/whale_cranium_and_mandible_position.json b/manifests/4_transform_and_position/whale_cranium_and_mandible_position.json index d56039a..2c8830b 100644 --- a/manifests/4_transform_and_position/whale_cranium_and_mandible_position.json +++ b/manifests/4_transform_and_position/whale_cranium_and_mandible_position.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -51,13 +50,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/6_2d_canvases_in_scene/iiif_canvas_with_bgcolor_backward.json b/manifests/6_2d_canvases_in_scene/iiif_canvas_with_bgcolor_backward.json index b8a646c..618af9e 100644 --- a/manifests/6_2d_canvases_in_scene/iiif_canvas_with_bgcolor_backward.json +++ b/manifests/6_2d_canvases_in_scene/iiif_canvas_with_bgcolor_backward.json @@ -37,8 +37,8 @@ "format": "model/gltf-binary" }, "target": { - "id" : "https://example.org/iiif/scene1", - "type" : "Scene" + "id": "https://example.org/iiif/scene1", + "type": "Scene" } }, { @@ -50,6 +50,7 @@ "type": "Canvas" }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", "source": { "id": "https://example.org/iiif/scene1", @@ -97,10 +98,13 @@ } ] }, - "target": "https://example.org/iiif/canvas/1" + "target": { + "id": "https://example.org/iiif/canvas/1", + "type": "Canvas" + } } ] - } + } ] } ] diff --git a/manifests/6_2d_canvases_in_scene/iiif_canvas_with_bgcolor_forward.json b/manifests/6_2d_canvases_in_scene/iiif_canvas_with_bgcolor_forward.json index 64f4a4d..d828106 100644 --- a/manifests/6_2d_canvases_in_scene/iiif_canvas_with_bgcolor_forward.json +++ b/manifests/6_2d_canvases_in_scene/iiif_canvas_with_bgcolor_forward.json @@ -36,7 +36,10 @@ "type": "Model", "format": "model/gltf-binary" }, - "target": "https://example.org/iiif/scene1" + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } }, { "id": "https://example.org/iiif/3d/anno2", @@ -47,6 +50,7 @@ "type": "Canvas" }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", "source": { "id": "https://example.org/iiif/scene1", @@ -94,10 +98,13 @@ } ] }, - "target": "https://example.org/iiif/canvas/1" + "target": { + "id": "https://example.org/iiif/canvas/1", + "type": "Canvas" + } } ] - } + } ] } ] diff --git a/manifests/8_scenes_with_duration/zz_comment_at_t_pointselector.json b/manifests/8_scenes_with_duration/zz_comment_at_t_pointselector.json deleted file mode 100644 index e69de29..0000000 diff --git a/manifests/8_scenes_with_duration/zz_compact_frag_syntax.json b/manifests/8_scenes_with_duration/zz_compact_frag_syntax.json deleted file mode 100644 index e69de29..0000000 diff --git a/manifests/8_scenes_with_duration/zz_video_on_iiif_canvas_in_scene_refinedby_t_mediafrag.json b/manifests/8_scenes_with_duration/zz_video_on_iiif_canvas_in_scene_refinedby_t_mediafrag.json deleted file mode 100644 index e69de29..0000000 diff --git a/manifests/9_commenting_annotations/astronaut_comment.json b/manifests/9_commenting_annotations/astronaut_comment.json index ca32753..7870963 100644 --- a/manifests/9_commenting_annotations/astronaut_comment.json +++ b/manifests/9_commenting_annotations/astronaut_comment.json @@ -23,7 +23,10 @@ "type": "Model", "format": "model/gltf-binary" }, - "target": "https://example.org/iiif/scene1" + "target": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + } } ] } @@ -37,15 +40,17 @@ "id": "https://example.org/iiif/3d/anno2", "type": "Annotation", "motivation": ["commenting"], - "bodyValue": "Glove", + "body": { + "type": "TextualBody", + "value": "Glove" + }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -60,15 +65,17 @@ "id": "https://example.org/iiif/3d/anno3", "type": "Annotation", "motivation": ["commenting"], - "bodyValue": "Helmet", + "body": { + "type": "TextualBody", + "value": "Helmet" + }, "target": { + "id": "https://example.org/iiif/3d/anno3/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/9_commenting_annotations/astronaut_multilingual_comment.json b/manifests/9_commenting_annotations/astronaut_multilingual_comment.json index 672ad2f..2c1789a 100644 --- a/manifests/9_commenting_annotations/astronaut_multilingual_comment.json +++ b/manifests/9_commenting_annotations/astronaut_multilingual_comment.json @@ -1,24 +1,19 @@ { "@context": "http://iiif.io/api/presentation/4/context.json", - "id": "https://example.org/iiif/3d/model_origin.json", + "id": "https://example.org/iiif/3d/astronaut_multilingual_comment.json", "type": "Manifest", "label": { - "en": [ - "Single Model with Multilingual Comment Annotations" - ] + "en": ["Single Model with Multilingual Comment Annotations"], + "es": ["Modelo único con anotaciones de comentarios multilingüe"] }, "summary": { "en": ["Viewer should render the model at the scene origin and two multilingual comment annotations, one targeting a point near the astronaut's glove and the other targeting a point near the astronaut's helmet."] }, "items": [ { - "id": "https://example.org/iiif/scene1/page/p1/1", + "id": "https://example.org/iiif/scene1", "type": "Scene", "label": { - "en": [ - "Single Model with Comment Annotations" - ], - "es": [ - "Modelo único con anotaciones de comentarios" - ] + "en": ["Single Model with Comment Annotations"], + "es": ["Modelo único con anotaciones de comentarios"] }, "backgroundColor": "#33404d", "items": [ @@ -29,30 +24,22 @@ { "id": "https://example.org/iiif/3d/anno1", "type": "Annotation", - "motivation": [ - "painting" - ], + "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno1/body", "type": "SpecificResource", "source": { "id": "https://raw.githubusercontent.com/IIIF/3d/main/assets/astronaut/astronaut.glb", "type": "Model", "label": { - "en": [ - "Astronaut" - ] + "en": ["Astronaut"] }, "format": "model/gltf-binary" } }, "target": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" - } - ] + "id": "https://example.org/iiif/scene1", + "type": "Scene" } } ] @@ -66,36 +53,31 @@ { "id": "https://example.org/iiif/3d/anno2", "type": "Annotation", - "motivation": [ - "commenting" - ], - "body": [ - { - "type": "Choice", - "items": [ - { - "type": "TextualBody", - "value": "Glove", - "language": "en", - "format": "text/plain" - }, - { - "type": "TextualBody", - "value": "Guante", - "language": "es", - "format": "text/plain" - } - ] - } - ], - "target": { - "type": "SpecificResource", - "source": [ + "motivation": ["commenting"], + "body": { + "type": "Choice", + "items": [ + { + "type": "TextualBody", + "value": "Glove", + "language": ["en"], + "format": "text/plain" + }, { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" + "type": "TextualBody", + "value": "Guante", + "language": ["es"], + "format": "text/plain" } - ], + ] + }, + "target": { + "id": "https://example.org/iiif/3d/anno2/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -107,38 +89,33 @@ } }, { - "id": "https://example.org/iiif/3d/anno2", + "id": "https://example.org/iiif/3d/anno3", "type": "Annotation", - "motivation": [ - "commenting" - ], - "body": [ - { - "type": "Choice", - "items": [ - { - "type": "TextualBody", - "value": "Helmet", - "language": "en", - "format": "text/plain" - }, - { - "type": "TextualBody", - "value": "Casco", - "language": "es", - "format": "text/plain" - } - ] - } - ], - "target": { - "type": "SpecificResource", - "source": [ + "motivation": ["commenting"], + "body": { + "type": "Choice", + "items": [ { - "id": "https://example.org/iiif/scene1/page/p1/1", - "type": "Scene" + "type": "TextualBody", + "value": "Helmet", + "language": ["en"], + "format": "text/plain" + }, + { + "type": "TextualBody", + "value": "Casco", + "language": ["es"], + "format": "text/plain" } - ], + ] + }, + "target": { + "id": "https://example.org/iiif/3d/anno3/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -154,4 +131,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/manifests/9_commenting_annotations/whale_comment.json b/manifests/9_commenting_annotations/whale_comment.json index 5520573..bcde67a 100644 --- a/manifests/9_commenting_annotations/whale_comment.json +++ b/manifests/9_commenting_annotations/whale_comment.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -51,13 +50,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -80,15 +78,17 @@ "id": "https://example.org/iiif/3d/anno3", "type": "Annotation", "motivation": ["commenting"], - "bodyValue": "Right pterygoid hamulus", + "body": { + "type": "TextualBody", + "value": "Right pterygoid hamulus" + }, "target": { + "id": "https://example.org/iiif/3d/anno3/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -96,7 +96,7 @@ "y": 0.063, "z": -0.066 } - ] + ] } } ] diff --git a/manifests/9_commenting_annotations/whale_comment_camera.json b/manifests/9_commenting_annotations/whale_comment_camera.json index d7e1592..dfd6e51 100644 --- a/manifests/9_commenting_annotations/whale_comment_camera.json +++ b/manifests/9_commenting_annotations/whale_comment_camera.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -51,13 +50,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -73,17 +71,16 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno4/body", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/3d/cameras/1", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, - "fieldOfView": 50.0, - "near": 0.10, - "far": 2000.0 - } - ], + "source": { + "id": "https://example.org/iiif/3d/cameras/1", + "type": "PerspectiveCamera", + "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, + "fieldOfView": 50.0, + "near": 0.10, + "far": 2000.0 + }, "transform": [ { "type": "RotateTransform", @@ -94,13 +91,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno4/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -123,15 +119,17 @@ "id": "https://example.org/iiif/3d/anno3", "type": "Annotation", "motivation": ["commenting"], - "bodyValue": "Right pterygoid hamulus", + "body": { + "type": "TextualBody", + "value": "Right pterygoid hamulus" + }, "target": { + "id": "https://example.org/iiif/3d/anno3/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/9_commenting_annotations/whale_comment_label_body_position.json b/manifests/9_commenting_annotations/whale_comment_label_body_position.json index 074a9ac..ccc4bd2 100644 --- a/manifests/9_commenting_annotations/whale_comment_label_body_position.json +++ b/manifests/9_commenting_annotations/whale_comment_label_body_position.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -51,13 +50,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -73,17 +71,16 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno4/body", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/3d/cameras/1", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, - "fieldOfView": 50.0, - "near": 0.10, - "far": 2000.0 - } - ], + "source": { + "id": "https://example.org/iiif/3d/cameras/1", + "type": "PerspectiveCamera", + "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, + "fieldOfView": 50.0, + "near": 0.10, + "far": 2000.0 + }, "transform": [ { "type": "RotateTransform", @@ -94,13 +91,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno4/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -114,7 +110,7 @@ ] } ], - "annotations" : [ + "annotations": [ { "id": "https://example.org/iiif/scene1/page/p2/1", "type": "AnnotationPage", @@ -124,32 +120,34 @@ "type": "Annotation", "motivation": ["commenting"], "body": { - "type" : "TextualBody", - "value" : "
Right pterygoid hamulus
", - "format" : "text/html", - "language" : "en", - "position": { - "type": "SpecificResource", - "source": [{ - "id": "https://example.org/iiif/scene1", - "type": "Scene" - }], - "selector": [{ + "type": "TextualBody", + "value": "Right pterygoid hamulus
", + "format": "text/html", + "language": ["en"], + "position": { + "id": "https://example.org/iiif/3d/anno3/body/position", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { "type": "PointSelector", "x": 0.040, "y": 0.0, "z": -0.066 - }] - } + } + ] + } }, "target": { + "id": "https://example.org/iiif/3d/anno3/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/9_commenting_annotations/whale_comment_label_body_position_rotate.json b/manifests/9_commenting_annotations/whale_comment_label_body_position_rotate.json index c321ac0..f71ea79 100644 --- a/manifests/9_commenting_annotations/whale_comment_label_body_position_rotate.json +++ b/manifests/9_commenting_annotations/whale_comment_label_body_position_rotate.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -51,13 +50,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -73,17 +71,16 @@ "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno4/body", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/3d/cameras/1", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, - "fieldOfView": 50.0, - "near": 0.10, - "far": 2000.0 - } - ], + "source": { + "id": "https://example.org/iiif/3d/cameras/1", + "type": "PerspectiveCamera", + "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, + "fieldOfView": 50.0, + "near": 0.10, + "far": 2000.0 + }, "transform": [ { "type": "RotateTransform", @@ -94,13 +91,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno4/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -124,38 +120,42 @@ "type": "Annotation", "motivation": ["commenting"], "body": { - "type" : "TextualBody", - "value" : "Right pterygoid hamulus
", - "format" : "text/html", - "language" : "en", - "position": { - "type": "SpecificResource", - "source": [{ - "id": "https://example.org/iiif/scene1", - "type": "Scene" - }], - "selector": [{ + "type": "TextualBody", + "value": "Right pterygoid hamulus
", + "format": "text/html", + "language": ["en"], + "position": { + "id": "https://example.org/iiif/3d/anno3/body/position", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ + { "type": "PointSelector", "x": 0.040, "y": 0.0, "z": -0.066 - }], - "transform": [{ - "type": "RotateTransform", - "x": 0.0, - "y": 180.0, - "z": 0.0 - }] - } + } + ], + "transform": [ + { + "type": "RotateTransform", + "x": 0.0, + "y": 180.0, + "z": 0.0 + } + ] + } }, "target": { + "id": "https://example.org/iiif/3d/anno3/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", diff --git a/manifests/9_commenting_annotations/whale_comment_point_polygon.json b/manifests/9_commenting_annotations/whale_comment_point_polygon.json index 76e59a0..bd646a0 100644 --- a/manifests/9_commenting_annotations/whale_comment_point_polygon.json +++ b/manifests/9_commenting_annotations/whale_comment_point_polygon.json @@ -24,13 +24,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno1/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -51,13 +50,12 @@ "format": "model/gltf-binary" }, "target": { + "id": "https://example.org/iiif/3d/anno2/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -68,45 +66,21 @@ ] } }, - { - "id": "https://example.org/iiif/3d/anno3", - "type": "Annotation", - "motivation": ["commenting"], - "bodyValue": "Right pterygoid hamulus", - "target": { - "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], - "selector": [ - { - "type": "PointSelector", - "x": 0.040, - "y": 0.063, - "z": -0.066 - } - ] - } - }, { "id": "https://example.org/iiif/3d/anno5", "type": "Annotation", "motivation": ["painting"], "body": { + "id": "https://example.org/iiif/3d/anno5/body", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/3d/cameras/1", - "type": "PerspectiveCamera", - "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, - "fieldOfView": 50.0, - "near": 0.10, - "far": 2000.0 - } - ], + "source": { + "id": "https://example.org/iiif/3d/cameras/1", + "type": "PerspectiveCamera", + "label": {"en": ["Perspective Camera Pointed At Pterygoid Hamulus"]}, + "fieldOfView": 50.0, + "near": 0.10, + "far": 2000.0 + }, "transform": [ { "type": "RotateTransform", @@ -117,13 +91,12 @@ ] }, "target": { + "id": "https://example.org/iiif/3d/anno5/target", "type": "SpecificResource", - "source": [ - { - "id": "https://example.org/iiif/scene1", - "type": "Scene" - } - ], + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { "type": "PointSelector", @@ -143,21 +116,48 @@ "type": "AnnotationPage", "items": [ { - "id": "https://example.org/iiif/3d/anno4", + "id": "https://example.org/iiif/3d/anno3", "type": "Annotation", "motivation": ["commenting"], - "bodyValue": "Foramen magnum", + "body": { + "type": "TextualBody", + "value": "Right pterygoid hamulus" + }, "target": { + "id": "https://example.org/iiif/3d/anno3/target", "type": "SpecificResource", - "source": [ + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, + "selector": [ { - "id": "https://example.org/iiif/scene1", - "type": "Scene" + "type": "PointSelector", + "x": 0.040, + "y": 0.063, + "z": -0.066 } - ], + ] + } + }, + { + "id": "https://example.org/iiif/3d/anno4", + "type": "Annotation", + "motivation": ["commenting"], + "body": { + "type": "TextualBody", + "value": "Foramen magnum" + }, + "target": { + "id": "https://example.org/iiif/3d/anno4/target", + "type": "SpecificResource", + "source": { + "id": "https://example.org/iiif/scene1", + "type": "Scene" + }, "selector": [ { - "type": "WKTSelector", + "type": "WktSelector", "value": "POLYGON Z ((0 0.18 -0.23, -0.03 0.16 -0.23, -0.015 0.12 -0.23, 0.006 0.12 -0.23, 0.027 0.16 -0.230))" } ] diff --git a/manifests/TODO.md b/manifests/TODO.md new file mode 100644 index 0000000..6714b77 --- /dev/null +++ b/manifests/TODO.md @@ -0,0 +1,23 @@ +# TODO: Missing Placeholder Manifests + +The following manifest files were removed because they were empty and caused the IIIF Presentation API 4.0 validator to report errors. It should be considered whether they should be implemented and added back in the future. + +## Removed Files + +### `8_scenes_with_duration/` + +- **`zz_comment_at_t_pointselector.json`** — A scene with duration demonstrating + a commenting annotation targeted at a specific time point using a PointSelector + with a temporal component. + +- **`zz_compact_frag_syntax.json`** — A scene with duration demonstrating the + compact fragment syntax for targeting temporal segments of a timed scene. + +- **`zz_video_on_iiif_canvas_in_scene_refinedby_t_mediafrag.json`** — A scene + containing a video on a IIIF Canvas, with a media fragment selector used to + refine the target by time (`t=`). + +### `11_special/` + +- **`zz_infinite_canvas.json`** — A manifest demonstrating an infinite canvas + use case (details TBD).