<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-2022-jp">
<html xmlns:v="urn:schemas-microsoft-com:vml" 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 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;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
h4
{mso-style-priority:9;
mso-style-link:"Heading 4 Char";
margin-top:2.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:0in;
page-break-after:avoid;
font-size:11.0pt;
font-family:"Calibri Light",sans-serif;
color:#2F5496;
font-weight:normal;
font-style:italic;}
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;}
span.EmailStyle19
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.Heading4Char
{mso-style-name:"Heading 4 Char";
mso-style-priority:9;
mso-style-link:"Heading 4";
font-family:"Calibri Light",sans-serif;
color:#2F5496;
mso-ligatures:none;
font-style:italic;}
.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:556279671;
mso-list-type:hybrid;
mso-list-template-ids:94378174 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:.25in;
text-indent:-.25in;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:.75in;
text-indent:-.25in;}
@list l0:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:1.25in;
text-indent:-9.0pt;}
@list l0:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:1.75in;
text-indent:-.25in;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:2.25in;
text-indent:-.25in;}
@list l0:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:2.75in;
text-indent:-9.0pt;}
@list l0:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:3.25in;
text-indent:-.25in;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:3.75in;
text-indent:-.25in;}
@list l0:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:4.25in;
text-indent:-9.0pt;}
@list l1
{mso-list-id:725370683;
mso-list-type:hybrid;
mso-list-template-ids:1060770584 67698703 -1 -1 -1 -1 -1 -1 -1 -1;}
@list l1:level1
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l1: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 l1: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 l1: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 l1: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 l1: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 l1: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 l1: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 l1: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 l2
{mso-list-id:889725398;
mso-list-type:hybrid;
mso-list-template-ids:30079542 1484666208 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
{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;
mso-fareast-font-family:Calibri;
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:930629773;
mso-list-type:hybrid;
mso-list-template-ids:632455152 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l3:level1
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:.25in;
text-indent:-.25in;}
@list l3:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:.75in;
text-indent:-.25in;}
@list l3:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:1.25in;
text-indent:-9.0pt;}
@list l3:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:1.75in;
text-indent:-.25in;}
@list l3:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:2.25in;
text-indent:-.25in;}
@list l3:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:2.75in;
text-indent:-9.0pt;}
@list l3:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:3.25in;
text-indent:-.25in;}
@list l3:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:3.75in;
text-indent:-.25in;}
@list l3:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:4.25in;
text-indent:-9.0pt;}
@list l4
{mso-list-id:1102529345;
mso-list-template-ids:-969743582;}
@list l4: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 l4:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l4:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l5
{mso-list-id:1448157986;
mso-list-type:hybrid;
mso-list-template-ids:1015728522 -1242545032 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l5:level1
{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;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l5: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 l5: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 l5: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 l5: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 l5: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 l5: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 l5: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 l5: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><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>I believe that the following email is trying to report that <o:p></o:p></p><ol style='margin-top:0in' start=1 type=1><li class=MsoListParagraph style='margin-left:0in;mso-list:l1 level1 lfo6'><span style='background:yellow;mso-highlight:yellow'>HAnimHumanoid with a non-positive scale is being reported as invalid.<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l1 level1 lfo6'><span style='background:yellow;mso-highlight:yellow'>HAnimHumanoid USE nodes are getting output out of order.<o:p></o:p></span></li></ol><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Let’s look further at whether those are the problem issues.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ol style='margin-top:0in' start=1 type=1><li class=MsoListParagraph style='margin-left:-.25in;mso-list:l3 level1 lfo5'>Looking at X3D Architecture Specification,<o:p></o:p></li></ol><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='color:black;margin-top:10.5pt;mso-margin-bottom-alt:auto;margin-left:0in;mso-list:l2 level1 lfo1'><b><span style='font-size:14.5pt;font-family:"Verdana",sans-serif'>26.3.2 HAnimHumanoid<o:p></o:p></span></b></li></ul><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l2 level1 lfo1'><![if !supportLists]><span style='font-size:8.5pt;font-family:Symbol;color:black'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='font-size:8.5pt;font-family:"Courier New";color:black'>HAnimHumanoid : X3DChildNode, X3DBoundedObject {<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l2 level1 lfo1'><![if !supportLists]><span style='font-size:8.5pt;font-family:Symbol;color:black'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='font-size:8.5pt;font-family:"Courier New";color:black'> […]<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l2 level1 lfo1'><![if !supportLists]><span style='font-size:8.5pt;font-family:Symbol;color:black'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='font-size:8.5pt;font-family:"Courier New";color:black'> SFVec3f [in,out] scale 1 1 1 (0,∞)<o:p></o:p></span></p><p class=MsoListParagraph><span style='font-size:8.5pt;font-family:"Courier New";color:black'><o:p> </o:p></span></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l2 level1 lfo1'><![if !supportLists]><span style='font-family:Symbol;color:black'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='color:black'>https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimHumanoid<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Indicates that is the specified bounds for validity.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So the reported error message is precisely correct.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If anyone is wondering “how did x3d.py know that” you can find the same information in X3D Unified Object Model (X3DUOM), which is used to autogenerate x3d.py library:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'>class Transform(_X3DGroupingNode):<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'> def scale(self, scale):<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'> if scale is None:<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'> scale = (1, 1, 1) # default<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'> assertValidSFVec3f(scale)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'> self.__scale = scale<o:p></o:p></span></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'>X3DUOM 4.0<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l2 level1 lfo1'>https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:.25in'><span style='font-size:9.0pt;font-family:"Courier New"'><ConcreteNode name="HAnimHumanoid"><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.25in'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.25in'><span style='font-size:9.0pt;font-family:"Courier New"'> <field name="scale"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.25in'><span style='font-size:9.0pt;font-family:"Courier New"'> type="SFVec3f"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.25in'><span style='font-size:9.0pt;font-family:"Courier New"'> accessType="inputOutput"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.25in'><span style='font-size:9.0pt;font-family:"Courier New"'> default="1 1 1"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.25in'><span style='font-size:9.0pt;font-family:"Courier New"'> minExclusive="0"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.25in'><span style='font-size:9.0pt;font-family:"Courier New"'> description="Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation."/><o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>which in turn is built from X3D 4.0 XML Schema, which would similarly flag this invalid scale value.<o:p></o:p></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'>X3D Specifications: Schema and DOCTYPE Validation<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l2 level1 lfo1'>https://www.web3d.org/specifications<o:p></o:p></li></ul><h4 style='margin-left:.25in;background:#CCFFFF'><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'> Recommended Validation and Implementation Assets<o:p></o:p></span></h4><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.75in;text-indent:-.25in;mso-list:l4 level1 lfo2;background:#CCFFFF'><![if !supportLists]><span style='font-size:10.0pt;font-family:Symbol;color:black'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>X3D XML Schema <a href="https://www.web3d.org/specifications/x3d-4.0.xsd" target="_blank">x3d-4.0.xsd</a> and <a href="https://www.web3d.org/specifications/X3dSchemaDocumentation4.0.html" target="_blank">documentation</a> (latest)<o:p></o:p></span></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l4 level1 lfo2'>HAnimHumanoid documentation<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l4 level1 lfo2'>https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0_HAnimHumanoid.html#Link147<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='text-indent:.25in'><span style='font-size:9.0pt;font-family:"Courier New"'>scale SFVec3f 1 1 1 appinfo <xs:minExclusive value="0"/><o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Further informal guidance plus reference links can be found in X3D Tooltips:<o:p></o:p></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:l4 level1 lfo2'>X3D Tooltips 4.0, HAnimHumanoid scale<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l4 level1 lfo2'>https://www.web3d.org/x3d/tooltips/X3dTooltips.html#HAnimHumanoid.scale<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l4 level1 lfo2'>scale accessType inputOutput, type SFVec3f CDATA "1 1 1"]<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l4 level1 lfo2'>Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Just added, for consistency:<o:p></o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l4 level1 lfo2'>Warning: HAnimHumanoid scale values must be positive.<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So many paths to get to the same authoritative answer from X3D 4.0 Architecture specification.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ol style='margin-top:0in' start=2 type=1><li class=MsoListParagraph style='margin-left:-.25in;mso-list:l3 level1 lfo5'>Regarding error reports that HAnimHumanoid child USE nodes are out of order, recommend checking your output text files.<o:p></o:p></li></ol><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If that is indeed the case, then cut and paste to move them to a later position in the file.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Further scrutiny of the HAnimHumanoid documentation (linked above) shows that the X3D XML Schema is indeed order sensitive regarding outputs as well. So once again your diagnostics for a complex model are consistent, even though correspondingly complex.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have added that issue to the TODO list for X3DPSAIL.<o:p></o:p></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:l4 level1 lfo2'>X3D Python Scene Access Interface Library (X3DPSAIL)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l4 level1 lfo2'>https://www.web3d.org/x3d/stylesheets/python/python.html#TODO<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l4 level1 lfo2'>TODO: When converting to other forms, check ordering of output for USE nodes within HAnimHumanoid.<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Wishing best progress with all X3D modeling efforts – the only bad error is the one you don’t know about.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Have fun with X3D – or else! 8)<o:p></o:p></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>all the best, Don<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>-- <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> x3d-public <x3d-public-bounces@web3d.org> <b>On Behalf Of </b>John Carlson<br><b>Sent:</b> Monday, October 16, 2023 10:52 PM<br><b>To:</b> X3D Graphics public mailing list <x3d-public@web3d.org><br><b>Subject:</b> Re: [x3d-public] Thoughts for x3d.py str() calls ("real world" tests of x3d.py output)<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><p class=MsoNormal>I've made suggestions to improve issues with containerField XML output, and they were roundly dismissed. x3d.py has not had to face real world problems, especially with HAnim, which is why this whole discussion came up. Do you want fewer digits in numbers or not? Do you see any x3d.py HAnim tests being run? Let me try one:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/Lily.py" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/Lily.py</a><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>So try this example IN "REAL" life:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal>$ py !$<o:p></o:p></p></div><div><p class=MsoNormal>py Lily.py<o:p></o:p></p></div><div><p class=MsoNormal>x3d.py package 4.0.64.4 loaded, have fun with X3D Graphics!<o:p></o:p></p></div><div><p class=MsoNormal>Traceback (most recent call last):<o:p></o:p></p></div><div><p class=MsoNormal> File "C:¥Users¥john¥X3DJSONLD¥blend¥Lily.py", line 69, in <module><o:p></o:p></p></div><div><p class=MsoNormal> HAnimHumanoid(DEF='Lily',scale=(1,1,-1),version='2.0',<o:p></o:p></p></div><div><p class=MsoNormal> File "C:¥Users¥john¥X3DJSONLD¥blend¥x3d.py", line 45576, in __init__<o:p></o:p></p></div><div><p class=MsoNormal> self.scale = scale<o:p></o:p></p></div><div><p class=MsoNormal> ^^^^^^^^^^<o:p></o:p></p></div><div><p class=MsoNormal> File "C:¥Users¥john¥X3DJSONLD¥blend¥x3d.py", line 45751, in scale<o:p></o:p></p></div><div><p class=MsoNormal> assertPositive('scale', scale)<o:p></o:p></p></div><div><p class=MsoNormal> File "C:¥Users¥john¥X3DJSONLD¥blend¥x3d.py", line 1906, in assertPositive<o:p></o:p></p></div><div><p class=MsoNormal> assert isPositive(value), str(fieldName) + '=' + str(value) + ' fails assertPositive requirements: value(s) must be greater than or equal to zero'<o:p></o:p></p></div><div><p class=MsoNormal>AssertionError: scale=(1, 1, -1) fails assertPositive requirements: value(s) must be greater than or equal to zero<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I didn't even get CLOSE to XML output!<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Admittedly, this example may be cherry picked, so let's try another:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.py" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.py</a><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal>$ py JoeKick.py<o:p></o:p></p></div><div><p class=MsoNormal>x3d.py package 4.0.64.4 loaded, have fun with X3D Graphics!<o:p></o:p></p></div><div><p class=MsoNormal>Self-test diagnostics for JoeKick.py:<o:p></o:p></p></div><div><p class=MsoNormal>meta information, TODO: Record information about skin coordinates (found in comment at end of scene) as a structured MetadataSet containing MetadataString nodes<o:p></o:p></p></div><div><p class=MsoNormal>*** Python-to-XML well-formed XML document test failed.<o:p></o:p></p></div><div><p class=MsoNormal> x3dSchemaUrl=<a href="https://www.web3d.org/specifications/x3d-4.0.xsd" target="_blank">https://www.web3d.org/specifications/x3d-4.0.xsd</a><o:p></o:p></p></div><div><p class=MsoNormal> XMLSchemaParseError cannot import namespace '<a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23&data=05%7C01%7Cbrutzman%40nps.edu%7C0d81df4029db4f2feb5d08dbced54052%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638331187540927780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=p799nNynxEsmtnhC6rCo9TZgttglwjla6TD1zH4QPRU%3D&reserved=0" target="_blank">http://www.w3.org/2000/09/xmldsig#</a>': Entities are forbidden (entity_name='dsig')<o:p></o:p></p></div><div><p class=MsoNormal>Python-to-VRML export of VRML output successful<o:p></o:p></p></div><div><p class=MsoNormal>Python-to-JSON export of JSON output successful (under development)<o:p></o:p></p></div><div><p class=MsoNormal>python JoeKick.py load and self-test diagnostics complete.<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>That looks good, let's try tovrmlx3d:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Uncomment this like in JoeKick.py:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>print(newModelXML) # diagnostic<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>$ py JoeKick.py > JoeKick.x3d<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>[ edit all the stuff that for some reason, x3d.py writes to standard output. ]<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal>$ ‾/Downloads/view3dscene-4.3.0-win64-x86_64/view3dscene/tovrmlx3d.exe --validate JoeKick.x3d<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Unknown X3D field name (indicated by containerField value) "children" by node "HAnimJoint" inside node "HAnimHumanoid"<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_SkinCoord" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_humanoid_root" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_sacroiliac" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_skullbase" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_temporomandibular" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc1" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc6" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc7" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl1" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt1" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt10" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt11" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt12" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt6" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt7" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt8" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt9" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_acromioclavicular" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_acromioclavicular" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpal_distal_interphalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpal_distal_interphalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpal_distal_interphalangeal_3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpal_distal_interphalangeal_3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpal_distal_interphalangeal_4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpal_distal_interphalangeal_4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpal_distal_interphalangeal_5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpal_distal_interphalangeal_5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpal_interphalangeal_1" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpal_interphalangeal_1" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpal_proximal_interphalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpal_proximal_interphalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpal_proximal_interphalangeal_3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpal_proximal_interphalangeal_3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpal_proximal_interphalangeal_4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpal_proximal_interphalangeal_4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpal_proximal_interphalangeal_5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpal_proximal_interphalangeal_5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpometacarpal_1" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpometacarpal_1" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpometacarpal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpometacarpal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpometacarpal_3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpometacarpal_3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpometacarpal_4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpometacarpal_4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_carpometacarpal_5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_carpometacarpal_5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_elbow" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_elbow" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_eyeball_joint" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_eyeball_joint" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_eyebrow_joint" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_eyebrow_joint" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_eyelid_joint" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_eyelid_joint" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_hip" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_hip" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_knee" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_knee" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_metacarpophalangeal_1" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_metacarpophalangeal_1" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_metacarpophalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_metacarpophalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_metacarpophalangeal_3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_metacarpophalangeal_3" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_metacarpophalangeal_4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_metacarpophalangeal_4" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_metacarpophalangeal_5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_metacarpophalangeal_5" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_metatarsophalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_metatarsophalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_radiocarpal" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_radiocarpal" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_shoulder" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_shoulder" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_sternoclavicular" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_sternoclavicular" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_talocrural" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_talocrural" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_tarsal_distal_interphalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_tarsal_distal_interphalangeal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_tarsometatarsal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_tarsometatarsal_2" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_sacrum" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_RootFront_view" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Unknown X3D field name (indicated by containerField value) "children" by node "Shape" inside node "HAnimHumanoid"<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_humanoid_root" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_humanoid_root" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_sacroiliac" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_hip" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_knee" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_talocrural" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_tarsometatarsal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_metatarsophalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_tarsal_distal_interphalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_hip" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_knee" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_talocrural" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_tarsometatarsal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_metatarsophalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_tarsal_distal_interphalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl1" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt12" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt11" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt10" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt9" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt8" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt7" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt6" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt1" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc7" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc6" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc1" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_skullbase" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_eyelid_joint" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_eyeball_joint" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_eyebrow_joint" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_eyelid_joint" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_eyeball_joint" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_eyebrow_joint" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_temporomandibular" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_sternoclavicular" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_acromioclavicular" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_shoulder" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_elbow" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_radiocarpal" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpometacarpal_1" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_metacarpophalangeal_1" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpal_interphalangeal_1" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpometacarpal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_metacarpophalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpal_proximal_interphalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpal_distal_interphalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpometacarpal_3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_metacarpophalangeal_3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpal_proximal_interphalangeal_3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpal_distal_interphalangeal_3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpometacarpal_4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_metacarpophalangeal_4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpal_proximal_interphalangeal_4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpal_distal_interphalangeal_4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpometacarpal_5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_metacarpophalangeal_5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpal_proximal_interphalangeal_5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_carpal_distal_interphalangeal_5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_sternoclavicular" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_acromioclavicular" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_shoulder" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_elbow" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_radiocarpal" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpometacarpal_1" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_metacarpophalangeal_1" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpal_interphalangeal_1" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpometacarpal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_metacarpophalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpal_proximal_interphalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpal_distal_interphalangeal_2" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpometacarpal_3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_metacarpophalangeal_3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpal_proximal_interphalangeal_3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpal_distal_interphalangeal_3" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpometacarpal_4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_metacarpophalangeal_4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpal_proximal_interphalangeal_4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpal_distal_interphalangeal_4" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpometacarpal_5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_metacarpophalangeal_5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpal_proximal_interphalangeal_5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_carpal_distal_interphalangeal_5" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "Joe_skull_tip_raiser_action" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Route destination node name "KickTextureTransform" not found<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "JoeSkinImageTexture" undefined<o:p></o:p></p></div><div><p class=MsoNormal>tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "AxisLinesShape" undefined<o:p></o:p></p></div><div><p class=MsoNormal>Exception "Exception":<o:p></o:p></p></div><div><p class=MsoNormal>Validation failed (consult the warnings above), exiting with non-zero status<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I know that Don loves tovrmlx3d. Why not try it on X3D XML HAnim output from x3d.py? Oh wait, he loves X3D-Edit. Let me try that too:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal>--------- X3D Validator checks commenced for JoeKick.x3d ---------<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Performing well-formed XML check...<o:p></o:p></p></div><div><p class=MsoNormal>Checking file:/C:/Users/john/X3DJSONLD/blend/JoeKick.x3d...<o:p></o:p></p></div><div><p class=MsoNormal>Well-formed XML check: pass<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Performing DOCTYPE check...<o:p></o:p></p></div><div><p class=MsoNormal>[X3dDoctypeChecker] success: valid XML declaration found.[X3dDoctypeChecker] success: final X3D 4.0 DOCTYPE found.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Performing DTD validation...<o:p></o:p></p></div><div><p class=MsoNormal>Checking file:/C:/Users/john/X3DJSONLD/blend/JoeKick.x3d...<o:p></o:p></p></div><div><p class=MsoNormal>Attribute "level" is required and must be specified for element type "component".<o:p></o:p></p></div><div><p class=MsoNormal>The content of element type "HAnimHumanoid" must match "(IS?,(MetadataBoolean|MetadataDouble|MetadataFloat|MetadataInteger|MetadataSet|MetadataString|ProtoInstance)?,(HAnimJoint*,HAnimSegment*,HAnimSite*,HAnimMotion*,(Shape|Group|LOD|Switch|Transform|IndexedFaceSet|IndexedLineSet|IndexedQuadSet|IndexedTriangleFanSet|IndexedTriangleSet|IndexedTriangleStripSet)?,HAnimMotion*,(Coordinate|CoordinateDouble)*,Normal*,ProtoInstance*)*)".<o:p></o:p></p></div><div><p class=MsoNormal>XML DTD validation: fail!<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Performing X3D schema validation...<o:p></o:p></p></div><div><p class=MsoNormal>Checking file:/C:/Users/john/X3DJSONLD/blend/JoeKick.x3d...<o:p></o:p></p></div><div><p class=MsoNormal>Referenced entity at "<a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2FTR%2F2002%2FREC-xmldsig-core-20020212%2Fxmldsig-core-schema.xsd&data=05%7C01%7Cbrutzman%40nps.edu%7C0d81df4029db4f2feb5d08dbced54052%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638331187540927780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=MkWQzrOORFRKS8sLpOsevT%2Fsuxis6PWYThdrXTBQ9Xg%3D&reserved=0" target="_blank">http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd</a>".<o:p></o:p></p></div><div><p class=MsoNormal>Referenced entity at "<a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema.dtd&data=05%7C01%7Cbrutzman%40nps.edu%7C0d81df4029db4f2feb5d08dbced54052%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638331187540927780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=q%2FFDydThIhITMop%2BcDGyw5mJ%2FFszLUodDopECGk6I9w%3D&reserved=0" target="_blank">http://www.w3.org/2001/XMLSchema.dtd</a>".<o:p></o:p></p></div><div><p class=MsoNormal>Referenced entity at "<a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2001%2Fdatatypes.dtd&data=05%7C01%7Cbrutzman%40nps.edu%7C0d81df4029db4f2feb5d08dbced54052%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638331187540927780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=uku73wUYKloQfbt0UiUXWpwK9bfBadttiarI%2FrOSX1M%3D&reserved=0" target="_blank">http://www.w3.org/2001/datatypes.dtd</a>".<o:p></o:p></p></div><div><p class=MsoNormal>Attribute "level" is required and must be specified for element type "component".<o:p></o:p></p></div><div><p class=MsoNormal>cvc-complex-type.4: Attribute 'level' must appear on element 'component'.<o:p></o:p></p></div><div><p class=MsoNormal>cvc-complex-type.4: Attribute 'level' must appear on element 'component'.<o:p></o:p></p></div><div><p class=MsoNormal>cvc-complex-type.2.4.a: Invalid content was found starting with element 'MetadataSet'. One of '{HAnimJoint, HAnimSegment, HAnimSite, HAnimMotion, Shape, Group, LOD, Switch, Transform, IndexedFaceSet, IndexedLineSet, IndexedQuadSet, IndexedTriangleFanSet, IndexedTriangleSet, IndexedTriangleStripSet, Coordinate, CoordinateDouble, Normal, ProtoInstance}' is expected.<o:p></o:p></p></div><div><p class=MsoNormal>The content of element type "HAnimHumanoid" must match "(IS?,(MetadataBoolean|MetadataDouble|MetadataFloat|MetadataInteger|MetadataSet|MetadataString|ProtoInstance)?,(HAnimJoint*,HAnimSegment*,HAnimSite*,HAnimMotion*,(Shape|Group|LOD|Switch|Transform|IndexedFaceSet|IndexedLineSet|IndexedQuadSet|IndexedTriangleFanSet|IndexedTriangleSet|IndexedTriangleStripSet)?,HAnimMotion*,(Coordinate|CoordinateDouble)*,Normal*,ProtoInstance*)*)".<o:p></o:p></p></div><div><p class=MsoNormal>XML schema validation: fail!<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Performing X3D regular expression (regex) values check...<o:p></o:p></p></div><div><p class=MsoNormal>X3D regex check: complete<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Performing X3dToX3dvClassicVrmlEncoding.xslt conversion check...<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimHumanoid node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimHumanoid node DEF='Joe_Kick']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimJoint node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimJoint node DEF='Joe_humanoid_root']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimSegment node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimSegment node DEF='Joe_sacrum']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimSite node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimSite node DEF='Joe_RootFront_view']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimJoint node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimJoint node DEF='Joe_sacroiliac']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimJoint node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimJoint node DEF='Joe_l_hip']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimJoint node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimJoint node DEF='Joe_l_knee']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimJoint node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimJoint node DEF='Joe_l_talocrural']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimJoint node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimJoint node DEF='Joe_l_tarsometatarsal_2']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimJoint node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimJoint node DEF='Joe_l_metatarsophalangeal_2']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimJoint node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimJoint node DEF='Joe_l_tarsal_distal_interphalangeal_2']<o:p></o:p></p></div><div><p class=MsoNormal>[hint] Complete functionality for HAnimDisplacer node may require support by <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead of declared level='') [HAnimDisplacer node DEF='Joe_skull_tip_raiser_action']<o:p></o:p></p></div><div><p class=MsoNormal>[error] illegal level value: <component name='HAnim' level=''/> (allowed range of values: 1..5)<o:p></o:p></p></div><div><p class=MsoNormal>[error] node Shape has illegal containerField='children' (allowed value: skin) [node Shape, parent HAnimHumanoid DEF='Joe_Kick' DEF='Joe_Shape']<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Performing X3D Schematron check...<o:p></o:p></p></div><div><p class=MsoNormal>X3D version 4.0 is approved by Web3D Consortium and focused on interoperability with HTML5, glTF2.0 Physically Based Rendering (PBR) and Web Audio API, undergoing final administrative review by ISO in 2023. [/X3D, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><component name='HAnim' level=''/> is required to have a value for level field [/X3D/head/component, error]<o:p></o:p></p></div><div><p class=MsoNormal><meta name='TODO' content='Record information about skin coordinates (found in comment at end of scene) as a structured MetadataSet containing MetadataString nodes'/> [/X3D/head/meta[7], diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> version='2.0' with X3D version='4.0' [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><<o:p> </o:p></p></div><div><p class=MsoNormal> HAnimHumanoid DEF='Joe_Kick' name='Kick'/> contains <HAnimJoint DEF="Joe_humanoid_root" name="humanoid_root" containerField="children"/> should be containerField='skeleton' [/X3D/Scene/Group[1]/HAnimHumanoid, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> cannot contain any containerField='children' nodes: <HAnimJoint DEF="Joe_humanoid_root" name="humanoid_root" containerField="children"/> [/X3D/Scene/Group[1]/HAnimHumanoid, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> contains <Coordinate DEF='' containerField='coord'/> node with incorrect containerField value, must be containerField='skinCoord' [/X3D/Scene/Group[1]/HAnimHumanoid, error]<o:p></o:p></p></div><div><p class=MsoNormal>==================================================================================================================== [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimJoint) within skeleton hierarchy = 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimSegment) within skeleton hierarchy = 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimSite) within HAnimHumanoid = 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimSite//Viewpoint) within skeleton hierarchy = 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimDisplacer) within skeleton hierarchy = 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimJoint USE='*' containerField = 'joints'/>) = 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSegment USE='*' containerField = 'segments'/>) = 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSite USE='*' containerField = 'sites'/>) = 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSite DEF='*' name ends with '_view'/>) = 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> has mismatched HAnimSite node counts, 1 within skeleton hierarchy and 0 USE nodes in sites field [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal>==================================================================================================================== [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_humanoid_root'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_humanoid_root' name='humanoid_root'/> with parent HAnimHumanoid needs containerField='skeleton' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_humanoid_root' name='humanoid_root'/> has incoming <ROUTE toNode='Joe_humanoid_root' toField='translation'/> to modify the translation field, which ordinarily is not modified (instead the center field controls HAnimJoint position) [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimSegment DEF='Joe_sacrum'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimSegment, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimSite DEF='Joe_RootFront_view'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimSegment/HAnimSite, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimSite DEF='Joe_RootFront_view' name='RootFront_view'/> is not a recognized name for HAnim2 HAnimSite [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimSegment/HAnimSite, info]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_sacroiliac'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_hip'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_knee'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_talocrural'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_tarsometatarsal_2'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_tarsometatarsal_2' name='l_tarsometatarsal_2'/> has parent HAnimJoint name='l_talocrural' rather than expected parent name='l_cuneonavicular_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint, warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_metatarsophalangeal_2'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_tarsal_distal_interphalangeal_2'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_tarsal_distal_interphalangeal_2' name='l_tarsal_distal_interphalangeal_2'/> has parent HAnimJoint name='l_metatarsophalangeal_2' rather than expected parent name='l_tarsal_proximal_interphalangeal_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint, warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_r_tarsometatarsal_2' name='r_tarsometatarsal_2'/> has parent HAnimJoint name='r_talocrural' rather than expected parent name='r_cuneonavicular_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint, warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_r_tarsal_distal_interphalangeal_2' name='r_tarsal_distal_interphalangeal_2'/> has parent HAnimJoint name='r_metatarsophalangeal_2' rather than expected parent name='r_tarsal_proximal_interphalangeal_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint, warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimDisplacer DEF='Joe_skull_tip_raiser_action'/> requires at least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimDisplacer, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_acromioclavicular'/> name field is required [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_acromioclavicular' name=''/> is not a recognized name for HAnim2 HAnimJoint [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_sternoclavicular' name='l_acromioclavicular'/> DEF value does not contain correctly modified version of name value (for example, DEF='myPrefix_nameValue' e.g. DEF='myPrefix_l_acromioclavicular') - see HAnim section C.2 Humanoid, VRML Binding [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_sternoclavicular' name='l_acromioclavicular'/> has parent HAnimJoint name='' rather than expected parent name='l_sternoclavicular', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint, warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_carpometacarpal_1' name='l_carpometacarpal_1'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_1', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[1], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_carpometacarpal_2' name='l_carpometacarpal_2'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_carpometacarpal_3' name='l_carpometacarpal_3'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_3', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_carpometacarpal_4' name='l_carpometacarpal_4'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_4_5', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[4], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_l_carpometacarpal_5' name='l_carpometacarpal_5'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_4_5', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[5], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_r_carpometacarpal_1' name='r_carpometacarpal_1'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_1', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[1], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_r_carpometacarpal_2' name='r_carpometacarpal_2'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_r_carpometacarpal_3' name='r_carpometacarpal_3'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_3', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_r_carpometacarpal_4' name='r_carpometacarpal_4'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_4_5', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[4], warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint DEF='Joe_r_carpometacarpal_5' name='r_carpometacarpal_5'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_4_5', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[5], warning]<o:p></o:p></p></div><div><p class=MsoNormal><MetadataSet DEF='' USE='' name='warnings'/> default containerField='value' is only allowed when parent node is MetadataSet, need to explicitly define containerField='metadata' in X3D4 models [/X3D/Scene/Group[1]/HAnimHumanoid/MetadataSet, error]<o:p></o:p></p></div><div><p class=MsoNormal>HAnimHumanoid/<MetadataSet DEF='' USE='' name='warnings'/> contains containerField='value' which instead needs to be containerField='metadata' [/X3D/Scene/Group[1]/HAnimHumanoid/MetadataSet, warning]<o:p></o:p></p></div><div><p class=MsoNormal><Coordinate USE='Joe_SkinCoord'/> found USE node that precedes matching DEF node, count(following::*[@DEF=$USE])=1[/X3D/Scene/Group[1]/HAnimHumanoid/Coordinate, error]<o:p></o:p></p></div><div><p class=MsoNormal><Coordinate DEF=''/> with parent HAnimHumanoid must have @containerField='skinCoord' or @containerField='skinBindingCoords' [/X3D/Scene/Group[1]/HAnimHumanoid/Coordinate, warning]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_humanoid_root'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[2], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_sacroiliac'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[3], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_skullbase'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[4], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_temporomandibular'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[5], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vc1'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[6], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vc2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[7], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vc3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[8], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vc4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[9], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vc5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[10], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vc6'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[11], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vc7'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[12], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vl1'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[13], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vl2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[14], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vl3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[15], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vl4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[16], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vl5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[17], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt1'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[18], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt10'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[19], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt11'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[20], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt12'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[21], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[22], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[23], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[24], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[25], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt6'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[26], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt7'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[27], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt8'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[28], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_vt9'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[29], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_acromioclavicular'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[30], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_acromioclavicular'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[31], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpal_distal_interphalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[32], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpal_distal_interphalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[33], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpal_distal_interphalangeal_3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[34], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpal_distal_interphalangeal_3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[35], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpal_distal_interphalangeal_4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[36], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpal_distal_interphalangeal_4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[37], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpal_distal_interphalangeal_5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[38], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpal_distal_interphalangeal_5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[39], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpal_interphalangeal_1'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[40], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpal_interphalangeal_1'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[41], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpal_proximal_interphalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[42], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpal_proximal_interphalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[43], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpal_proximal_interphalangeal_3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[44], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpal_proximal_interphalangeal_3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[45], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpal_proximal_interphalangeal_4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[46], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpal_proximal_interphalangeal_4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[47], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpal_proximal_interphalangeal_5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[48], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpal_proximal_interphalangeal_5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[49], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpometacarpal_1'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[50], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpometacarpal_1'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[51], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpometacarpal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[52], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpometacarpal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[53], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpometacarpal_3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[54], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpometacarpal_3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[55], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpometacarpal_4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[56], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpometacarpal_4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[57], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_carpometacarpal_5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[58], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_carpometacarpal_5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[59], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_elbow'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[60], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_elbow'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[61], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_eyeball_joint'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[62], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_eyeball_joint'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[63], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_eyebrow_joint'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[64], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_eyebrow_joint'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[65], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_eyelid_joint'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[66], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_eyelid_joint'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[67], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_hip'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[68], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_hip'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[69], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_knee'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[70], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_knee'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[71], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_metacarpophalangeal_1'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[72], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_metacarpophalangeal_1'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[73], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_metacarpophalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[74], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_metacarpophalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[75], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_metacarpophalangeal_3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[76], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_metacarpophalangeal_3'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[77], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_metacarpophalangeal_4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[78], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_metacarpophalangeal_4'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[79], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_metacarpophalangeal_5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[80], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_metacarpophalangeal_5'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[81], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_metatarsophalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[82], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_metatarsophalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[83], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_radiocarpal'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[84], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_radiocarpal'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[85], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_shoulder'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[86], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_shoulder'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[87], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_sternoclavicular'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[88], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_sternoclavicular'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[89], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_talocrural'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[90], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_talocrural'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[91], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_tarsal_distal_interphalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[92], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_tarsal_distal_interphalangeal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[93], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_l_tarsometatarsal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[94], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimJoint USE='Joe_r_tarsometatarsal_2'/> with parent HAnimHumanoid needs containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[95], error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimSegment USE='Joe_sacrum' containerField=''/> with parent HAnimHumanoid needs containerField='segments' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimSegment, error]<o:p></o:p></p></div><div><p class=MsoNormal><HAnimSite USE='Joe_RootFront_view'/> with parent HAnimHumanoid needs containerField='sites' or containerField='viewpoints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimSite, error]<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>--------- X3D Validator checks complete for JoeKick.x3d ---------<o:p></o:p></p></div><div><p class=MsoNormal>--------- X3D Validator online at <a href="https://savage.nps.edu/X3dValidator" target="_blank">https://savage.nps.edu/X3dValidator</a> ---------<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Time for validation of the archive?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>John<o:p></o:p></p></div></div></div></div></div></body></html>