3D Viewer JSON Demos For Issue 17
3D Viewer JSON Demos For Issue 17
This document was specifically relevant to repository issue #17, which represented an attempt to demonstrate feasibility of 3D IIIF principles by expressing a single simplistic JSON set of annotations in multiple viewers. Herein are listed simple technical demo harnesses that fulfill the acceptance criteria of #17. That story was completed and has been closed. This is not the most up to date document describing how 3D TSG members should work together to push new demo experiments forward to help propel the goals of the TSG. Instead, users should see IIIF draft manifest experiments
For initial work relating to supporting the core user story Issues, the TSG determined a good starting point would be the creation and iterative refinement of simple code sandbox demos utilizing shared common JSON manifests of 3D content (annotations, etc.) to be displayed. Each demo includes a link to the demo using Code Sandbox.
As of 6/13/2023, these demos specifically address the task described by Issue 17: Demo harness: 3+ viewers using a common JSON annotation format supporting the user story Issue 14: Annotate displayed 3D models with commentary.
Label Annotation JSON
All viewer demos listed here employ a common simple shared JSON manifest. This manifest describes two 3D point text label annotations, one pointing out an astronaut’s visor and the other pointing out the astronaut’s glove. These label annotations are provided in reference to a specific low-poly 3D model of an astronaut which is also used in each demo. The JSON manifest is included in this repository as a discrete JSON file, but it is also included in this document for reference.
{
"annotations": [
{
"id": 0,
"normal": [ 0.294, 0.114, 0.949 ],
"position": [ 0.017, 1.806, 0.341 ],
"value": "visor"
},
{
"id": 1,
"normal": [ 0.472, 0.059, 0.880 ],
"position": [ 0.518, 0.956, 0.122 ],
"value": "glove"
}
]
}
The Demos
Aleph
- Includes an editable text input box where annotation can be manually modified, new annotations can be loaded, etc.
- Uses a local file copy of the shared JSON manifest.
- Annotations can be copy-pasted between this and Google Model Viewer with identical results.
Google Model Viewer
- Includes an editable text input box where annotation can be manually modified, new annotations can be loaded, etc.
- Demo HTML includes the content of the shared JSON manifest.
- Annotations can be copy-pasted between this and Aleph with identical results. Annotations copy-pasted into Sketchfab demo produce different results for reasons unknown.
Sketchfab
- Includes an editable text input box where annotation can be manually modified, new annotations can be loaded, etc.
- Demo HTML includes the content of the shared JSON manifest.
- Annotations copy-pasted in Google Model Viewer produce different results for reasons unknown.
Smithsonian Voyager
- Fetches annotation JSON manifest from GitHub.
X3D
- Uses a local file copy of the shared JSON manifest.
Changelog
- 1/23/2023: Created this document to better record and track content evolving in Issue #17.
- 3/21/2023: Update status and link of the X3D demo
- 4/18/2023: Add JSON used in X3D demo
- 6/13/2023: Add a section for shared single JSON manifest, and update viewers to latest versions that all use the shared JSON manifest