Skip to content

Commit 48efde8

Browse files
Merge pull request #2345 from IIIF/prezi-4-interaction-mode-model
Add interactionMode description to model
2 parents 4a44200 + 3087e09 commit 48efde8

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

source/presentation/4.0/model.md

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1113,20 +1113,32 @@ The `value` property of the UnitValue _MUST_ be between 0.0 and 1.0.
11131113
### interactionMode
11141114
{: #interactionMode}
11151115

1116-
*within* the Scene, whereas viewingDirection and behavior are across containers.
1116+
A set of features that guide or limit user interaction with content within a Container that the publisher of the content would prefer the client to use when presenting the resource. This specification defines values in the table below that guide interactions with Cameras within a Scene. Other values for other Container types or specifying other interaction modes for 3D content may be defined externally as an [extension][prezi30-ldce]. For interaction modes pertaining to Cameras within a Scene, the client _SHOULD_ use `interactionMode` to determine the user experience features and approaches whereby users are permitted to change or adjust Cameras when viewing content within a Scene (e.g., orbiting around the scene or locking the user to a first-person perspective).
11171117

1118-
* Containers _MAY_ have the `interactionMode`
1118+
When more than one interaction mode is present, the client _SHOULD_ pick the first interaction mode that the client is capable of supporting.
11191119

1120-
Table here with values
1120+
For interaction modes that involve a Camera orbiting around a target point, the target point _SHOULD_ be the same as the Camera's `lookAt` property.
11211121

1122+
The value _MUST_ be an array of strings.
1123+
1124+
* A Container _MAY_ have the `interactionMode` property.<br/>
1125+
Clients _SHOULD_ process `interactionMode` on a Container.
1126+
* Other types of resource _MUST NOT_ have the `interactionMode` property.<br/>
1127+
Clients _SHOULD_ ignore `interactionMode` on other types of resource.
11221128

1123-
locked
1124-
orbit
1125-
hemisphere-orbit
1126-
free
1127-
free-direction
1129+
| Value | Description |
1130+
| ----- | ----------- |
1131+
| `locked` | Camera is locked. User interaction _MUST NOT_ modify Camera. |
1132+
| `orbit` | Camera orbits around a target point in response to user interaction. |
1133+
| `hemisphere-orbit` | Camera orbits around a target point in response to user interaction, but orbital freedom is limited to a hemisphere. |
1134+
| `free` | Camera mimics a first-person perspective. User interaction pans or tilts Camera perspective, trucks Camera position, and/or dollies or zooms Camera. |
1135+
| `free-direction` | Camera mimics a first-person perspective, but Camera position is fixed. User interaction pans or tilts Camera perspective. |
1136+
{: .api-table #table-interaction}
11281137

1129-
other examples: no-zoom, no-scrub, rti-mode
1138+
{% include api/code_header.html %}
1139+
``` json-doc
1140+
{ "interactionMode": [ "hemisphere-orbit", "orbit" ] }
1141+
```
11301142
### items
11311143
{: #items}
11321144

0 commit comments

Comments
 (0)