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:
textarea
input that contains the loaded draft IIIF manifest content, and which allows users to modify manifest content interactively, loading new viewer state dynamically from the modified manifest content on form submission. Having this functionality allows users to quickly modify parameters of the manifest and observe their impact on the demo, which among other benefits aids in diagnosing inconsistencies between demos.Experiment demos COULD:
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.
Manifests in this group place a single model in a 3D scene.
Manifests in this group place one or more cameras in association with a model in a 3D scene.
Manifests in this group place one or more lights along with camera(s) and a model in a 3D scene.
Manifests in this group transform (translate, rotate, and/or scale) models and position them at specific coordinates with a 3D 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.
Manifests in this group expand on milestone group 5 by placing 2D canvases in scenes in more advanced ways.
Manifests in this group exclude elements like cameras and lights from being actively displayed in a 3D scene.
Manifests in this group feature scenes and scene elements with duration, turning elements on and off at certain time durations for the Scene.
Manifests in this group feature supplementing annotations describing the 3D scene.