iiif / 3d Goto Github PK
View Code? Open in Web Editor NEWRepository to help plan the 3d work with IIIF
Home Page: https://iiif.github.io/3d/
Repository to help plan the 3d work with IIIF
Home Page: https://iiif.github.io/3d/
For creating interoperable demos of IIIF 3D progress, we need a collection of open-access (CC0 or other permissively licensed) 3D models. Participants should provide links to possible models for this purpose with a statement of specific licensing (with sourcing, if possible) applied to the models. Once we gather a good collection, we can rehost copies of these models in a central repository for use in demos.
Taken from @azaroth42's IIIF/api#1992
Requirement: Charter document laying out the nature, goals, and timelines of the 3D TSG.
Rationale: Required to become a IIIF TSG.
Status: Current draft of charter
copy of IIIF/iiif-3d-stories#12
Taken from @azaroth42's IIIF/api#1992, with some updates
Requirement: 3 or more institutions openly publishing 3d models that are willing to participate in a TSG and implement experiments
Rationale: If there's no content, there's no need for a specification. If there's less than three institutions actually willing to engage, then there's no community to make that specification or content.
Status: I think we're well past this :)
Update: The current 3D TSG draft charter has a list of 13 institutions supporting for the formation of the charter, with specific contacts listed for almost all. We should consult with the pre-TSG working group to determine which of these institutions are currently publishing 3D content and would be willing to implement 3D IIIF experiments.
We need a place to reference when recurring questions are raised, such as whether we're creating a metadata standard, or using a particular 3D model format.
Showcase: https://fcgl.gitlab.io/annotator-showcase/
Data Paper to represent 3D annotation in the W3C Web Annotation Data Model: https://openarchaeologydata.metajnl.com/articles/10.5334/joad.92
Background on the user story: https://cdli.mpiwg-berlin.mpg.de/articles/cdlj/2022-1
If you are interested, I can shortly present the use case in one of your working group meetings.
We need a place to reference when using terminology that is not familiar for people joining the 3D community.
Acceptance criteria:
related to IIIF/iiif-3d-stories#6
copy of IIIF/iiif-3d-stories#10
In multiple IIIF 3D TSG meetings, including the meeting that happened today on July 12th 2023, a topic of discussion has been raised concerning possible differences between how models are placed within a 3D scene's coordinate system between Smithsonian's Voyager and at least some other Three.js viewer tools or viewer demos. We should explore this issue further, document details, and try to resolve it if possible.
Specifically, the issue seems to relate to this viewer demo using Voyager to display multiple models. My understanding is that @edsilv has tried to use the coordinate positions used in this demo within other Three.js-based demo harnesses, with the baseball bat model ending up in a different position compared to the Voyager demo. See the picture included for an example of this.
The most explicit documented discussion of this difference was provided by @gjcope in this issue comment. I think we need more detailed documentation of the issue, and hopefully we can try and determine whether this can be resolved? I'll also say that my understanding is that our approach for the IIIF spec manifests is also to have "child node" position determined relative to parent node position in some cases, so perhaps the Voyager behavior is the ideal behavior? But I think I need to understand the situation better before commenting further.
@edsilv : Could you provide a link to a comparative demo implementing the "bat on ground" behavior, and detail the data you're using from the Voyager demo to produce that?
@gjcope : After Ed provides a bit more detail, are you available to help us try and work through this? We can also perhaps talk more during the next IIIF 3D TSG meeting, but hopefully we can make some progress on GitHub in the meantime.
Thanks to both of you!
Proposed Requirement: A document analyzing and describing the requirements around the intersections with Authentication and Search. Especially pertinent, given the current TSGs for those topics.
Rationale: All of the IIIF APIs should work together when needed. If there are authentication or search requirements that are specific to 3d, now is the time to work on them, not after the current TSGs have concluded.
Status: Unknown
This is a copy of IIIF/iiif-3d-stories#9
Copy of IIIF/iiif-3d-stories#14
In #11 (comment), we have two example draft IIIF Presentation API V4 spec manifests that describe 3D resources. In the same way that we have created 3D viewer demos that load label annotations from a common simple JSON manifest, we should create 3D viewer demos that support and use these IIIF-ish 3D manifests to load content.
This is a task to create a milestone technical set of experiments that relates to user story #14, possibly others.
Acceptance criteria:
Current progress:
Progress needed:
After these points are finished, this task can potentially be closed and further work described as a new task (possibly in a GitHub project).
We need forks of code sandboxes for the individual demos in the viewer demo documentation modified to use our common JSON label annotations.
Relates to https://iiif.io/api/content-state/0.9/
Copy of IIIF/iiif-3d-stories#13
copy of IIIF/iiif-3d-stories#11
Taken from @azaroth42's IIIF/api#1992, with some updates.
Requirement: Documentation enumerating base use cases and relevant user stories for use of 3D in IIIF.
Rationale: IIIF process is based around use cases. We need to know what we're trying to do, before trying to do it :)
Status: Some required use cases are listed at https://github.com/IIIF/iiif-3d-stories/issues. Additionally, the 3D Community Group has previously used a Google Form to collect user stories from the community. A summary of this process and results were described as part of the 3D Community Group update at the IIIF Fall Working Meeting 2020, and a log of the responses has been uploaded.
Next Steps:
Taken from @azaroth42's IIIF/api#1992, with some updates
Proposed requirement: Technology demo of two 3d models in different formats being rendered in the same space is available
Rationale: In the same way that we can render jpgs and pngs together, we should be able to render multiple models. Otherwise there's no need for the IIIF level of interoperability - the individual format's viewer is all that's needed, and we cover that already with rendering.
Status: I believe that this is possible today using (for example) the threejs loader paradigm and libraries
Update: While this was definitely always possible using something like three.js and manual model loading, it's worth noting a few different technical proof of concepts created recently that demonstrate multiple assets in different formats being rendered in the same virtual space using IIIF in some capacity.
Next Steps:
There seemed to be support in a meeting on 3/21/2023 for just adopting what Three.js uses, based on popularity and ease for developer use
Possible helpful reference: https://discoverthreejs.com/book/first-steps/transformations/
Taken from @azaroth42's IIIF/api#1992
Requirement: A document analyzing and describing the requirements around annotation precision in a 3d environment. For example, is a cube enough, or do the use cases require arbitrary volumes?
Rationale: Annotation is a core functionality of IIIF, and there aren't 3d annotation targeting specifications we can simply reference, thus knowing the requirements explicitly around annotation is very useful to set out in the right direction. This is needed for both comment annotations (look at this arm of the statue) and positioning models in the space (this statues goes here, that statue goes there).
Status: Unknown
https://docs.google.com/document/d/1SvvFm0HB4_81alYhokb0ZciIotfJeXWH-t3fbUELYKc/edit
This could also be organized as a set of Github pages with descriptions and example JSON files.
This work will involve taking what has been learned so far in TSG meeting conversations and experimental prototyping and using it to put together an early initial "first-pass" draft of a IIIF Presentation API specific that would support 3D in at least some of the ways described in the core user story issues in this issue tracker.
Based on the work from the Basel working meeting on October 26, 2023 (see IIIF/api#2258), we probably want to create a user story for the use of lighting in the Presentation API 3D spec. This issue is a placeholder for a potential user story, and should be discussed during a future 3D TSG meeting. See d
This is needed to complete #17. The acceptance criteria is the same as the criteria from #17 for initial demos. Will copy those criteria below.
Acceptance criteria for initial demos:
In the draft manifest showing example of a backgroundColor being defined on the Scene ( manifests/1_basic_model_in_scene/model_origin_bgcolor.json ) it looks like the json backgroundColor value is being defined as a property in the Manifest, not the Scene
If and when this is corrected, I suggest breaking the equality between the red and blue values, so set for example
"backgroundColor": "#FF00FE",
This will enable a unit test to detect if an implementation is rearranging the color values.
Taken from @azaroth42's IIIF/api#1992
Proposed Requirement: A document analyzing and describing the requirements around the intersection of 3d and other formats in the same canvas / space. For example, what should happen when you include audio, video or image content along with a 3d model in a 3d space.
Rationale: The existing functionality of the Presentation API should be available, in the same way that adding AV material in v3 can be done in the same environment as the content available in v2.
Status: Unknown
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.