Skip to content

Defining non-prescriptive scene states #2422

@gjcope

Description

@gjcope

I would like to define a set of "scene states" (camera view, light enabled/disabled, comment active, etc.) and put them in a sequence, with the expectation being that a viewer would supply the user with a way to select those states, ideally in the sequence order. In my viewer, that may look like a "tour" while in another viewer it may be a simple dropdown list of choices.

I imagine the "choice" annotation could be defined as below (with the referenced "scene state" activating annotations defined after)

{
    "id": "https://example.org/iiif/scene/switch/scene-1/annos/1/activating",
    "type": "Annotation",
    "motivation": ["activating"],
    "target": "???",
    "body": [
      {
        "type": "Choice",
        "items": [
          {
            "type": "SpecificResource",
            "source": "https://example.org/iiif/scene/switch/scene-1/annos/1/activating1",
            "action": ["show"]
          },
          {
            "type": "SpecificResource",
            "source": "https://example.org/iiif/scene/switch/scene-1/annos/1/activating2",
            "action": ["show"]
          },
          {
            "type": "SpecificResource",
            "source": "https://example.org/iiif/scene/switch/scene-1/annos/1/activating3",
            "action": ["show"]
          }
        ]
      }
    ]
  },

But what would this annotation target? Per the spec,

The target of the activating annotation is the resource that triggers an action.

but in this case this the "trigger" would be viewer dependent. It could be clicking an object in the scene, but just as easily clicking an object not in the scene, like external UI or a dropdown menu.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions