<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@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;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
code
{mso-style-priority:99;
font-family:"Courier New";}
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.EmailStyle24
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@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:255292511;
mso-list-template-ids:1302598714;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text: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 l0:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1
{mso-list-id:418646106;
mso-list-template-ids:990827962;}
@list l1:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l1:level2
{mso-level-number-format:bullet;
mso-level-text: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 l1:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level5
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level8
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l2
{mso-list-id:541868924;
mso-list-template-ids:1858240608;}
@list l3
{mso-list-id:606501055;
mso-list-template-ids:-112671740;}
@list l3:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l3:level2
{mso-level-number-format:bullet;
mso-level-text: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 l3:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level5
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level8
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4
{mso-list-id:744228949;
mso-list-type:hybrid;
mso-list-template-ids:-1199141194 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l4:level1
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l4:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l4:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l4:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l4:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l4:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l4:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l4:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l4:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l5
{mso-list-id:1110517234;
mso-list-template-ids:-150439230;}
@list l5:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l5: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 l5:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l5:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l5:level5
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l5:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l5:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l5:level8
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l5:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l6
{mso-list-id:1434664357;
mso-list-template-ids:1720326516;}
@list l6:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l6: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 l6:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l6:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l6:level5
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l6:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l6:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l6:level8
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l6:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Everyone,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The way I remember the discussion from last week, the reasoning behind deprecating these fields was as follows:<o:p></o:p></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l4 level1 lfo7">Reduction in file sizes<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l4 level1 lfo7">Some browser/viewer implementations of HAnim would incorrectly build a duplicate the entire avatar. However I suspect this is more of a problem segment-based avatars than skinned avatars<o:p></o:p></li></ol>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If these fields end up not being deprecated, then there should be some kind of statement in regard to browser/view implementation about not duplicating the geometry… or not duplicating nodes that don’t need to be duplicated.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Aaron<o:p></o:p></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 via x3d-public<br>
<b>Sent:</b> Monday, September 29, 2025 3:34 AM<br>
<b>To:</b> Extensible 3D (X3D) Graphics public discussion <x3d-public@web3d.org><br>
<b>Cc:</b> John Carlson <yottzumm@gmail.com>; Humanoid Animation (H-Anim) Working Group <h-anim@web3d.org><br>
<b>Subject:</b> Re: [x3d-public] Depreciated HAnimHumanoid.joints field?<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">As holger mentioned, we would probably have to include how skeleton is traversed (probably in order, as opposed to post order or pre order) depth first vs breadth first, etc.<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">On Sun, Sep 28, 2025 at 11:00 PM Joe D Williams via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p style="margin:0.1rem 0"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#ModellingOfNonHumanHAnimFigures" target="_blank"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">Modelling
of non-human HAnim figures</span></a><o:p></o:p></span></p>
<p style="margin:0.1rem 0px;float:none"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;color:black">.</span><em><span style="font-size:12.0pt;font-family:"Verdana",sans-serif;color:black">jointBindingPositions</span></em><span style="font-size:13.5pt;font-family:"Times New Roman",serif;color:black"><o:p></o:p></span></p>
<p style="margin:0.1rem 0px;float:none"><span style="font-size:13.5pt;font-family:"Times New Roman",serif;color:black"> <o:p></o:p></span></p>
<p style="margin:0.1rem 0px;float:none"><em><span style="font-size:12.0pt;color:black">jointBindingRotations</span></em><span style="font-size:13.5pt;font-family:"Times New Roman",serif;color:black"><o:p></o:p></span></p>
<p style="margin:0.1rem 0"><em><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">jointBindingScales </span></em><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"><o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> <o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">No need for "joints" field at all, then, just define that the order of data in<o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">these fields must be the same as the order of appearance in the skeleton field. <o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">WaaLaa, we are rid of joints, segments, sites. <o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> <o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Anyway, if really needed, which it is not, then the only need is for<o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">the Name='string' that is the list of names, consisting of an MFstring<o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">field instead oft that cumbersome and misused MFNode field definition. <o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Again, the HAnim naming conventions are strict enough to find the<o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Joint DEF names by Humanoid name and Joint name <o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> <o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Probably the Best idea is to include spec for metadata that includes<o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">joint, segment, site names, maybe as well as other interface names.<o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">One day when the AIxHumanoid takes over then all it will need is the<o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">metadata anyway.<o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> <o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">All Goood,<o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Joe <o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><em><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span></em><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"><o:p></o:p></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> <o:p></o:p></span></p>
</div>
<div style="border:none;border-left:solid #AAAAAA 1.0pt;padding:0in 0in 0in 11.0pt;box-sizing:border-box">
<p>-----Original Message-----<br>
From: Extensible 3D (X3D) Graphics public discussion <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
Sent: Sep 27, 2025 5:09 PM<br>
To: Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a>><br>
Cc: Don Brutzman <<a href="mailto:don.brutzman@gmail.com" target="_blank">don.brutzman@gmail.com</a>>, Extensible 3D (X3D) Graphics public discussion <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>, Humanoid Animation (H-Anim)
Working Group <<a href="mailto:h-anim@web3d.org" target="_blank">h-anim@web3d.org</a>><br>
Subject: Re: [x3d-public] Depreciated HAnimHumanoid.joints field?<o:p></o:p></p>
<p style="margin:0.1rem 0"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">[added hanim mailing list]<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Holger, good catch! This is a very recent draft change which had not yet been announced for group review (while awaiting release of annual HAnim meeting minutes from Web3D 2025).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks for your insightful observation, no one else caught that relationship. The primary reference, with relevant excerpts so far, is<o:p></o:p></p>
</div>
<div>
<ul type="disc">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo1">
Humanoid animation (HAnim) architecture v2.1 draft, part 1, clause 6 Object interfaces, 6.1 Humanoid<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo1">
<a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/ObjectInterfaces.html#Humanoid" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/ObjectInterfaces.html#Humanoid</a><o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo1">
<span style="font-size:12.0pt;font-family:"Verdana",sans-serif;color:black;background:yellow">The <em><span style="font-family:"Verdana",sans-serif">joints</span></em>, <em><span style="font-family:"Verdana",sans-serif">segments</span></em>, and <em><span style="font-family:"Verdana",sans-serif">sites</span></em> fields
are deprecated since they are duplicative and redundant.</span><span style="font-size:12.0pt;font-family:"Verdana",sans-serif;color:black;background:lightcyan"><br>
[Editors note: typically these fields are populated in models by first defining the <em><span style="font-family:"Verdana",sans-serif">skeleton</span></em> field, containing all of the <em><span style="font-family:"Verdana",sans-serif">joints</span></em>, <em><span style="font-family:"Verdana",sans-serif">segments</span></em>,
and <em><span style="font-family:"Verdana",sans-serif">sites</span></em> fields, followed by USE nodes at the end of the HAnimHumanoid node definition. The Castle viewer confirms that the fields are duplicative by automatically creating those USE nodes if
missing or incorrect. See <a href="https://mantis.web3d.org/view.php?id=1512" target="_blank">Mantis 1512</a>]</span><o:p></o:p></li></ul>
<div>
<p class="MsoNormal">Unfortunately there is a lockout problem for my mantis account - trouble report submitted. We keep track of consensus details in there so that there is a trail of logic supporting any specification changes... I will update when my access
is restored.<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Looks like the specification does include prose for the dependency you are defining:<o:p></o:p></p>
</div>
<div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<ul type="disc">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2">
The following five fields provide information needed for each binding pose of a humanoid or non-human model, as specified in <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#ModellingOfNonHumanHAnimFigures" target="_blank">4.8.3
Modelling of non-human HAnim figures</a>. <o:p></o:p></li></ul>
<ul style="margin-top:0in" type="disc">
<ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="color:black;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo2">
<em><span style="font-family:"Verdana",sans-serif">jointBindingPositions</span></em><span style="font-family:"Verdana",sans-serif"><o:p></o:p></span></li><li class="MsoNormal" style="color:black;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo2">
<em><span style="font-family:"Verdana",sans-serif">jointBindingRotations</span></em><span style="font-family:"Verdana",sans-serif"><o:p></o:p></span></li><li class="MsoNormal" style="color:black;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo2">
<em><span style="font-family:"Verdana",sans-serif">jointBindingScales</span></em><span style="font-family:"Verdana",sans-serif"><o:p></o:p></span></li><li class="MsoNormal" style="color:black;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo2">
<em><span style="font-family:"Verdana",sans-serif">skinBindingCoords</span></em><span style="font-family:"Verdana",sans-serif"><o:p></o:p></span></li><li class="MsoNormal" style="color:black;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo2">
<em><span style="font-family:"Verdana",sans-serif">skinBindingNormals</span></em><span style="font-family:"Verdana",sans-serif"><o:p></o:p></span></li></ul>
</ul>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
None of these five fields shall be used in a model that has a <em><span style="font-family:"Calibri",sans-serif">skeletalConfiguration</span></em> value of <code><span style="font-size:10.0pt">"BASIC"</span></code>.<br>
The <em><span style="font-family:"Calibri",sans-serif">jointBindingPositions</span></em>, <em><span style="font-family:"Calibri",sans-serif">jointBindingRotations</span></em>, and <em><span style="font-family:"Calibri",sans-serif">jointBindingScales</span></em> fields
specify arrays of positions, rotations, and scale values, respectively. These sets of attributes are associated with the array of <b>Joint</b> objects contained in the <em><span style="font-family:"Calibri",sans-serif">joints</span></em> field. If only one
value is provided (such as the default value) then it is applied to all listed <b>Joint</b> objects equivalently. Applying each set of these translation, rotation, and scale values, in order, to the corresponding <b>Joint</b> objects maps a skeleton to the
binding pose.<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal">Suggested path forward:<o:p></o:p></p>
</div>
</div>
<div>
<ol start="1" type="1">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3">
remove the deprecation for the <em><span style="font-family:"Calibri",sans-serif">joints
</span></em>field, it is not appropriate<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3">
Relax the dependency on redundant/superfluous definitions for joint, segment and site MFNode arrays of USE nodes with prose along the lines of:<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3">
<span style="font-family:"Verdana",sans-serif;color:black;background:yellow">If any of the jointBindingPositions, jointBindingRotations, and jointBindingScales fields are defined, then the <em><span style="font-family:"Verdana",sans-serif">joints </span></em>field
must also be defined with the same indexing order, and each MF array must have the same length.</span><o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3">
<span style="font-family:"Verdana",sans-serif;color:black;background:white">Add corresponding rule in X3D Schematron to check for this relationship, also update X3D Tooltips.</span><o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3">
<span style="font-family:"Verdana",sans-serif;color:black;background:white">Ensure that corresponding field definitions in X3D 4.1 draft for HAnimHumanoid continue to match.</span><o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3">
<span style="font-family:"Verdana",sans-serif;color:black;background:white">Improvements are always welcome.</span><o:p></o:p></li></ol>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana",sans-serif;color:black">Wondering, do you think it is OK to deprecate the<span style="background:#F3F3F3"> <em><span style="font-family:"Verdana",sans-serif">segments</span></em>, and <em><span style="font-family:"Verdana",sans-serif">sites</span></em> fields?
Perhaps those fields have a current or future use that we have not anticipated (such as IK inverse kinematics). </span></span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana",sans-serif;color:black;background:#F3F3F3"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana",sans-serif;color:black;background:#F3F3F3">Of note is that deprecation does not forbid the use of a field, rather it indicates that it is likely to be removed in a future follow-on version.</span><o:p></o:p></p>
</div>
<div>
<ul type="disc">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l6 level1 lfo4">
<span style="font-family:"Verdana",sans-serif;color:black;background:#F3F3F3">Wiktionary, deprecate</span><o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l6 level1 lfo4">
<a href="https://en.wiktionary.org/wiki/deprecate" target="_blank">https://en.wiktionary.org/wiki/deprecate</a><o:p></o:p></li></ul>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><span style="font-family:"Verdana",sans-serif;color:black">3. </span><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#202122">(<i><a href="https://en.wiktionary.org/wiki/Appendix:Glossary#transitive" target="_blank" title="Appendix:Glossary"><span style="color:#3366CC">transitive</span></a></i>,<i> chiefly <a href="https://en.wiktionary.org/wiki/computing#Noun" target="_blank" title="computing"><span style="color:#3366CC">computing</span></a></i>) To
declare something </span><a href="https://en.wiktionary.org/wiki/obsolescent#English" target="_blank" title="obsolescent"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#3366CC">obsolescent</span></a><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#202122">;
to recommend against a function, technique, command, etc. that still works but has been replaced. </span>
<o:p></o:p></p>
<ul type="disc">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo5">
<em><span lang="EN" style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#202122">The 'bold' tag has been </span></em><strong><i><span lang="EN" style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#202122">deprecated</span></i></strong><em><span lang="EN" style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#202122"> in
favour of the 'strong' tag.</span></em><o:p></o:p></li></ul>
<ul type="disc">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l5 level1 lfo6">
<em><span lang="EN" style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#202122">It is still supported but strongly </span></em><strong><i><span lang="EN" style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#202122">deprecated</span></i></strong><em><span lang="EN" style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#202122">.</span></em><o:p></o:p></li></ul>
</blockquote>
</div>
<div>
<p class="MsoNormal">We will review this issue next Monday afternoon during HAnim specification editing session.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Again thanks for your implementation and evaluation efforts and insights.<o:p></o:p></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:#222222"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#222222">all the best, Don</span><span style="color:#222222"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#222222">-- </span><span style="color:#222222"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#222222">X3D Graphics, Maritime Robotics, Distributed Simulation</span><span style="color:#222222"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#222222">Relative Motion Consulting
<a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></span><span style="color:#222222"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Sat, Sep 27, 2025 at 12:33 PM Holger Seelig via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">As I discovered the HAnimHumanoid.joints field is now deprecated in X3D4.1. This is not good. Because the values in <span style="font-size:8.5pt;color:black;background:white">jointBindingPositions, jointBindingRotations, jointBindingRotations
depend on an order and mapping to a specific HAnimJoint.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">The first value should belong to the first joint in the joints fields and so on. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">If there is now no joints fields such connection is hard to determine, may be by traversing the skeleton, but how, because there are a lot of different traversing strategies. <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/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/hanim.html#HAnimHumanoid" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/hanim.html#HAnimHumanoid</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal">Best regards, <o:p></o:p></p>
<div>
<p class="MsoNormal">Holger<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:black">—<br>
Holger Seelig<br>
Leipzig, Germany<br>
<br>
<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a><br>
<a href="https://create3000.github.io/x_ite/" target="_blank">https://create3000.github.io/x_ite/</a><br>
<a href="https://patreon.com/X_ITE" target="_blank">https://patreon.com/X_ITE</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></p>
</blockquote>
</div>
</div>
<p style="margin:0.1rem 0"> <o:p></o:p></p>
<p class="MsoNormal">_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</body>
</html>