3d

Draft IIIF Manifest Experiments

As part of the work of the IIIF 3D TSG, it is necessary to create experimental demos that display and contextualize 3D content using draft manifests that represent potential expansions to the IIIF Presentation API. Ideally, these experiments should be implemented across a wide range of viewers and 3D frameworks. The goal of these experiments is to determine and find issues, stressors, and “pain points” with the manifest drafts as they are expressed, so that the manifests can be modified and updated as needed to help resolve these issues. This document describes acceptance criteria for these demo experiments, laying out a series of milestones of increasing complexity for demo creators to implement.

Experiment demos MUST:

Experiment demos SHOULD:

Experiment demos COULD:

Experiment Milestones

Manifests are separated into numbered milestone groups, where each new group introduces a new behavior or resource type. The groups are described below, and a link to the manifests associated with the group is provided. Any manifest URL in this GitHub repo can be converted into a fetchable manifest URL by replacing the https://github.com/IIIF/3d/blob/ at the beginning of the URL with https://raw.githubusercontent.com/IIIF/3d/. For example, the GitHub URL https://github.com/IIIF/3d/blob/main/manifests/1_basic_model_in_scene/model_origin.json becomes https://raw.githubusercontent.com/IIIF/3d/main/manifests/1_basic_model_in_scene/model_origin.json. Demos can use the fetchable URL to load the manifest directly from the web.

Milestone 1: Place Model in 3D Scene

Manifests in this group place a single model in a 3D scene.

Milestone 2: Cameras

Manifests in this group place one or more cameras in association with a model in a 3D scene.

Milestone 3: Lights

Manifests in this group place one or more lights along with camera(s) and a model in a 3D scene.

Milestone 4: Transform and Position

Manifests in this group transform (translate, rotate, and/or scale) models and position them at specific coordinates with a 3D scene.

Milestone 5: Nesting Canvases and Scenes within Scene

Manifests in this group use multiple scenes or one or more canvases along with a scene and nest canvases or scenes within an overall inclusive scene.

Milestone 6: 2D Canvases in Scenes

Manifests in this group expand on milestone group 5 by placing 2D canvases in scenes in more advanced ways.

Milestone 7: Excluding Elements from Presentation

Manifests in this group exclude elements like cameras and lights from being actively displayed in a 3D scene.

Milestone 8: Scenes with Duration

Manifests in this group feature scenes and scene elements with duration, turning elements on and off at certain time durations for the Scene.

Milestone 9: Supplementing Annotations

Manifests in this group feature supplementing annotations describing the 3D scene.