Skip to content

Commit 70c3e74

Browse files
author
Rob Sanderson
committed
update
1 parent 48efde8 commit 70c3e74

File tree

1 file changed

+30
-18
lines changed

1 file changed

+30
-18
lines changed

source/presentation/4.0/model.md

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ Any of the properties in the API that can have multiple values _MUST_ always be
102102

103103
Language _SHOULD_ be associated with strings that are intended to be displayed to the user for the `label` and `summary` properties, plus the `label` and `value` properties of the `metadata` and `requiredStatement` objects.
104104

105-
The values of these properties _MUST_ be JSON objects, with the keys being the [BCP 47][org-bcp-47] language code for the language, or if the language is either not known or the string does not have a language, then the key _MUST_ be the string `none`. The script _SHOULD NOT_ be included in the tag, even though BCP 47 allows for this possibility. The associated values _MUST_ be arrays of strings, where each item is the content in the given language.
105+
The values of these properties _MUST_ be JSON objects, with the keys being the [BCP 47][org-bcp-47] language code for the language, or if the language is either not known or the string does not have a language, then the key _MUST_ be the string `none`. The locale, script and other subtags _MAY_ be included. Clients _SHOULD_ process subtags when comparing the values with the user's provided preferences, however _MAY_ simply reduce all tags down to just the language, discarding everything after the first hyphen, and display all matching values. The associated values _MUST_ be arrays of strings, where each item is the content in the given language.
106106

