Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add experimental whale comment annotation manifests #52

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

JulieWinchester
Copy link
Contributor

@JulieWinchester JulieWinchester commented Jun 26, 2024

This PR adds a collection of draft Prezi manifests portraying two models in relation with each other, the whale cranium and mandible from our assets collection, and labeling the cranium with commenting annotations. This fulfills a request from the TSG for "real world example" draft manifests involving multiple models and awkwardly placed commenting label annotations in order to explore the pros and cons of the suggested spec thus far.

As of 6/26, the PR has 6 manifests that demonstrate the basics of placing a simple text label on a point, targeting points and 2D shapes with commenting annotations, and demonstrates possible relationships between commenting annotations and cameras. Still to be done would be manifests using content state to associate commenting annotations with new or different camera view positions, lights, etc. Other TSG members are welcome to help expand this or correct what's already here!

Positions of models, cameras, and annotations have been tested in the web three.js editor. If anyone else wants to check the test scene out, the exported project JSON from the editor is available at https://drive.google.com/file/d/1BlEHNK35HJluUpp8qMQdQSp9wWXN_pqu/view?usp=sharing

Titles and descriptions of the six manifests included so far:

File: manifests/xx_whale_comments/a_cranium_and_mandible_positioned.json
Label: Whale Cranium and Mandible Positioned
Summary: Renders two 3D models to display a whale skull. Viewer should render the mandible at (0, 0.03, 0.05) and the cranium at (0, 0.18, 0). This should place the cranium and mandible in something approximating anatomical position relative to each other.

File: manifests/xx_whale_comments/b_comment_annotation.json
Label: Whale Cranium and Mandible with Point Comment Annotation
Summary: Simple text comment on point on whale cranium. Viewer should render the mandible at (0, 0.03, 0.05) and the cranium at (0, 0.18, 0). This should place the cranium and mandible in something approximating anatomical position relative to each other. A commenting annotation for the hook-like process on the right medial pterygoid plate, the right pterygoid hamulus process, should be placed at (0.04, 0.063, -0.066). This commenting annotation is on the underside of the cranium (basicranium) between the cranium and the mandible, and is intentionally awkwardly placed in terms of view perspective.

File: manifests/xx_whale_comments/c_comment_annotation_camera.json
Label: Whale Cranium and Mandible with Point Comment Annotation and Camera
Summary: Camera view of point comment annotation of whale cranium. Viewer should render the mandible at (0, 0.03, 0.05) and the cranium at (0, 0.18, 0). This should place the cranium and mandible in something approximating anatomical position relative to each other. A commenting annotation for the hook-like process on the right medial pterygoid plate, the right pterygoid hamulus process, should be placed at (0.04, 0.063, -0.066). This commenting annotation is on the underside of the cranium (basicranium) between the cranium and the mandible, and is intentionally awkwardly placed in terms of view perspective. A camera has been specified and should be used to see the pterygoid hamulus clearly.

File: manifests/xx_whale_comments/d_multi_comments_annotation_point_2d_shape.json
Label: Whale Cranium and Mandible with Point and 2D Shape Comment Annotations
Summary: Multiple commenting annotations with camera view. Viewer should render the mandible at (0, 0.03, 0.05) and the cranium at (0, 0.18, 0). This should place the cranium and mandible in something approximating anatomical position relative to each other. A first commenting annotation for the hook-like process on the right medial pterygoid plate, the right pterygoid hamulus process, should be placed at (0.04, 0.063, -0.066). A second commenting annotation for a 2D polygon outlining the foramen magnum, the large hole through which the spinal cord passes, should also be rendered. Both commenting annotations are intentionally awkwardly placed in terms of view perspective. A camera has been specified and should be used to see both commenting annotations clearly.

File: manifests/xx_whale_comments/e_comment_annotation_lookat_camera.json
Label: Whale Cranium and Mandible with Point Comment Annotation Oriented Toward Camera
Summary: Camera view of point comment annotation of whale cranium, where comment annotation body is explicitly oriented toward camera. Viewer should render the mandible at (0, 0.03, 0.05) and the cranium at (0, 0.18, 0). This should place the cranium and mandible in something approximating anatomical position relative to each other. A commenting annotation for the hook-like process on the right medial pterygoid plate, the right pterygoid hamulus process, should be placed at (0.04, 0.063, -0.066). This commenting annotation is on the underside of the cranium (basicranium) between the cranium and the mandible, and is intentionally awkwardly placed in terms of view perspective. A camera has been specified and should be used to see the pterygoid hamulus clearly. Additionally, the commenting annotation body should be angled toward the camera, since the 'lookAt' property has been specified on the comment and referenced to the camera.

File: manifests/xx_whale_comments/f_comment_annotation_lookat_away_from_camera.json
Label: Whale Cranium and Mandible with Point Comment Annotation Oriented Away From Camera
Summary: Camera view obscuring point comment annotation of whale cranium, where comment annotation body is explicitly oriented away from camera. Compared to previous manifests, this manifest intentionally obfuscates the provided commenting annotation. Viewer should render the mandible at (0, 0.03, 0.05) and the cranium at (0, 0.18, 0). This should place the cranium and mandible in something approximating anatomical position relative to each other. A commenting annotation for the hook-like process on the right medial pterygoid plate, the right pterygoid hamulus process, should be placed at (0.04, 0.063, -0.066). This commenting annotation is on the underside of the cranium (basicranium) between the cranium and the mandible, and is intentionally awkwardly placed in terms of view perspective. A camera has been specified, but it faces the front of the cranium and mandible, and does not provide a good perspective of the pterygoid hamulus. Further, the commenting annotation body should be faced away from the specified camera, since the 'lookAt' property has been specified on the comment and it is referencing a point behind and underneath the cranium and mandible.

@mikeapp
Copy link
Member

mikeapp commented Jun 27, 2024

For the textual body as a string in the commenting annotations, you'll want to use bodyValue ( https://www.w3.org/TR/annotation-model/#string-body ) instead of just body.

@JulieWinchester
Copy link
Contributor Author

For the textual body as a string in the commenting annotations, you'll want to use bodyValue ( https://www.w3.org/TR/annotation-model/#string-body ) instead of just body.

Fixed :)

@JulieWinchester
Copy link
Contributor Author

Added a seventh manifest that begins with whale cranium and mandible in isolation, but has two content states to load a new commenting annotation (one per content state) with a custom camera view specified for each annotation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants