<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin: 0.1rem 0; line-height: 1.0;">> <a style="font-family: 'Times New Roman'; font-size: medium; text-align: left; white-space: normal;" 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" rel="noopener">Modelling of non-human HAnim figures</a></p>
<p style="color: #000000; display: inline; float: none; font-family: 'Times New Roman'; font-size: medium; text-align: left; white-space: normal; margin: 0.1rem 0px; line-height: 1;"><span style="font-size: 12pt;">.<em style="font-family: Verdana, Arial, Helvetica, sans-serif;">jointBindingPositions</em></span></p>
<p style="color: #000000; display: inline; float: none; font-family: 'Times New Roman'; font-size: medium; text-align: left; white-space: normal; margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="color: #000000; display: inline; float: none; font-family: 'Times New Roman'; font-size: medium; text-align: left; white-space: normal; margin: 0.1rem 0px; line-height: 1;"><span style="font-size: 12pt;"><em>jointBindingRotations</em></span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;"><em>jointBindingScales </em></span></p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1;">No need for "joints" field at all, then, just define that the order of data in</p>
<p style="margin: 0.1rem 0px; line-height: 1;">these fields must be the same as the order of appearance in the skeleton field. </p>
<p style="margin: 0.1rem 0px; line-height: 1;">WaaLaa, we are rid of joints, segments, sites. </p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1;">Anyway, if really needed, which it is not, then the only need is for</p>
<p style="margin: 0.1rem 0px; line-height: 1;">the Name='string' that is the list of names, consisting of an MFstring</p>
<p style="margin: 0.1rem 0px; line-height: 1;">field instead oft that cumbersome and misused MFNode field definition. </p>
<p style="margin: 0.1rem 0px; line-height: 1;">Again, the HAnim naming conventions are strict enough to find the</p>
<p style="margin: 0.1rem 0px; line-height: 1;">Joint DEF names by Humanoid name and Joint name </p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1;">Probably the Best idea is to include spec for metadata that includes</p>
<p style="margin: 0.1rem 0px; line-height: 1;">joint, segment, site names, maybe as well as other interface names.</p>
<p style="margin: 0.1rem 0px; line-height: 1;">One day when the AIxHumanoid takes over then all it will need is the</p>
<p style="margin: 0.1rem 0px; line-height: 1;">metadata anyway.</p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1;">All Goood,</p>
<p style="margin: 0.1rem 0px; line-height: 1;">Joe </p>
<p style="margin: 0.1rem 0px; line-height: 1;"><em> </em></p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: Extensible 3D (X3D) Graphics public discussion <x3d-public@web3d.org><br>Sent: Sep 27, 2025 5:09 PM<br>To: Holger Seelig <holger.seelig@yahoo.de><br>Cc: Don Brutzman <don.brutzman@gmail.com>, Extensible 3D (X3D) Graphics public discussion <x3d-public@web3d.org>, Humanoid Animation (H-Anim) Working Group <h-anim@web3d.org><br>Subject: Re: [x3d-public] Depreciated HAnimHumanoid.joints field?</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div dir="ltr">
<div>[added hanim mailing list]</div>
<div> </div>
<div>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).</div>
<div> </div>
<div>Thanks for your insightful observation, no one else caught that relationship. The primary reference, with relevant excerpts so far, is</div>
<div>
<ul>
<li>Humanoid animation (HAnim) architecture v2.1 draft, part 1, clause 6 Object interfaces, 6.1 Humanoid</li>
<li><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">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></li>
<li><span class="gmail-proposed" style="background-color: yellow; color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 16px;" title="Mantis 1512">The <em>joints</em>, <em>segments</em>, and <em>sites</em> fields are deprecated since they are duplicative and redundant.</span><span class="editorsNote" style="background-color: lightcyan; color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 16px;" title="Mantis 1512"><br>[Editors note: typically these fields are populated in models by first defining the <em>skeleton</em> field, containing all of the <em>joints</em>, <em>segments</em>, and <em>sites</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" rel="noopener">Mantis 1512</a>]</span></li>
</ul>
<div>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.</div>
</div>
<div> </div>
<div>Looks like the specification does include prose for the dependency you are defining:</div>
<div>
<ul>
<li>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">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">4.8.3 Modelling of non-human HAnim figures</a>.
<ul style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">
<li style="margin-top: 4px;"><em>jointBindingPositions</em></li>
</ul>
<ul style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">
<li style="margin-top: 4px;"><em>jointBindingRotations</em></li>
</ul>
<ul style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">
<li style="margin-top: 4px;"><em>jointBindingScales</em></li>
</ul>
<ul style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">
<li style="margin-top: 4px;"><em>skinBindingCoords</em></li>
</ul>
<ul style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">
<li style="margin-top: 4px;"><em>skinBindingNormals</em></li>
</ul>
None of these five fields shall be used in a model that has a <em>skeletalConfiguration</em> value of <code>"BASIC"</code>.<br>The <em>jointBindingPositions</em>, <em>jointBindingRotations</em>, and <em>jointBindingScales</em> fields specify arrays of positions, rotations, and scale values, respectively. These sets of attributes are associated with the array of <span class="gmail-Object" style="font-weight: bold;">Joint</span> objects contained in the <em>joints</em> field. If only one value is provided (such as the default value) then it is applied to all listed <span class="gmail-Object" style="font-weight: bold;">Joint</span> objects equivalently. Applying each set of these translation, rotation, and scale values, in order, to the corresponding <span class="gmail-Object" style="font-weight: bold;">Joint</span> objects maps a skeleton to the binding pose.</blockquote>
</li>
</ul>
<div>Suggested path forward:</div>
</div>
<div>
<ol>
<li>remove the deprecation for the <em>joints </em>field, it is not appropriate</li>
<li>Relax the dependency on redundant/superfluous definitions for joint, segment and site MFNode arrays of USE nodes with prose along the lines of:</li>
<li><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif; background-color: #ffff00;">If any of the jointBindingPositions, jointBindingRotations, and jointBindingScales fields are defined, then the </span><em style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif; background-color: #ffff00;">joints </em><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif; background-color: #ffff00;">field must also be defined with the same indexing order, and each MF array must have the same length.</span></li>
<li><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif; background-color: #ffffff;">Add corresponding rule in X3D Schematron to check for this relationship, also update X3D Tooltips.</span></li>
<li><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif; background-color: #ffffff;">Ensure that corresponding field definitions in X3D 4.1 draft for HAnimHumanoid continue to match.</span></li>
<li><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif; background-color: #ffffff;">Improvements are always welcome.</span></li>
</ol>
<div><span style="color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif;">Wondering, do you think it is OK to deprecate the<span style="background-color: #f3f3f3;"> </span></span><span style="background-color: #f3f3f3;"><em style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">segments</em><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">, and </span><em style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">sites</em><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;"> fields? Perhaps those fields have a current or future use that we have not anticipated (such as IK inverse kinematics). </span></span></div>
</div>
<div><span style="background-color: #f3f3f3;"><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;"> </span></span></div>
<div><span style="background-color: #f3f3f3;"><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">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></span></div>
<div>
<ul>
<li><span style="background-color: #f3f3f3;"><span style="color: #000000; font-family: Verdana,Arial,Helvetica,sans-serif;">Wiktionary, deprecate</span></span></li>
<li><a href="https://en.wiktionary.org/wiki/deprecate">https://en.wiktionary.org/wiki/deprecate</a></li>
</ul>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;"><span style="color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif;">3. </span><span class="gmail-usage-label-sense" style="color: #202122; font-family: sans-serif; font-size: 16px;"><span class="gmail-ib-brac gmail-label-brac">(</span><span class="gmail-ib-content gmail-label-content" style="font-style: italic;"><a style="text-decoration-line: none; color: #3366cc; background: none; border-radius: 2px;" title="Appendix:Glossary" href="https://en.wiktionary.org/wiki/Appendix:Glossary#transitive">transitive</a><span class="gmail-ib-comma gmail-label-comma" style="font-style: normal;">,</span> chiefly <a style="text-decoration-line: none; color: #3366cc; background: none; border-radius: 2px;" title="computing" href="https://en.wiktionary.org/wiki/computing#Noun">computing</a></span><span class="gmail-ib-brac gmail-label-brac">)</span></span><span style="color: #202122; font-family: sans-serif; font-size: 16px;"> To declare something </span><a style="font-family: sans-serif; font-size: 16px; background: none; text-decoration-line: none; color: #3366cc; border-radius: 2px;" title="obsolescent" href="https://en.wiktionary.org/wiki/obsolescent#English">obsolescent</a><span style="color: #202122; font-family: sans-serif; font-size: 16px;">; to recommend against a function, technique, command, etc. that still works but has been replaced. </span>
<ul>
<li><em class="gmail-Latn gmail-mention gmail-e-example" lang="en" style="color: #202122; font-family: sans-serif; font-size: 16px;">The 'bold' tag has been <strong style="font-weight: bold;">deprecated</strong> in favour of the 'strong' tag.</em></li>
</ul>
<ul>
<li><em class="gmail-Latn gmail-mention gmail-e-example" lang="en" style="color: #202122; font-family: sans-serif; font-size: 16px;">It is still supported but strongly <strong style="font-weight: bold;">deprecated</strong>.</em></li>
</ul>
</blockquote>
</div>
<div>We will review this issue next Monday afternoon during HAnim specification editing session.</div>
<div> </div>
<div>Again thanks for your implementation and evaluation efforts and insights.</div>
<div>
<div class="gmail_signature" dir="ltr" data-smartmail="gmail_signature">
<div dir="ltr">
<div style="color: #222222;"> </div>
<div style="color: #222222;"><span style="font-family: monospace;">all the best, Don</span></div>
<div style="color: #222222;"><span style="font-family: monospace;">-- </span></div>
<div style="color: #222222;"><span style="font-family: monospace;">X3D Graphics, Maritime Robotics, Distributed Simulation</span></div>
<div style="color: #222222;"><span style="font-family: monospace;">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank" rel="noopener">https://RelativeMotion.info</a></span></div>
</div>
</div>
</div>
</div>
<br>
<div class="gmail_quote gmail_quote_container">
<div class="gmail_attr" dir="ltr">On Sat, Sep 27, 2025 at 12:33 PM Holger Seelig via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div>
<div>As I discovered the HAnimHumanoid.joints field is now deprecated in X3D4.1. This is not good. Because the values in <span style="color: #000000; font-size: 11.05px; background-color: #ffffff;">jointBindingPositions, </span><span style="color: #000000; font-size: 11.05px; background-color: #ffffff;">jointBindingRotations, </span><span style="background-color: #ffffff;"><span style="color: #000000;"><span style="font-size: 11.05px;">jointBindingRotations depend on an order and mapping to a specific HAnimJoint.</span></span></span></div>
<div> </div>
<div>The first value should belong to the first joint in the joints fields and so on. </div>
<div> </div>
<div>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. </div>
<div> </div>
<div><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/hanim.html#HAnimHumanoid" target="_blank" rel="noopener">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/hanim.html#HAnimHumanoid</a></div>
<div> </div>
Best regards,
<div>Holger</div>
<div><br>
<div>
<div>
<div dir="auto" style="color: #000000; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;">
<div>—<br>Holger Seelig<br>Leipzig, Germany<br><br><a href="mailto:holger.seelig@yahoo.de" target="_blank" rel="noopener">holger.seelig@yahoo.de</a><br><a href="https://create3000.github.io/x_ite/" target="_blank" rel="noopener">https://create3000.github.io/x_ite/</a><br><a href="https://patreon.com/X_ITE" target="_blank" rel="noopener">https://patreon.com/X_ITE</a></div>
<div> </div>
</div>
</div>
</div>
</div>
</div>
_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" rel="noopener noreferrer">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></blockquote>
</div>
</div>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>