107107
{% include api/code_header.html %}
108108
``` json-doc
@@ -454,7 +454,7 @@ A Point Selector _MAY_ have the following properties: [x](#x), [y](#y), [z](#z),
454454

455455
> `"type": "WktSelector"`
456456
457-
Well-known text, or WKT, is an ISO standard method for describing 2 and 3 dimensional geometries. This selector thus goes beyond what the Web Annotation's SvgSelector enables by incorporating the z axis, as well as additional types of selection such as MultiPolygon. Additional types, such as CIRCULARSTRING may also be supported.
457+
Well-known text, or WKT, is an ISO standard method for describing 2 and 3 dimensional geometries. This selector thus goes beyond what the Web Annotation's SvgSelector enables by incorporating the z axis, as well as additional types of selection such as MULTIPOLYGON. Additional types, such as CIRCULARSTRING may also be supported.
458458

459459
The text representation is given in the `value` property of the selector.
460460

@@ -528,7 +528,7 @@ An Animation Selector _MUST_ have the following properties: [id](#id), [type](#t
528528

529529
> `"type": "ImageApiSelector"`
530530
531-
The Image API Selector is used to describe the operations available via the Image API in order to retrieve a particular image representation. In this case the resource is the abstract image as identified by the [IIIF Image API][image-api] base URI plus identifier, and the retrieval process involves adding the correct parameters after that base URI.
531+
The Image API Selector is used to describe the operations available via the IIIF Image API in order to retrieve a particular image representation. In this case the resource is the abstract image as identified by the [IIIF Image API][image-api] base URI plus identifier, and the retrieval process involves adding the correct parameters after that base URI.
532532

533533
The Image API Selector has properties following the parameters from the API, and record the values needed to fill out the URL structure in the request. If the property is not given, then a default should be used.
534534

@@ -565,42 +565,47 @@ Ranges _MUST_ have an HTTP(s) given in `id`. Top level Ranges are embedded or ex
565565

566566
The included Containers and parts of Containers need not be contiguous or in the same order as in the Manifest's `items` property or any other Range. Examples include newspaper articles that are continued in different sections, a chapter that starts half way through a page, or time segments of a single canvas that represent different sections of a piece of music.
567567

568-
Ranges _MAY_ link to an Annotation Collection that has the content of the Range using the `supplementary` property. The referenced Annotation Collection will contain Annotations that target the Containers within the Range and link content resources to those Containers.
569-
570568
__Properties__<br/>
571569
A Range _MUST_ have the following properties: [id](#id), and [type](#type).<br/><br/>
572-
A Range _SHOULD_ have the following properties: .
573-
A Range _MAY_ have the following properties: .
570+
A Range _SHOULD_ have the following properties: [label](#label), and [items](#items)<br/><br/>.
571+
A Range _MAY_ have the following properties: [start](#start), [supplementary](#supplementary), [metadata](#metadata), [summary](#summary), [provider](#provider), [thumbnail](#thumbnail), [requiredStatement](#requiredStatement), [rights](#rights), [navDate](#navDate), [navPlace](#navPlace), [placeholderContainer](#placeholderContainer), [accompanyingContainer](#accompanyingContainer), [viewingDirection](#viewingDirection), [behavior](#behavior), [seeAlso](#seeAlso), [service](#service), [homepage](#homepage), [rendering](#rendering), [partOf](#partOf), [canonical](#canonical), [via](#via), and [annotations](#annotations).
574572
{: .note}
575573

576574

577-
578575
### Scene Components
579576

580577
The following classes are only usable within Scenes.
581578

582-
583579
#### Cameras
584580

585581
A Camera provides a view of a region of a Scene's space from a particular position within the Scene; the client constructs a viewport into the Scene and uses the Camera to render that region. The size and aspect ratio of the viewport is client and device dependent.
586582

587-
FIXME: If either the position or direction is not specified, then the position defaults to the origin, and facing direction defaults to pointing along the z axis towards negative infinity.
583+
If either the position or direction is not specified, then the position defaults to the origin of the Scene, and the direction defaults to pointing along the z axis towards negative infinity.
588584

589-
The region of the Scene's space that is observable by the camera is bounded by two planes orthogonal to the direction the camera is facing, given in the `near` and `far` properties, (PERSPECTIVE) and a vertical projection angle that provides the top and bottom planes of the region. (viewHeight?)
585+
__Properties__<br/>
586+
All Cameras _MUST_ have the following properties: [id](#id), and [type](#type).<br/><br/>
587+
All Cameras _MAY_ have the following properties: [label](#label), [lookAt](#lookAt), [near](#near), and [far](#far)
588+
{: .note}
590589

591590

592591
##### Orthographic Camera
593592

594-
`"type": "OrthographicCamera"`
593+
> `"type": "OrthographicCamera"`
594+
595+
An Orthographic Camera removes visual perspective, resulting in object size remaining constant regardless of its distance from the camera.
595596

596-
`OrthographicCamera` removes visual perspective, resulting in object size remaining constant regardless of its distance from the camera
597+
__Properties__<br/>
598+
Orthographic Cameras _SHOULD_ have the following additional properties: [viewHeight](#viewHeight).
599+
{: .note}
597600

598601

599602
##### Perspective Camera
600603

601-
`"type": "PerspectiveCamera"`
604+
> `"type": "PerspectiveCamera"`
602605
603-
`PerspectiveCamera` mimics the way the human eye sees, in that objects further from the camera are smaller
606+
`PerspectiveCamera` mimics the way the human eye sees, in that objects further from the camera are smaller.
607+
608+
The region of the Scene's space that is observable by the camera is bounded by two planes orthogonal to the direction the camera is facing, given in the `near` and `far` properties, and a vertical projection angle that provides the top and bottom planes of the region in the `fieldOfView` property.
604609

605610
Properties...
606611

@@ -662,7 +667,10 @@ The Spot Light emits in the negative Y (-y) direction by default, but the orient
662667
#### Audio in Scenes
663668

664669
Positional audio is supported through the use of Audio resources annotated into Scenes.
665-
Audio resources _MUST_ have a `source` property that references an audio Content Resource, and _SHOULD_ have a `volume` property.
670+
Audio resources _MUST_ have a `source` property that references an audio Content Resource, and _SHOULD_ have a `volume` property. Positional Audio classes are subclasses of SpecificResource.
671+
672+
Volume is relative to the input audio source's volume.
673+
666674

667675
##### Ambient Audio
668676

@@ -684,6 +692,9 @@ Spot Audio emits a cone of sound from a single point in a given direction. The
684692

685693
The Spot Audio emits in the negative Y (-y) direction by default, but the orientation of the sound can be altered by subsequent transforms.
686694

695+
Can have a Timeline as the source of the audio?
696+
697+
687698
```json
688699
{
689700
"id": "https://example.org/iiif/spotAudio/1",
@@ -697,8 +708,9 @@ The Spot Audio emits in the negative Y (-y) direction by default, but the orient
697708
"volume": {
698709
"type": "UnitValue",
699710
"unit": "relative",
700-
"value": 2.0
701-
}
711+
"value": 1.0
712+
},
713+
"transform": []
702714
}
703715
```
704716

0 commit comments

Comments
 (0)