<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1788618223;
        mso-list-type:hybrid;
        mso-list-template-ids:-330812034 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>the underlying asset is a glTF asset</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Astronaut.glb when downloaded, runs windows 3D Builder with a click and allows simple editing. Shows error ‘one or more items invalidly defined. Click to repair’ The entire thing is a single ‘item’ </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:vmarchetti@kshell.com">Vincent Marchetti</a><br><b>Sent: </b>Wednesday, October 5, 2022 6:29 AM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D-Public</a><br><b>Subject: </b>[x3d-public] An annotations example and project</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Intro: The IIIF 3D Technical Study Group , https://iiif.io/community/groups/3d/tsg/ , is developing standards and practices to 3D content in libraries and museums. Their general philosophy is to evaluate and support a variety of formats and viewers, rather than choose one format to rule them all.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>One of the members, Ed Silverton of memnoscene ( https://mnemoscene.io/ ) recently presented a prototype of a method by which  annotations on a 3D asset can be shared among viewers.</p><p class=MsoNormal>To see the demo, go to : https://yqxggz.csb.app/ -- You shouid see an astronaut in a 3D viewer; the rendering is done by Google's model-viewer, and the underlying asset is a glTF asset at</p><p class=MsoNormal>https://cdn.glitch.com/36cb8393-65c6-408d-a538-055ada20431b/Astronaut.glb</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Under the model-viewer pane, and above the "Set Annotations" button, is an input text field. Copy and paste the following json structure:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[</p><p class=MsoNormal>{"id":0,</p><p class=MsoNormal>"normal":"-0.24679987544979334 -0.0979611424867969 0.9641023991468167",</p><p class=MsoNormal>"position":"-0.1377316524360126 0.9925992890184887 0.2542247719185542",</p><p class=MsoNormal>"value":"right hipbone"},</p><p class=MsoNormal>{"id":1,</p><p class=MsoNormal>"normal":"0.29259561389217825 0.11383937564155769 0.9494358342113489",</p><p class=MsoNormal>"position":"0.0652451665004884 1.8182700174153779 0.32465106720430725",</p><p class=MsoNormal>"value":"face mask"}</p><p class=MsoNormal>]</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>and click the Set Annotations button. The annotations should appear, as labels associated with the 3D rendering.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>According to Ed SIlverton, the coordinates and normals in the json above are a 'hit' on the astronaut mesh, that is used as the target for the annotation label.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have taken on the challenge of implementing a similar capability for the X3D rendering of this model, target demo delivery being the next TSG call on Nov 1.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Eager to hear whether there is similar work out there, or ideas for implementing and extending this capability. I plan start a project on Code Sandbox ( https://codesandbox.io/ )  for this work.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Vince Marchetti</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>_______________________________________________</p><p class=MsoNormal>x3d-public mailing list</p><p class=MsoNormal>x3d-public@web3d.org</p><p class=MsoNormal>http://web3d.org/mailman/listinfo/x3d-public_web3d.org</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>