Skip to content

Commit 3dab643

Browse files
Merge pull request #2460 from IIIF/mar30_nesting
Update nesting to be real UC, and move above 3D
2 parents 06693e0 + 31b943e commit 3dab643

1 file changed

Lines changed: 17 additions & 41 deletions

File tree

source/presentation/4.0/index.md

Lines changed: 17 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ This document acts as an introduction to the specification through a set of typi
150150
3. **Periodical** - a IIIF Collection that provides multiple child Collections and Manifests, representing the publication run of a newspaper over many years. The IIIF model provides structural elements to indicate individual articles and other elements.
151151
4. **45 Single** - a Manifest that represents the digitized audio from the two sides of a vinyl 7 inch record.
152152
5. **Movie** - a Manifest that represents the digitized video of a film. A transcript of the audio is provided as Web Annotations, and additional machine-readable files provide subtitles and captions.
153-
6. **3D Chessboard** - a Manifest that represents the 3D modeling of a chessboard with increasing complexity and richness
154-
7. **Composite of Two Canvases** - TODO REDESCRIBE?: a Manifest that combines two Canvases, each representing a single image, displayed jointly in a single Canvas through Container nesting.{: .warning}
153+
6. **Reconstruction of a Separated Object** - a Manifest that represents a view of two separated parts, now in different repositories with their own transcriptions
154+
7. **3D Chessboard** - a Manifest that represents the 3D modeling of a chessboard with increasing complexity and richness
155155
8. **Commenting on Specific Features** - a Manifest that represents a painting, similar to Use Case 1, with a comment that discusses part of it.
156156
9. **Interactive Light Switch** - a Manifest that represents a Scene containing a light and a 3D model of a light switch, where a user can click or otherwise interact with the switch to turn the light on and off.
157157

