<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:1847554535;
        mso-list-type:hybrid;
        mso-list-template-ids:-191450962 -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><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Stepping backwards to binary is like giving up the progress we’ve made since Assembly was created.</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>True, I was thinking it may be relatively easy to reuse the Astronaut.glb in x3d but now looking at it deeper I see that it is not that easy not only because the blob is some binary form but that the data I want is mostly trapped in the blob. There aren’t that many triangles and there is careful use of color but, I don’t yet see how to extract the x3d code needed for one or more child shapes to compose the figure. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Still, I think there are examples like this in gltf where the asset is some data that has been all or partially processed using inputs from standard x3d fields, and that any gltf asset has a counterport as an x3d field or the result of computing using x3d fields. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So, the alternative for this is </p><p class=MsoNormal>1. Just figure how to load the .glb into x3d player and then show how to build an annotation system in that space or a child space.</p><p class=MsoNormal>2. Extract the mesh and materials to x3d user code and get control of the thing. (I know bufferviews must mean soething, but how to understand “>õ÷²=Ô”)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I can’t see, for now, how to extract the triangles (I can see them in 3D Builder, but can’t modify or save in a readable format.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks, </p><p class=MsoNormal>Joe<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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Saturday, October 8, 2022 2:35 PM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a><br><b>Cc: </b><a href="mailto:vmarchetti@kshell.com">Vincent Marchetti</a>; <a href="mailto:x3d-public@web3d.org">X3D-Public</a><br><b>Subject: </b>Re: [x3d-public] An annotations example and project</p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>I am not interested in binary formats, but i have used EXI (ASCII)  converters to and from JSON.   See X3DJSONLD.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>JSON schemas might be converted with MapForce.  UAYOR.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Perhaps there’s some interest in STL and PLY formats?</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>AFAIK, .glTF appears to be different than .x3d, and is likely closer to .dae.  I am unsure about .glb, i have not approached it.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Stepping backwards to binary is like giving up the progress we’ve made since Assembly was created.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Perhaps we should consider AssemblyScript?  OBJ is preferable to binary.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>John</p></div><div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Sat, Oct 8, 2022 at 3:42 PM Joseph D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>Vincent and John and All, since John and others have been working on ways to get x3d transcoded back and forth with json and now typical .glb (GL Transmission Format Binary file as Standard json) with prescribed names and data form that either are the same or a bit different than standard x3d Node names and Field names and X3DField and X3DArrayField data types. Except of course, those gl asset blobs that represent binary data that would be computed and almost ready to be executed by an x3d player. </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'> </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>*Is that too simple? </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>First, does the .glb carry data that would be appropriate to import directly with maybe name changes or slightly rearranging or completing data for use in a field of a standard x3d field? </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>Second, are there forms of .glb data, especially for animations, blobs that could be expected to be the same as machine-ready input created by x3d browser? </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>Third, I think not likely but please let me know, are there Standard .glb data fields that are not used by x3d? Like before the great material features added in v4? </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>Fourth, any other categories? </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'> </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>That is why the Astronaut.glb file could be very interesting to test. This is an opportunity to start with a successful yet static model with overlaid authoring interactivity, including some binaries of big data, to be moved into x3d space, into a more complete authoring environment, provide some animations and improved, maybe even integral rather than overlaid, interactive features.</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'> </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>So, all we need is that graph that shows matching (direct usability) between .glb fields and x3d fields. A good AI might construct this table from schemas. In particular, what basic scenegraph of x3d nodes can receive this particular Astronaut.glb data directly? </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>Well, also for some glb fields, how to complete or otherwise synthesize x3d syntax from glb data. </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>Finally, to be complete, how an x3d player could use some glb essentially precomputed data to allow the x3d player to provide some functionality, like animations for an object without performing some internal computing steps. If we can add some x3d features and deliver it as .glb …</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'> </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>So yes, this is reasonable example and thanks for finding it.</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'> </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>Thanks, </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'>Joe</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><span style='font-size:10.0pt;font-family:"Courier New"'> </span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:justify;text-justify:inter-ideograph'><b>From: </b><a href="mailto:vmarchetti@kshell.com" target="_blank">Vincent Marchetti</a><br><b>Sent: </b>Wednesday, October 5, 2022 9:47 AM<br><b>To: </b><a href="mailto:joedwil@earthlink.net" target="_blank">Joseph D Williams</a>; <a href="mailto:x3d-public@web3d.org" target="_blank">X3D-Public</a><br><b>Subject: </b>Re: [x3d-public] An annotations example and project</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I am not seeing the error message in viewing the astronaut.glb file, with Microsoft 3D Viewer at version 7.2107.7012.0, but I do see the error with 3D Builder</p></div></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I haven't examined the internal structure of the astronaut.glb data, but it doesn't surprise me that it is  single mesh item.</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>The spirit of this annotation project would be to display the annotations from an externally loaded json structure without regard to the detailed structure of the 3D asset itself.</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Vince</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> On Oct 5, 2022, at 12:02 PM, Joseph D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>> wrote:</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>>            • the underlying asset is a glTF asset</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> 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 style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> _______________________________________________</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> x3d-public mailing list</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> </p></div></div></blockquote></div></div><p class=MsoNormal style='margin-left:4.8pt'>_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>