<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;}
p.m-7957764918232679673msolistparagraph, li.m-7957764918232679673msolistparagraph, div.m-7957764918232679673msolistparagraph
        {mso-style-name:m_-7957764918232679673msolistparagraph;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        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:173611839;
        mso-list-template-ids:-1;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1
        {mso-list-id:841090481;
        mso-list-template-ids:-1;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l2
        {mso-list-id:844630932;
        mso-list-type:hybrid;
        mso-list-template-ids:-848688036 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2: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 l2: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 l2: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 l2: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 l2: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 l2: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 l2: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 l2: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 l2: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;}
@list l3
        {mso-list-id:2089226657;
        mso-list-template-ids:-1;}
@list l3:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
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:l2 level1 lfo1'>Perhaps it would be best to start with python or java to create humanoids, instead of starting with XML?</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>To me, the opportunity to use alternate encodings is fun but really, XML is hard enough and I have not seen any additional expressive concepts to aid authoring in other encodings, only limitations because mostly not intended or well developed for the compete scene graph, but potentially very useful for certain transport jobs. </p><p class=MsoNormal>For the XML, we are accumulating authoring aids and firm validation by reliable schema tools that may be enough to capture the full expression of x3d. Thus, when we want to transport x3d scene graph, we can now best trust the x3d xml schema. So, XML becomes the standard definition by which conformance by all others are therefore derived. </p><p class=MsoNormal>Use whatever you wish, just please, for validation, present best xml useful for example user code in Part 1 Annex A. Please  make sure you can generate reasonable .x3d XML with appropriate comments from whatever you use to generate the V2 LOA4 in appropriate Human dimensions mostly shown in the last two tables in annex A. If we can refine those numbers then we can change the value in the table. We just need an up to date xml example in Part 1 Annex A. </p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l2 level1 lfo1'>What I suggest we try to do is create a "DNA" builder, by reverse engineering humanoid examples.  And from the "DNA", procedurally generate humanoids.<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note that the schema for the HAnimHumanoid fully describes the joint hierarchy and the various sites associated with each Joint. A plan is that we should be able to build a character based on that data directly, if we know all the measurements. A smart enogh ai would naturally know to start with the suggested set of joint and site locations in human scale appropriate for the model dimensions. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks, </p><p class=MsoNormal>Joe</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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Sunday, January 8, 2023 10:57 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a><br><b>Cc: </b><a href="mailto:joedwil@earthlink.net">Joe D Williams</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: Archive does not validate with X3D validator, at least with schematron.</p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>I realize hand-crafting any computer code, in any language is tremendously hard.  That's why I try to do automated generation (program synthesis) as much as possible.</p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>That's why I attempted to create grammars, schemas, etc., because they lead toward "procedural generation." This is a bit like generating a humanoid from a kind of "DNA" or metahuman. What I suggest we try to do is create a "DNA" builder, by reverse engineering humanoid examples.  And from the "DNA", procedurally generate humanoids.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Perhaps it would be best to start with python or java to create humanoids, instead of starting with XML?</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Just thinking out loud here. Not demanding anything at this point.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I think the challenge is to create a prototype, then tweak the prototype.  Let me know how I can help, possibly by converting the prototype to various encodings and bindings?</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Maybe it would be appropriate to develop something that would mutate a model?</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks for listening.</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 Sun, Jan 8, 2023 at 11:58 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</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-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>John: HAnim models are among the largest and most detailed we have.  It is a lot of work to get a 3D model perfectly correct… but then it works and is checkable/repeatable/useful.  I don’t think that anyone anywhere can do any kind of apparel or medical modeling with paying immense attention to Quality Assurance (QA), as we are.  The day after a flashy demo is important too.</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>Over time, by paying attention to bugfixes and corrections through the addition of validation and diagnostics, Joe and I have reduced the number of previously undetected bugs from gargantuan to merely huge.  Half of that challenge is getting diagnostics correct in the first place, no easy feat.  The Great Bug Hunt continues, to good effect.</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>If you want to see our latest test outputs from X3D Schematron, this past weekend I have updated that file as follows.  It is prominently listed in the HAnim Example Archives themselves.</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><ul type=disc><li class=m-7957764918232679673msolistparagraph style='mso-list:l1 level1 lfo2'>HumanoidAnimation (HAnim) X3D Examples Archive</li><li class=m-7957764918232679673msolistparagraph style='mso-list:l1 level1 lfo2'>8 Directories, 86 X3D Models (with most models working but few perfect)</li><li class=m-7957764918232679673msolistparagraph style='mso-list:l1 level1 lfo2'><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation</a></li></ul><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><ul type=disc><li class=m-7957764918232679673msolistparagraph style='mso-list:l3 level1 lfo3'><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/build.schematron.log.txt" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/build.schematron.log.txt</a></li></ul><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>Also updated, here is an improved feature in the pretty-print HTML for each model, which includes much special handling of HAnim.  This continues the automated elaboration of Joe’s original technique using plain-old-ASCII text descriptions of the HAnim tree structure.  Enjoy.</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><ul type=disc><li class=m-7957764918232679673msolistparagraph style='mso-list:l0 level1 lfo4'><i>X3D Example Archives: </i>Humanoid Animation, Skin, Joe Skeleton Skin Site Salute Walk</li><li class=m-7957764918232679673msolistparagraph style='mso-list:l0 level1 lfo4'><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalkIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalkIndex.html</a></li><li class=m-7957764918232679673msolistparagraph style='mso-list:l0 level1 lfo4'><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalk.html" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalk.html</a></li><li class=m-7957764918232679673msolistparagraph style='mso-list:l0 level1 lfo4'><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalk.html#HumanHAnimHumanoidReport" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalk.html#HumanHAnimHumanoidReport</a></li></ul><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><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;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>HAnimHumanoid Joe_Human skeleton holds X3D4 HAnim2 joints/segments/sites and a skin node.</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>  [key] jointname : segmentname ^ sitename</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>[nodes] HAnimJoint (89), : HAnimSegment (90), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (88), @ skin nodes (1)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><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;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>HAnimHumanoid DEF='Joe_Human name='Human' loa='-1'</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>skin Shape DEF='SkinShape'</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>skeleton</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>  HumanoidRoot : sacrum</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    sacroiliac : pelvis ^ l_iliocristale, l_trochanterion, r_iliocristale, r_trochanterion, l_asis, r_asis, l_psis, r_psis, floormarker, crotch</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    | l_hip : l_thigh ^ l_knee_crease, l_femoral_lateral_epicn, l_femoral_medial_epicn</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    | | l_knee : l_calf ^ l_lateral_malleolus, l_medial_malleolus</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    | |   l_ankle (HAnim2 name l_talocrural) : l_hindfoot (HAnim2 name l_talocrural) ^ l_sphyrion (HAnim2 name l_talocrural), l_calcaneous_post (HAnim2 name l_talocrural)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    | |     l_subtalar (HAnim2 name l_tarsometatarsal_2) : l_midproximal (HAnim2 name l_tarsometatarsal_2)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    | |       l_midtarsal (HAnim2 name l_metatarsophalangeal_2) : l_middistal (HAnim2 name l_metatarsophalangeal_2) ^ l_metatarsal_pha1 (HAnim2 name l_metatarsophalangeal_2)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    | |         l_metatarsal (HAnim2 name l_tarsal_distal_interphalangeal_2) : l_forefoot (HAnim2 name l_tarsal_distal_interphalangeal_2) ^ l_metatarsal_pha5 (HAnim2 name l_tarsal_distal_interphalangeal_2), l_digit2 (HAnim2 name l_tarsal_distal_interphalangeal_2)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    | r_hip : r_thigh ^ r_knee_crease, r_femoral_lateral_epicn, r_femoral_medial_epicn</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    |   r_knee : r_calf ^ r_lateral_malleolus, r_medial_malleolus</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    |     r_ankle (HAnim2 name r_talocrural) : r_hindfoot (HAnim2 name r_talocrural) ^ r_sphyrion (HAnim2 name r_talocrural), r_calcaneous_post (HAnim2 name r_talocrural)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    |       r_subtalar (HAnim2 name r_tarsometatarsal_2) : r_midproximal (HAnim2 name r_tarsometatarsal_2)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    |         r_midtarsal (HAnim2 name r_metatarsophalangeal_2) : r_middistal (HAnim2 name r_metatarsophalangeal_2) ^ r_metatarsal_pha1 (HAnim2 name r_metatarsophalangeal_2)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    |           r_metatarsal (HAnim2 name r_tarsal_distal_interphalangeal_2) : r_forefoot (HAnim2 name r_tarsal_distal_interphalangeal_2) ^ r_metatarsal_pha5 (HAnim2 name r_tarsal_distal_interphalangeal_2), r_digit2 (HAnim2 name r_tarsal_distal_interphalangeal_2)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>    vl5 : toPelvis l5 ^ waist_preferred_post, navel</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>      vl4 : l4</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>        vl3 : l3</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>          vl2 : l2 ^ r_rib10, l_rib10, rib10_midspine</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>            vl1 : l1</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>              vt12 : t12</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                vt11 : t11</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                  vt10 : t10 ^ substernale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                    vt9 : t9 ^ r_thelion, l_thelion</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                      vt8 : t8</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                        vt7 : t7</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                          vt6 : t6</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                            vt5 : t5</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                              vt4 : t4</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                vt3 : t3</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                  vt2 : t2</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    vt1 : t1 ^ suprasternale, cervicale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | vc7 : c7 ^ r_neck_base, l_neck_base</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | | vc6 : c6</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | |   vc5 : c5</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | |     vc4 : c4</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | |       vc3 : c3</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | |         vc2 : c2</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | |           vc1 : c1</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | |             skullbase : skull ^ skull_tip, sellion, r_infraorbitale, l_infraorbitale, supramenton, r_tragion, r_gonion, l_tragion, l_gonion, nuchale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | |               l_eyeball_joint : l_eyeball</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | |               r_eyeball_joint : r_eyeball</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    | l_sternoclavicular : l_clavicle ^ l_clavicale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |   l_acromioclavicular : l_scapula ^ l_acromion, l_axilla_ant, l_axilla_post</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |     l_shoulder : l_upperarm ^ l_humeral_medial_epicn, l_radiale, l_humeral_lateral_epicn</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |       l_elbow : l_forearm ^ l_radial_styloid, l_olecranon</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |         l_wrist (HAnim2 name l_radiocarpal) : l_hand (HAnim2 name l_radiocarpal) ^ l_metacarpal_pha2 (HAnim2 name l_radiocarpal), l_ulnar_styloid (HAnim2 name l_radiocarpal), l_metacarpal_pha5 (HAnim2 name l_radiocarpal)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           l_thumb1 : l_thumb_metacarpal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           | l_thumb2 : l_thumb_distal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           |   l_thumb3 : l_thumb_distal ^ l_thumb_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           l_index0 : l_index_metacarpal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           | l_index1 : l_index_proximal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           |   l_index2 : l_index_middle</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           |     l_index3 : l_index_distal ^ l_index_distal_tip, l_dactylion</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           l_middle0 : l_middle_metacarpal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           | l_middle1 : l_middle_proximal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           |   l_middle2 : l_middle_middle</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           |     l_middle3 : l_middle_distal ^ l_middle_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           l_ring0 : l_ring_metacarpal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           | l_ring1 : l_ring_proximal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           |   l_ring2 : l_ring_middle</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           |     l_ring3 : l_ring_distal ^ l_ring_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |           l_pinky0 : l_pinky_metacarpal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |             l_pinky1 : l_pinky_proximal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |               l_pinky2 : l_pinky_middle</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    |                 l_pinky3 : l_pinky_distal ^ l_pinky_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                    r_sternoclavicular : r_clavicle ^ r_clavicale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                      r_acromioclavicular : r_scapula ^ r_acromion, r_axilla_ant, r_axilla_post</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                        r_shoulder : r_upperarm ^ r_humeral_medial_epicn, r_radiale, r_humeral_lateral_epicn</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                          r_elbow : r_forearm ^ r_radial_styloid, r_olecranon</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                            r_wrist (HAnim2 name r_radiocarpal) : r_hand (HAnim2 name r_radiocarpal) ^ r_ulnar_styloid (HAnim2 name r_radiocarpal)</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              r_thumb1 : r_thumb_metacarpal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              | r_thumb2 : r_thumb_proximal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              |   r_thumb3 : r_thumb_distal ^ r_thumb_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              r_index0 : r_index_metacarpal ^ r_metacarpal_pha2</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              | r_index1 : r_index_proximal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              |   r_index2 : r_index_middle</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              |     r_index3 : r_index_distal ^ r_index_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              r_middle0 : r_middle_metacarpal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              | r_middle1 : r_middle_proximal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              |   r_middle2 : r_middle_middle</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              |     r_middle3 : r_middle_distal ^ r_dactylion, r_middle_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              r_ring0 : r_ring_metacarpal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              | r_ring1 : r_ring_proximal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              |   r_ring2 : r_ring_middle</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              |     r_ring3 : r_ring_distal ^ r_ring_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                              r_pinky0 : r_pinky_metacarpal ^ r_metacarpal_pha5</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                                r_pinky1 : r_pinky_proximal</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                                  r_pinky2 : r_pinky_middle</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>                                                    r_pinky3 : r_pinky_distal ^ r_pinky_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><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;margin-left:9.6pt'><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;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment pelvis holds 10 HAnimSite nodes: l_iliocristale, l_trochanterion, r_iliocristale, r_trochanterion, l_asis, r_asis, l_psis, r_psis, floormarker, crotch</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_thigh holds 3 HAnimSite nodes: l_knee_crease, l_femoral_lateral_epicn, l_femoral_medial_epicn</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_calf holds 2 HAnimSite nodes: l_lateral_malleolus, l_medial_malleolus</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_hindfoot holds 2 HAnimSite nodes: l_sphyrion, l_calcaneous_post</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_middistal holds 1 HAnimSite node: l_metatarsal_pha1</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_forefoot holds 2 HAnimSite nodes: l_metatarsal_pha5, l_digit2</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_thigh holds 3 HAnimSite nodes: r_knee_crease, r_femoral_lateral_epicn, r_femoral_medial_epicn</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_calf holds 2 HAnimSite nodes: r_lateral_malleolus, r_medial_malleolus</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_hindfoot holds 2 HAnimSite nodes: r_sphyrion, r_calcaneous_post</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_middistal holds 1 HAnimSite node: r_metatarsal_pha1</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_forefoot holds 2 HAnimSite nodes: r_metatarsal_pha5, r_digit2</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l5 holds 2 HAnimSite nodes: waist_preferred_post, navel</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l2 holds 3 HAnimSite nodes: r_rib10, l_rib10, rib10_midspine</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment t10 holds 1 HAnimSite node: substernale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment t9 holds 2 HAnimSite nodes: r_thelion, l_thelion</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment t1 holds 2 HAnimSite nodes: suprasternale, cervicale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment c7 holds 2 HAnimSite nodes: r_neck_base, l_neck_base</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment skull holds 10 HAnimSite nodes: skull_tip, sellion, r_infraorbitale, l_infraorbitale, supramenton, r_tragion, r_gonion, l_tragion, l_gonion, nuchale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_clavicle holds 1 HAnimSite node: l_clavicale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_scapula holds 3 HAnimSite nodes: l_acromion, l_axilla_ant, l_axilla_post</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_upperarm holds 3 HAnimSite nodes: l_humeral_medial_epicn, l_radiale, l_humeral_lateral_epicn</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_forearm holds 2 HAnimSite nodes: l_radial_styloid, l_olecranon</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_hand holds 3 HAnimSite nodes: l_metacarpal_pha2, l_ulnar_styloid, l_metacarpal_pha5</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_thumb_distal holds 1 HAnimSite node: l_thumb_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_index_distal holds 2 HAnimSite nodes: l_index_distal_tip, l_dactylion</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_middle_distal holds 1 HAnimSite node: l_middle_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_ring_distal holds 1 HAnimSite node: l_ring_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment l_pinky_distal holds 1 HAnimSite node: l_pinky_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_clavicle holds 1 HAnimSite node: r_clavicale</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_scapula holds 3 HAnimSite nodes: r_acromion, r_axilla_ant, r_axilla_post</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_upperarm holds 3 HAnimSite nodes: r_humeral_medial_epicn, r_radiale, r_humeral_lateral_epicn</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_forearm holds 2 HAnimSite nodes: r_radial_styloid, r_olecranon</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_hand holds 1 HAnimSite node: r_ulnar_styloid</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_thumb_distal holds 1 HAnimSite node: r_thumb_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_index_metacarpal holds 1 HAnimSite node: r_metacarpal_pha2</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_index_distal holds 1 HAnimSite node: r_index_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_middle_distal holds 2 HAnimSite nodes: r_dactylion, r_middle_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_ring_distal holds 1 HAnimSite node: r_ring_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_pinky_metacarpal holds 1 HAnimSite node: r_metacarpal_pha5</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>^ HAnimSegment r_pinky_distal holds 1 HAnimSite node: r_pinky_distal_tip</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><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;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>@ HAnimHumanoid Human holds 1 containerField='skin' node: Shape DEF='SkinShape'</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><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;margin-left:9.6pt'><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;margin-left:9.6pt'><span style='font-size:10.0pt'>No kidding, real deal.  Have fun with X3D and HAnim2.  8)</span></p></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><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;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>all the best, Don</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><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;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><span style='font-size:10.0pt;font-family:"Courier New"'>X3D graphics, virtual worlds, Navy robotics https://</span> <span style='font-size:10.0pt;font-family:"Courier New"'><a href="http://faculty.nps.edu/brutzman" target="_blank">faculty.nps.edu/brutzman</a></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'><b>From:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> <br><b>Sent:</b> Saturday, January 7, 2023 7:12 PM<br><b>To:</b> Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>>; X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>; Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>><br><b>Subject:</b> Re: Archive does not validate with X3D validator, at least with schematron.</p></div></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><div><div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>Note: The python conversion validation. x3d.py package up-to-date, Below</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>So there's probably something specific to X3D schematron (not XML). I will try my version.</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>Suggestion. People find a reasonably patterned HAnim V2 model, and I will copy the pattern to create an LOA4 model.  I believe this is the best path forward.</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>~/X3DJSONLD/src/main/python ~/X3DJSONLD/src/main/shell</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>x3d.py package 4.0.64.2 loaded, have fun with X3D Graphics!</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>Self-test diagnostics for JoeSkeletonSkinSaluteSiteWalk.py:</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>meta information, warning: Under development, numerous errors and warnings, TODO: This is an HAnimV1 loa model, might need to convert to X3D4 to note loa value, TODO: Provide feedback to tovrmlx3d converter, TODO: HAnimJoint cannot contain X3DChildNode elements, only HAnimJoint HAnimSegmet HAnimSite - improve diagnostics. TODO: ensure name prefix "Joe_" applied to all contained DEF values (not name field), perhaps correction automatically applied by X3DTidy</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>Python-to-XML well-formed XML document  test of XML output complete</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>Python-to-XML X3D 4.0 schema validation test of XML output complete</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>Python-to-VRML export of VRML output successful</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>Python-to-JSON export of JSON output successful (under development)</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>python JoeSkeletonSkinSaluteSiteWalk.py load and self-test diagnostics complete.</p></div></div></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'> </p><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>On Sat, Jan 7, 2023 at 8:50 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</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-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:19.2pt'>This is a work in progress, I think, but realize it's on the X3D Resources Examples archive website:</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:19.2pt'> </p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:19.2pt'><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalk.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalk.x3d</a></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:19.2pt'> </p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:19.2pt'>Have fun with X3D!</p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:19.2pt'> </p></div></div></blockquote></div></div></div></div></div></blockquote></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt'>John</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>