@@ -469,29 +469,32 @@ Classes: [Manifest][prezi-40-model-Manifest], [Canvas][prezi-40-model-Canvas], [
469469
Properties: [fileSize](model/#fileSize), [format][prezi-40-model-format], [provides][prezi-40-model-provides], [timeMode][prezi-40-model-timeMode], [behavior][prezi-40-model-behavior], [placeholderContainer][prezi-40-model-placeholderContainer]
470470
{: .note}
471471

472-
# 3D Content
473472

474-
<!--
473+
# Nesting Containers
475474

476-
// Move to sections where we talk about these
475+
A Container can be painted into another Container as an Annotation with [`motivation`][prezi-40-model-motivation] "painting". For example, a Timeline may be painted into a Canvas, a Canvas may be painted into another Canvas, a Canvas may be painted into a Scene (described in the following section about 3D), and a Scene may be painted into another Scene. Multiple Containers may be hierarchically nested within each other, and so the list of examples above could be implemented as a single nesting sequence of five Containers.
477476

478-
Due to particular considerations of 3D space and rendering content within that space, such as scaling or textures with forward and backward faces, non-3D Content Resources must first be wrapped within an appropriate Container or Resource before being painted into a Scene. Image and video resources should be painted on to a Canvas, where the Canvas can in turn be painted into a Scene.
479-
For further detail about painting Containers within other Containers, see [Nesting](#nesting).
477+
## Use Case 6: Reconstruction of a Separated Object
480478

481-
Audio resources or Timelines should be referenced by an AudioEmitter and the AudioEmitter can be painted into a Scene.
479+
Physical objects such as books, or even individual sheets, can be dispersed amongst multiple institutions, each of which digitizes and publishes the parts of the original that they look after. However, in order to reconstruct how a book might have looked in the past at a particular opening, along with all of the other commentary and other digital affordances available via IIIF, it is possible to embed the Canvas representing the left hand page from one organization, and the Canvas representing the right hand page from another organization, into a single larger Canvas representing the spread.
482480

483-
-->
481+
This example is a Manifest with a Canvas that has two page images displayed side by side. However, instead of painting the images directly as Annotations, each image is painted on to a separate Canvas, and each Canvas is painted into the Manifest Canvas. A practical application of this would be where the single-image Canvases have been created previously and are hosted separately from the Manifest's composite-image Canvas and those Canvases have transcriptions, translations, commentary or other annotations aligned with the image.
484482

485-
<!--
483+
{% include code_example.html src="uc07_image_composite.json" %}
484+
485+
>
486+
**Key Points**
487+
* The Manifest contains a single Canvas, which has a single Annotation Page, and two painting annotations.
488+
* Each painting annotation defines a Canvas with its own Annotation Page and a single image annotation. Alternately, each painting annotation could reference an external Canvas through a URI.
489+
* The two image Canvases are nested within the Manifest Canvas, causing the images to be displayed side by side.
490+
{: .callout}
486491

487-
### Chessboard is a Canvas with image (not a 3D chessboard)
488492

489-
A Scene or a Canvas may be treated as a content resource, referenced or described within the [`body`][prezi-40-model-body] of an Annotation. As with models and other resources, the Annotation is associated with a Scene into which the Scene or Canvas is to be nested through an Annotation [`target`][prezi-40-model-target]. The content resource Scene will be placed within the [`target`][prezi-40-model-target] Scene by aligning the coordinate origins of the two scenes. Alternately, Scene Annotations may use [Point Selector][prezi-40-model-PointSelector] to place the origin of the resource Scene at a specified coordinate within the [`target`][prezi-40-model-target] Scene.
490493

491-
-->
494+
# 3D Content
492495

493496

494-
## Use Case 6: 3D Chessboard
497+
## Use Case 7: 3D Chessboard
495498

496499

497500
### Basic Scene
@@ -648,33 +651,6 @@ __Definitions__<br/>
648651
Classes: [Manifest][prezi-40-model-Manifest], [Scene][prezi-40-model-Scene], [Canvas][prezi-40-model-Canvas], [SpecificResource][prezi-40-model-SpecificResource], [PointSelector][prezi-40-model-PointSelector], [RotateTransform][prezi-40-model-RotateTransform], [ScaleTransform][prezi-40-model-ScaleTransform]
649652
{: .note}
650653

651-
652-
# Nesting Containers
653-
654-
A Container can be painted into another Container as an Annotation with [`motivation`][prezi-40-model-motivation] "painting". For example, a Timeline may be painted into a Canvas, a Canvas may be painted into another Canvas, a Canvas may be painted into a Scene, and a Scene may be painted into another Scene. Multiple Containers may be hierarchically nested within each other, and so the list of examples above could be implemented as a single nesting sequence of five Containers.
655-
656-
## Use Case 7: What's the _Use Case_?
657-
658-
TODO: Describe the actual use case
659-
660-
This example is a Manifest with a Canvas that represents two images displayed side by side. However, instead of painting the images directly as Annotations, each image is painted on to a separate Canvas, and each Canvas is painted into the Manifest Canvas. A more likely practical application of this example would be where the image Canvases have been created previously and are hosted separately from the Manifest's composite-image Canvas.
661-
662-
{% include code_example.html src="uc07_image_composite.json" %}
663-
664-
>
665-
**Key Points**
666-
* The Manifest contains a single Canvas, which has a single Annotation Page, and two painting annotations.
667-
* Each painting annotation defines a Canvas with its own Annotation Page and a single image annotation. Alternately, each painting annotation could reference an external Canvas through a URI.
668-
* The two image Canvases are nested within the Manifest Canvas, causing the images to be displayed side by side.
669-
670-
### Nesting Containers with Durations
671-
672-
TODO: Describe the use case? Merge with previous use case?
673-
674-
A Timeline, Canvas, or Scene with [`duration`][prezi-40-model-duration] can only be painted into a Container that also has [`duration`][prezi-40-model-duration]. It is possible to associate a Container with [`duration`][prezi-40-model-duration] with a Container that does not have [`duration`][prezi-40-model-duration] as the content of a `commenting` annotation rather than painting it into the Container. If a Container with [`duration`][prezi-40-model-duration] has a shorter or longer [`duration`][prezi-40-model-duration] than the Container into which it is to be painted, the [`timeMode`][prezi-40-model-timeMode] property can be used to instruct clients how to resolve the mismatch.
675-
676-
{% include code_example.html src="uc07_duration_composite.json" from=19 to=58 %}
677-
678654
# Annotations
679655

680656
In the examples so far, Annotations have been used to associate the images, audio and other Content Resources with their Containers for presentation. IIIF uses the same W3C standard for the perhaps more familiar _annotation_ concepts of commenting, tagging, describing and so on.

0 commit comments

Comments
 (0)