<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Don,</div><div>Details of changes I made to the X3DNodeInventoryComparison.xlsx to sort by component </div><div dir="ltr"><div>-Doug</div><div><br><div>1. on 'Node Profiles Component Levels' sheet</div></div><div>a. inserted column 'CN' (component number) after the Component column, and made it 2 digits wide</div><div>b. populated CN with the component number, using the chapter number for components in the Architecture guide</div><div>beside Core I put 7</div><div>b. deleted 'damaged text' preventing LOOKUP, from X3D Abstract Specification Nodes, Statements column, and retyped:</div><div>ProtoBody</div><div>ProtoDec;lare</div><div>ProtoInstance</div><div>ProtoInterface</div><div>2. on X3D Players and Tools Sheet</div><div>a. deleted damaged text and retyped, in Node and Statement Support column:</div><div><p class="MsoNormal">Matrix3VertexAttribute<span></span></p>

<p class="MsoNormal">Matrix4VertexAttribute<span></span></p><p class="MsoNormal">b. inserted column 'CN' as first column and made 2 digits wide</p><p class="MsoNormal">c. added a VLOOKUP function in A5 (first row and new CN column - we'll pull CN numbers from the Profiles sheet)</p><p class="MsoNormal">=VLOOKUP(B5,'Node Profiles Components Levels'!A4:G280,5,FALSE)<br></p><p class="MsoNormal">-then duplicated that function down the CN column (by dragging with +) to row 280</p><p class="MsoNormal">(CN column should now have the component number for the node)</p><p class="MsoNormal"><br></p><p class="MsoNormal">3. Macros (they are handy but unsafe if from untrusted sources)</p><p class="MsoNormal">I'll give you the 'algorithm' first so they can be re-recorded or done manually. then append the VB macros</p><p class="MsoNormal">SORT_BY_NODENAME</p><p class="MsoNormal">- select range A5:I280</p><p class="MsoNormal">- custom sort, no headers, ascending, column B</p><p class="MsoNormal">- unselect all</p><p class="MsoNormal">SORT_BY_COMPONENT</p><div>-- select range A5:I280<br></div><div><p class="MsoNormal">- custom sort, first level no headers, column A, ascending</p><p class="MsoNormal">- add second level to custom sort, no headers, column B, ascending (this keeps node names ascending within a component)</p><p class="MsoNormal">- deselect all</p><p class="MsoNormal"><br></p></div><p class="MsoNormal">By showing the recorded and edited macros here, you can see how the sorts are done on the X3D Players and Tools sheet</p><p class="MsoNormal">Sub SORT_BY_NODENAME()<br></p><p class="MsoNormal">'</p><p class="MsoNormal">' SORT_BY_NODENAME Macro</p><p class="MsoNormal">'</p><p class="MsoNormal">' Keyboard Shortcut: Ctrl+Shift+N</p><p class="MsoNormal">'</p><p class="MsoNormal">    Range("A5:I280").Select</p><p class="MsoNormal">    ActiveWorkbook.Worksheets("X3D Players and Tools").Sort.SortFields.Clear</p><p class="MsoNormal">    ActiveWorkbook.Worksheets("X3D Players and Tools").Sort.SortFields.Add2 Key:= _</p><p class="MsoNormal">        Range("B5:B280"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _</p><p class="MsoNormal">        :=xlSortNormal</p><p class="MsoNormal">    With ActiveWorkbook.Worksheets("X3D Players and Tools").Sort</p><p class="MsoNormal">        .SetRange Range("A5:I280")</p><p class="MsoNormal">        .Header = xlGuess</p><p class="MsoNormal">        .MatchCase = False</p><p class="MsoNormal">        .Orientation = xlTopToBottom</p><p class="MsoNormal">        .SortMethod = xlPinYin</p><p class="MsoNormal">        .Apply</p><p class="MsoNormal">    End With</p><p class="MsoNormal">    Range("A3:A3").Select</p><p class="MsoNormal">End Sub</p><p class="MsoNormal"><br></p><p class="MsoNormal">Sub SORT_BY_COMPONENT()</p><p class="MsoNormal">'</p><p class="MsoNormal">' SORT_BY_COMPONENT Macro</p><p class="MsoNormal">'</p><p class="MsoNormal">' Keyboard Shortcut: Ctrl+Shift+C</p><p class="MsoNormal">'</p><p class="MsoNormal">    Range("A5:I280").Select</p><p class="MsoNormal">    ActiveWorkbook.Worksheets("X3D Players and Tools").Sort.SortFields.Clear</p><p class="MsoNormal">    ActiveWorkbook.Worksheets("X3D Players and Tools").Sort.SortFields.Add2 Key:= _</p><p class="MsoNormal">        Range("A5:A280"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _</p><p class="MsoNormal">        :=xlSortNormal</p><p class="MsoNormal">    ActiveWorkbook.Worksheets("X3D Players and Tools").Sort.SortFields.Add2 Key:= _</p><p class="MsoNormal">        Range("B5:B280"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _</p><p class="MsoNormal">        :=xlSortNormal</p><p class="MsoNormal">    With ActiveWorkbook.Worksheets("X3D Players and Tools").Sort</p><p class="MsoNormal">        .SetRange Range("A5:I280")</p><p class="MsoNormal">        .Header = xlGuess</p><p class="MsoNormal">        .MatchCase = False</p><p class="MsoNormal">        .Orientation = xlTopToBottom</p><p class="MsoNormal">        .SortMethod = xlPinYin</p><p class="MsoNormal">        .Apply</p><p class="MsoNormal">    End With</p><p class="MsoNormal">    Range("A3:A3").Select</p><p class="MsoNormal">End Sub</p></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 31, 2023 at 1:02 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div>
<div>
<div>
<div dir="ltr">Please send all changes to me (Don Brutzman) and cc: X3D-Public list.  If there is discussion we get to it Fridays.  If people send something way convoluted then nothing happens.  Same as always.</div>
</div>
<div id="m_-6420090738157244569ms-outlook-mobile-signature">
<div><br>
</div>
<div dir="ltr">
<p style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5">all the best, Don</span></p>
<p style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5">--<span> </span></span></p>
<p style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5">Don Brutzman  Naval Postgraduate School, Code USW/Br       <span> </span><span dir="ltr" style="color:rgb(0,120,212)"><a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a></span></span></p>
<p style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   <span> </span><span dir="ltr" style="color:rgb(0,120,212)">+1.831.656.2149</span></span></p>
<div style="margin:0px 0in;font-size:11pt;font-family:Calibri,sans-serif">
<span style="font-size:10pt;font-family:"Courier New";line-height:1.5">X3D graphics, virtual worlds, Navy robotics
</span><span style="font-size:10pt;font-family:"Courier New";line-height:1.5"><span dir="ltr" style="color:rgb(0,120,212)"><a href="https://faculty.nps.edu/brutzman" target="_blank">https://faculty.nps.edu/brutzman</a></span></span></div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%">
<div id="m_-6420090738157244569divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>><br>
<b>Sent:</b> Tuesday, January 31, 2023 11:40:16 AM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
<b>Cc:</b> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Subject:</b> Re: [x3d-public] Browser Comparison > sorting, Levels for GLTF and HTML</font>
<div> </div>
</div>
<div>
<p></p>
<div style="background-color:rgb(0,70,121);width:100%;border-style:solid;border-color:rgb(0,70,121);border-width:1pt;padding:2pt;font-size:10pt;line-height:12pt;font-family:Calibri;color:yellow;text-align:left">
<span style="color:yellow">NPS WARNING:</span> *external sender* verify before acting.</div>
<br>
<p></p>
<div>
<div dir="ltr">Don how do I submit changes to the archival quality spreadsheet you gave a link to?<br>
<div>Thanks, Doug</div>
</div>
<br>
<div>
<div dir="ltr">On Tue, Jan 31, 2023 at 9:59 AM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br>
</div>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div lang="EN-US">
<div>
<p>John, why not use our published links?  I won’t be maintaining documents at Google Docs links, they are not archival.<u></u><u></u></p>
<p><u></u> <u></u></p>
<ul type="disc" style="margin-top:0in">
<li style="margin-left:0in"><a href="https://www.web3d.org/specifications" target="_blank">https://www.web3d.org/specifications</a><u></u><u></u></li><li style="color:black;background:rgb(204,255,255)"><i><span style="font-size:13.5pt;font-family:"Times New Roman",serif">Updated.</span></i><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx" target="_blank">X3D
 Node Inventory Comparison</a> (<a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf" target="_blank">.pdf</a>) shows node-by-node implementation coverage of the X3D Abstract Specification: validation using X3D Schema, X3D DOCTYPE, and
 X3D Schematron; X3D Tooltips and VRML97 node sets; plus selected open-source implementations: FreeWrl, X3DOM, X_ITE, view3dscene (Castle Game Engine), X3D-Edit, Xj3D.<u></u><u></u></span></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx" target="_blank">https://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx</a><u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf" target="_blank">https://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf</a><u></u><u></u></li></ul>
<p><u></u> <u></u></p>
<p>As ever, I am happy to integrate and publish all changes and additions to the spreadsheet.  It is also maintained in version control so that we have the reliability of a full change-by-change history.<u></u><u></u></p>
<ul type="disc" style="margin-top:0in">
<li style="margin-left:0in"><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fp%2Fx3d%2Fcode%2FHEAD%2Ftree%2Fwww.web3d.org%2Fspecifications&data=05%7C01%7Cbrutzman%40nps.edu%7Ce7c3c65aec6945863cd508db03c3036e%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638107908335380807%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=jYTmkkCQa%2B2R38DNjxZzsOpie%2BygLH2kZZQxWQvgUT8%3D&reserved=0" target="_blank">https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/specifications</a><u></u><u></u></li></ul>
<p><u></u> <u></u></p>
<p>If the spreadsheet above contains macros that should be removed, we can work on that.  Meanwhile the PDF version (published from the spreadsheet) should be secure to everyone’s satisfaction, on whatever operating system and tool setup
 that they are using.<u></u><u></u></p>
<p><u></u> <u></u></p>
<p>Some of your notes below sound pretty extensive… feel free to explore new comparisons using whatever document you like, we can integrate later once it reaches some level of stability.<u></u><u></u></p>
<p><u></u> <u></u></p>
<p>Further improvements always welcome, this is a recurring weekly topic on X3D Working Group videoconferences.  Again thanks for further pursuit of progress.<u></u><u></u></p>
<p><span style="font-size:10pt;font-family:"Courier New""><u></u> <u></u></span></p>
<p><span style="font-size:10pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p>
<p><span style="font-size:10pt;font-family:"Courier New"">--
<u></u><u></u></span></p>
<p><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br       
<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><u></u><u></u></span></p>
<p><span style="font-size:10pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u></u><u></u></span></p>
<p><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, Navy robotics https://</span>
<span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" target="_blank">faculty.nps.edu/brutzman</a><u></u><u></u></span></p>
<p><u></u> <u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p><b>From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>>
<b>On Behalf Of </b>GPU Group<br>
<b>Sent:</b> Monday, January 30, 2023 6:41 PM<br>
<b>To:</b> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Subject:</b> [x3d-public] Browser Comparison > sorting, Levels for GLTF and HTML<u></u><u></u></p>
</div>
<p><u></u> <u></u></p>
<div>
<div>
<div>
<div>
<p><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1pJ4vuOAAH_rToCsDNlKqrWv7QvlLmX1f%2Fview%3Fusp%3Dshare_link&data=05%7C01%7Cbrutzman%40nps.edu%7Ce7c3c65aec6945863cd508db03c3036e%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638107908335537042%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hf8l0%2F6TaTF%2BNJwNEJYKM7v2OS%2F3gueEMqIiAMOnCeM%3D&reserved=0" target="_blank">https://drive.google.com/file/d/1pJ4vuOAAH_rToCsDNlKqrWv7QvlLmX1f/view?usp=share_link</a> <u></u><u></u></p>
</div>
<div>
<p>X3DNode_DRAFT2.xlsm - has VB macros<u></u><u></u></p>
</div>
<div>
<p><u></u> <u></u></p>
</div>
<div>
<p><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.google.com%2Fspreadsheets%2Fd%2F1p51wgwlGxUfgWOaCM6QkJ9AJ6VONimYu%2Fedit%3Fusp%3Dshare_link%26ouid%3D100938900505038082978%26rtpof%3Dtrue%26sd%3Dtrue&data=05%7C01%7Cbrutzman%40nps.edu%7Ce7c3c65aec6945863cd508db03c3036e%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638107908335537042%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=uGd4Xy6SnYKdhjGPwM7olPK9pGaeNF71YFHewXSGyNM%3D&reserved=0" target="_blank">https://docs.google.com/spreadsheets/d/1p51wgwlGxUfgWOaCM6QkJ9AJ6VONimYu/edit?usp=share_link&ouid=100938900505038082978&rtpof=true&sd=true</a><u></u><u></u></p>
</div>
<div>
<p>X3DNode_DRAFT2.xlsx<u></u><u></u></p>
</div>
<div>
<p><u></u> <u></u></p>
</div>
<div>
<p>the xlsm variant has 2 recorded macros for sorting<u></u><u></u></p>
</div>
<div>
<p>SORT_BY_NODENAME<u></u><u></u></p>
</div>
<div>
<p>SORT_BY_COMPONENT<u></u><u></u></p>
</div>
<div>
<p><u></u> <u></u></p>
</div>
<div>
<p>Suggested enhancements:<u></u><u></u></p>
</div>
<div>
<p>Levels of GLTF support<u></u><u></u></p>
</div>
<div>
<p>Level 0 None<u></u><u></u></p>
</div>
<div>
<p>Level 1 .gltf loaded as Inline, basic geometry with materials<u></u><u></u></p>
</div>
<div>
<p>Level 2 any enhancements over Level 1: .glb, loading materials as library for use in x3d scene, animations and skinning<u></u><u></u></p>
</div>
<div>
<p><u></u> <u></u></p>
</div>
<div>
<p>Levels of HTML support<u></u><u></u></p>
</div>
<div>
<p>Level 0 None<u></u><u></u></p>
</div>
<div>
<p>Level 1 hybrid, can show html and scene but no standard communicatio between layers / frames<u></u><u></u></p>
</div>
<div>
<p>Level 2 standardized way to communicate between scene and html<u></u><u></u></p>
</div>
<div>
<p>Level 3 full integration<u></u><u></u></p>
</div>
<div>
<p><u></u> <u></u></p>
</div>
<div>
<p>-Doug<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>

</blockquote></div>