From bd809b889128fa4bbe178bec54702f3783e7e395 Mon Sep 17 00:00:00 2001 From: Michael Appleby Date: Wed, 21 May 2025 11:18:40 -0400 Subject: [PATCH 1/3] AnnotationCollection and AnnotationPage properties --- source/presentation/4.0/model.md | 81 +++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git a/source/presentation/4.0/model.md b/source/presentation/4.0/model.md index 7c953dc18..829ecbf4b 100644 --- a/source/presentation/4.0/model.md +++ b/source/presentation/4.0/model.md @@ -1060,7 +1060,24 @@ The value is a non-negative floating point number, in the coordinate space of th ``` ### first +{: #first} +This property references the first Annotation Page within an Annotation Collection. + +The value _MUST_ be a JSON object with `id` and `type` properties. The `id` _MUST_ be the HTTP(S) URI of the referenced Annotation Page. The value of `type` _MUST_ be `AnnotationPage`. + +* A non-empty AnnotationCollection _MUST_ have the `first` property.
+ Clients _MUST_ process the `first` property on an AnnotationCollection. + +{% include api/code_header.html %} +``` json-doc +{ + "first": { + "id": "https://example.org/iiif/annotationPage/1", + "type": "AnnotationPage" + } +} +``` ### fieldOfView {: #fieldOfView} @@ -1296,6 +1313,24 @@ The value _MUST_ be an array of strings. Each item in the array _MUST_ be a vali ``` ### last +{: #lsst} + +This property references the last Annotation Page within an Annotation Collection. + +The value _MUST_ be a JSON object with `id` and `type` properties. The `id` _MUST_ be the HTTP(S) URI of the referenced Annotation Page. The value of `type` _MUST_ be `AnnotationPage`. + +* A non-empty AnnotationCollection _SHOULD_ have the `last` property.
+ Clients _SHOULD_ process the `last` property on an AnnotationCollection. + +{% include api/code_header.html %} +``` json-doc +{ + "last": { + "id": "https://example.org/iiif/annotationPage/17", + "type": "AnnotationPage" + } +} +``` ### logo {: #logo} @@ -1465,9 +1500,24 @@ The value is a non-negative floating point number, in the coordinate space of th ``` ### next +{: #next} + +A reference from an Annotation Page to the following Annotation Page within an Annotation Collection. + +The value must be a JSON object, with the `id` and `type` properties. The value of the `id` property must be a string, and must be the HTTP(S) URI of the following Annotation Page. The value of the `type` property must be the string `AnnotationPage`. -... +* An AnnotationPage _MUST_ have a `next` property, unless it is the last page in the AnnotationCollection.
+ Clients _MUST_ processs the `next` property on an AnnotationPage. +{% include api/code_header.html %} +``` json-doc +{ + "next": { + "id": "https://example.org/iiif/annotationPage/3", + "type": "AnnotationPage" + } +} +``` ### partOf {: #partOf} @@ -1548,7 +1598,24 @@ The value of this property _MUST_ be a JSON object conforming to the `SpecificRe ``` ### prev +{: #prev} +A reference from an Annotation Page to the preceding Annotation Page within an Annotation Collection. + +The value must be a JSON object, with the `id` and `type` properties. The value of the `id` property must be a string, and must be the HTTP(S) URI of the preceding Annotation Page. The value of the `type` property must be the string `AnnotationPage`. + +* An AnnotationPage _SHOULD_ have a `prev` property, unless it is the first page in the AnnotationCollection.
+ Clients _SHOULD_ processs the `prev` property on an AnnotationPage. + +{% include api/code_header.html %} +``` json-doc +{ + "prev": { + "id": "https://example.org/iiif/annotationPage/1", + "type": "AnnotationPage" + } +} +``` ### profile {: #profile} @@ -2021,10 +2088,22 @@ The value _MUST_ be a string. ### total +{: #total} For compatability with ActivityStreams and the Change Discovery API, clients _SHOULD_ also accept `totalItems` as the name of this property. {: .note} +The `total` property indicates the total number of annotations contained in an Annotation Collection. + +The value of this property _MUST_ be a non-negative integer. + +* An AnnotationCollection _SHOULD_ have the `total` property.
+ Clients _SHOULD_ process the `total` property on an AnnotationCollection. + +{% include api/code_header.html %} +``` json-doc +{ "total": 1701 } +``` ### transform {: #transform} From 49dcef6e76624c84f339d88403ca9e5543553677 Mon Sep 17 00:00:00 2001 From: Michael Appleby Date: Wed, 21 May 2025 11:22:28 -0400 Subject: [PATCH 2/3] a->the and alpha order --- source/presentation/4.0/model.md | 34 +++++++++++++++++--------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/source/presentation/4.0/model.md b/source/presentation/4.0/model.md index 829ecbf4b..073a38ad3 100644 --- a/source/presentation/4.0/model.md +++ b/source/presentation/4.0/model.md @@ -1059,6 +1059,22 @@ The value is a non-negative floating point number, in the coordinate space of th { "far": 200.0 } ``` +### fieldOfView +{: #fieldOfView} + +The angle which a PerspectiveCamera can "see". + +!!! warning "Need more info" + +The value _MUST_ be a floating point number greater than 0 and less than 180, and is measured in degrees. If this property is not specified, then the default value is client-dependent. + +* A PerspectiveCamera _SHOULD_ have the `fieldOfView` property.
+ Clients _SHOULD_ process the `fieldOfView` property on Cameras. + +```json-doc +{ "fieldOfView": 50.0 } +``` + ### first {: #first} @@ -1079,21 +1095,7 @@ The value _MUST_ be a JSON object with `id` and `type` properties. The `id` _M } ``` -### fieldOfView -{: #fieldOfView} - -The angle which a PerspectiveCamera can "see". - -!!! warning "Need more info" -The value _MUST_ be a floating point number greater than 0 and less than 180, and is measured in degrees. If this property is not specified, then the default value is client-dependent. - -* A PerspectiveCamera _SHOULD_ have the `fieldOfView` property.
- Clients _SHOULD_ process the `fieldOfView` property on Cameras. - -```json-doc -{ "fieldOfView": 50.0 } -``` ### format {: #format} @@ -1506,7 +1508,7 @@ A reference from an Annotation Page to the following Annotation Page within an A The value must be a JSON object, with the `id` and `type` properties. The value of the `id` property must be a string, and must be the HTTP(S) URI of the following Annotation Page. The value of the `type` property must be the string `AnnotationPage`. -* An AnnotationPage _MUST_ have a `next` property, unless it is the last page in the AnnotationCollection.
+* An AnnotationPage _MUST_ have the `next` property, unless it is the last page in the AnnotationCollection.
Clients _MUST_ processs the `next` property on an AnnotationPage. {% include api/code_header.html %} @@ -1604,7 +1606,7 @@ A reference from an Annotation Page to the preceding Annotation Page within an A The value must be a JSON object, with the `id` and `type` properties. The value of the `id` property must be a string, and must be the HTTP(S) URI of the preceding Annotation Page. The value of the `type` property must be the string `AnnotationPage`. -* An AnnotationPage _SHOULD_ have a `prev` property, unless it is the first page in the AnnotationCollection.
+* An AnnotationPage _SHOULD_ have the `prev` property, unless it is the first page in the AnnotationCollection.
Clients _SHOULD_ processs the `prev` property on an AnnotationPage. {% include api/code_header.html %} From b851906c73bb0bf6f1161a9e4a6dc40cba0e07fc Mon Sep 17 00:00:00 2001 From: Julie Winchester Date: Thu, 22 May 2025 13:03:15 -0500 Subject: [PATCH 3/3] Update source/presentation/4.0/model.md --- source/presentation/4.0/model.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/presentation/4.0/model.md b/source/presentation/4.0/model.md index 073a38ad3..23f74b0bc 100644 --- a/source/presentation/4.0/model.md +++ b/source/presentation/4.0/model.md @@ -1315,7 +1315,7 @@ The value _MUST_ be an array of strings. Each item in the array _MUST_ be a vali ``` ### last -{: #lsst} +{: #last} This property references the last Annotation Page within an Annotation Collection.