<div dir="ltr"><div dir="ltr"><div>[corrected copy with proper paragraph lettering, please ignore the prior version.]</div><div><br></div><div><div>Joe and everyone:  Dick and I accepted the challenge today to try defining a Coveroid object. Speculative specification prose follows.</div><div><br></div><div>Carol: no doubt there are more to come, but it is looking like we are handling a great many of your requirements.</div><div><br></div><div>This is a good topic for next Monday's specification discussion.</div><div><ul><li style="margin-left:15px"><span style="background-color:rgb(207,226,243)">HAnim Architecture v2.1 draft, clause 6 Object interfaces, <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#Coveroid" target="_blank"><b>6.x Coveroid</b></a></span></li><li style="margin-left:15px"><span style="background-color:rgb(207,226,243)"><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#Coveroid" 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#Coveroid</a></span></li></ul><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="background-color:rgb(207,226,243)">[Editors' note: this design section is speculative and intended to promote focused consideration. See email thread <a href="https://web3d.org/mailman/private/h-anim_web3d.org/2025-November/002541.html" target="_blank">[hanim] Tiered design for skeleton, skin, coveroids</a>.]</span><br></blockquote><div> </div></div></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"><b>interface Coveroid {</b></font></blockquote></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><font face="monospace">  <Object> metadata            # name, identifier, provenance, package contents, etc.</font></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><font face="monospace">  sequence<Object> skeleton [] [<b>Joint</b>, <b>Site</b>] <span title="Mantis 1512" style="background-color:lightcyan"># includes Shape geometry with mesh indices<br></span></font></div></div></blockquote><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">  sequence<Object> skin     [] [indexed mesh objects as defined by the representation]<br></font><span style="font-family:monospace">  integer loa               -1 [-1,4]</span><br><font face="monospace">  # other fields found in Humanoid that are deemed necessary</font></blockquote></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><b><font face="monospace">}</font></b></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><b><br></b>Tentative goal: can we define requirements for a single tier that collects requirements for a <span style="font-weight:bold">Coveroid</span> object, mimicking <span style="font-weight:bold">Humanoid</span> object design, and primarily adapting other existing HAnim nodes wherever possible?<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Such a new object appears to be necessary for modeling clarity, and packaging together all needed information, in order to meet use-case design requirements. Candidate characteristics follow.<ol type="a" style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"><li style="margin:10px 0px">Multiple <span style="font-weight:bold">Coveroid</span> objects might be attached as tiers in the <span style="font-weight:bold">Humanoid</span> object <i>coveroids</i> field.</li><li style="margin:10px 0px">A <span style="font-weight:bold">Coveroid</span> object can be modeled, rendered, and exchanged independently without being contained within a <span style="font-weight:bold">Humanoid</span> object <i>coveroids</i> field.</li><li style="margin:10px 0px">Minimum essential metadata must be included in order to meet interoperability and reusability requirements.</li><li style="margin:10px 0px">Can we allow both "skeletal" shapes and mesh-based "skin" such that each has potential connections to a humanoid <i>skeleton</i>, or else be independent and renderable as standalone models? Supporting both correspondences and separability enables attach/detach portability.</li><li style="margin:10px 0px">Including an optional <i>loa</i> field can indicate whether correspondence points found in an underlying <span style="font-weight:bold">Humanoid</span> object with similar (or higher) <i>loa</i> can be utilized.  (Perhaps matching labels in <i>skeletalConfiguration</i> field as well.)</li><li style="margin:10px 0px">Can <span style="font-weight:bold">Site</span> objects provide potential connections to an corresponding <span style="font-weight:bold">Humanoid</span> object, if available, perhaps through identical pairwise <i>name</i> values and shared naming conventions for respective <span style="font-weight:bold">Joint</span>, <span style="font-weight:bold">Segment</span> and <span style="font-weight:bold">Site</span> objects?</li><li style="margin:10px 0px">Are other geometric representations needed, beyond individual pieces of Joint-Segment geometry and overall skin-oriented indexed meshes? (If we can achieve a similar design, then HAnim software implementations are simpler to achieve since models will have a consistent design pattern to follow.)</li><li style="margin:10px 0px">We need to continue carefully reviewing the design requirements of <a href="http://concepts.html/#TieredDesign" target="_blank">4.2.3 Tiered design for skeleton, skin, coveroids</a> in order to add further fields to <span style="font-weight:bold">Coveroid</span> object (as necessary) with corresponding functionality definitions.</li><li style="margin:10px 0px">Once we have a consistent design principles emerging, need to look at <a href="https://mail.google.com/mail/u/0/#m_7386264980568717178_m_1010625822353646373_Humanoid"><span style="font-weight:bold">Humanoid</span></a>, <a href="https://mail.google.com/mail/u/0/#m_7386264980568717178_m_1010625822353646373_Joint"><span style="font-weight:bold">Joint</span></a>, <a href="https://mail.google.com/mail/u/0/#m_7386264980568717178_m_1010625822353646373_Segment"><span style="font-weight:bold">Segment</span></a>, and <a href="https://mail.google.com/mail/u/0/#m_7386264980568717178_m_1010625822353646373_Site"><span style="font-weight:bold">Site</span></a> clauses to see what additional semantic functionality needs to be defined.</li><li style="margin:10px 0px">Is <span style="font-weight:bold">Tier</span> object a better name than <span style="font-weight:bold">Coveroid</span> object?</li><li style="margin:10px 0px">What other capabilities need to be listed here?</li></ol></blockquote><div>Quote for today:</div><div><ul><li style="margin-left:15px"><i>"What are you working on?  What's the most important problem in your area?  Why aren't they the same?" </i></li><li style="margin-left:15px">Richard Wesley Hamming (1915-1998)</li><li style="margin-left:15px">from biography <a href="https://richardwesleyhamming.com/" target="_blank">Richard Wesley Hamming: Man, Mathematician, Mentor</a> by Martin Mandelberg, published 2025</li></ul></div></div></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting  <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 11, 2025 at 9:30 AM Don Brutzman <<a href="mailto:don.brutzman@gmail.com" target="_blank">don.brutzman@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Thanks 1M Joe for these excellent thoughts, and also for a productive group dialog yesterday.  Our updated design goals from yesterday's weekly meeting can be found at</div><div><ul><li>HAnim architecture draft v2.1, clause 4 Concepts, <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#TieredDesign" style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:13.5424px" target="_blank">4.2.3 Tiered design for skeleton, skin, coveroids</a></li></ul><div>I agree with your reasoning that an author building a coveroid ought to be able to use either Shape geometry (as occurs in the Humanoid <i>skeleton</i> field), a morphable mesh (similar to the Humanoid <i>skin </i>field), or both.  Then add Site nodes to define locations for specific functionality, including connection points.  This design pattern already works for Humanoid... for example</div></div><div><ul><li><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalkIndex.html" target="_blank"><font face="arial, sans-serif">Joe Skeleton Skin Site Salute Walk</font></a></li></ul></div><div>Searching for "coveroid" - the following article is also interesting, reinforced by Carol McDonald's multiple contributions.</div><div><ul><li><a href="https://standards.ieee.org/beyond-standards/industry/retail/how-can-the-internet-of-clothing-benefit-our-wellbeing-and-environment/" target="_blank"><font face="arial, sans-serif">IEEE SA - How Can the Internet of Clothing Benefit Our Wellbeing and Environment?</font></a></li><li><h2 style="box-sizing:border-box;margin-top:0px;margin-bottom:0px;font-weight:400;line-height:1.25;color:rgb(0,0,0)"><font size="2" face="arial, sans-serif">Innovations in Wearable Technology Allow Brands and Consumers to Reimagine The Future of Clothing</font></h2></li><li><div><font size="2" face="arial, sans-serif">IEEE Standards Association (SA), 2 SEP 2022</font></div></li></ul><div>particularly</div><div><br></div><div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><b>Four Fundamental Components of the Internet of Clothing</b><br>IoC is enabling new ways for consumers to interact with and benefit from their clothing, as well as creating new ways for brands to reach them. And data is at the heart of the ecosystem.</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> </blockquote></div><div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><a href="https://standards.ieee.org/industry-connections/3d/bodyprocessing/" style="box-sizing:border-box;color:rgb(0,93,148);margin-bottom:0px;font-weight:600" target="_blank">A white paper from the IEEE SA 3D Body Processing Industry Connections (IC) Activity</a> outlines four interconnected components of the data transfer system – human, humanoid, cover, and coveroid:</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> </blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><ul style="box-sizing:border-box;padding-left:2rem;margin-top:0px;margin-bottom:1.5rem;color:rgb(0,0,0);font-family:"Open Sans",Verdana,Arial,sans-serif"><li style="box-sizing:border-box">The <span style="box-sizing:border-box;font-weight:700">human</span> refers to the actual person who wears the piece of clothing or footwear while the <span style="box-sizing:border-box;font-weight:700;margin-bottom:0px">humanoid</span> is a digital representation of the human, such as measurement data sets, dress forms, mannequins, or statues. The humanoid is used in the development of the product and is created by manual measurement, 3D body scanning of a human, 3D point cloud data (PCD) of a human, algorithms, population data, or any combination of these.</li></ul><ul style="box-sizing:border-box;padding-left:2rem;margin-top:0px;margin-bottom:1.5rem;color:rgb(0,0,0);font-family:"Open Sans",Verdana,Arial,sans-serif"><li style="box-sizing:border-box;margin-bottom:0px">The <span style="box-sizing:border-box;font-weight:700">cover</span> is anything that a human wears on or above the skin. Covers can be an outfit, multiple layers, or a single garment. When creating the product, manufacturers use a <span style="box-sizing:border-box;font-weight:700;margin-bottom:0px">coveroid</span>, which is a physical or digital representative of a cover. Coveroids can be created from physical or virtual measurement data, 3D cover scan data, cover point cloud data, visual algorithm, material algorithm, or a combination of these.</li></ul>The body data comes from humans, such as the body temperature, and then it is transferred to the humanoid, coveroid, and cover. These four fundamental components work together to form a framework of data sharing within the IoC ecosystem.</blockquote></div><div><br></div><div>It sure seems like the more we examine these IEEE 3DBP concepts from an HAnim specification perspective, the more adaptable and integratable they seem.  Step by step...</div><div><br></div><div>So far we have resisted the creation of a new node in HAnim Architecture, finding that most of the needed functionality can be implemented using existing HAnim nodes.</div></div><div><br></div><div>Nevertheless, since outer tiers might have single or multiple coveroids, defining an HAnim Coveroid node would let us encapsulate needed functionality and corresponding metadata in a single package.  This can also facilitate independent creation of a Coveroid object with later attachment to (or disconnection from) a Humanoid object.</div><div><br></div><div>Hmmm.... thoughts please: </div><ul style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"><li style="margin:10px 0px"><span style="background-color:rgb(207,226,243)">Why don't we try to define a <span style="font-weight:bold">Coveroid</span> object, which attempts to meet these many requirements, and which can be separately created/shared then eventually collected as outer tiers attached to a <span style="font-weight:bold">Humanoid</span> object.</span></li></ul><div><span style="font-family:monospace">all the best, Don</span></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting  <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 10, 2025 at 10:15 AM Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin:0.1rem 0px;line-height:1">> Any more requirements? </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1">The tiers need subsets for various levels of functionality. </p>
<p style="margin:0.1rem 0px;line-height:1">From simple 'costume fitment' garments with few binding points </p>
<p style="margin:0.1rem 0px;line-height:1">for coveroid to skeleton, up to a 'purchase fitment' coveroid</p>
<p style="margin:0.1rem 0px;line-height:1">with complete enough data for a realistic test/purchase/deliver</p>
<p style="margin:0.1rem 0px;line-height:1">process.</p>
<p style="margin:0.1rem 0px;line-height:1">  </p>
<p style="margin:0.1rem 0px;line-height:1">Also, the coveroid may be a collection of Segment geometry </p>
<p style="margin:0.1rem 0px;line-height:1">corresponding to the x3d Level 1, or be the x3d Level 2</p>
<p style="margin:0.1rem 0px;line-height:1">which includes <span style="font-size:12pt">skeleton-driven skin, and various </span>Displacers<span style="font-size:12pt">. </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">  </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">The top-level model Coveroid will be as smart, maybe smarter, </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">than </span><span style="font-size:12pt">the Humanoid because for physical delivery, it is still the </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">provider </span><span style="font-size:12pt">guaranteeing the fit. The Humanoid will have </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">to provide </span><span style="font-size:12pt">all the fitting information the Coveroid needs to decide </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">how to </span><span style="font-size:12pt">incorporate the Coveroid. Then the Humanoid must </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">evaluate and accept. </span><span style="font-size:12pt">Then there is the case where the </span><span style="font-size:12pt">Humanoid </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">obtain a certain digital piece and do the fitment using other </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">personal authorship tools. </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">  </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">So, seems like there needs to be a common set of requirements </span></p>
<p style="margin:0.1rem 0px;line-height:1"><span style="font-size:12pt">for the Humanoid and the Coveroid, so the both oids can integrate. </span></p>
<p style="margin:0.1rem 0px;line-height:1">So the Humanoid goes in and picks a garment and the store says,</p>
<p style="margin:0.1rem 0px;line-height:1">"Sorry, you don't currently include sufficient Sensors and Actuators</p>
<p style="margin:0.1rem 0px;line-height:1">to try that on. Can we interest you in a selection from this simpler set,</p>
<p style="margin:0.1rem 0px;line-height:1">or can you <span style="font-size:12pt">jaunt to the Upgrade </span><span style="font-size:12pt">S</span><span style="font-size:12pt">uite?" </span></p>
<p style="margin:0.1rem 0px;line-height:1">  </p>
<p style="margin:0.1rem 0px;line-height:1">Thanks and Fun with Coveroids, </p>
<p style="margin:0.1rem 0px;line-height:1">Joe </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
</div>
<div style="border-left:1px solid rgb(170,170,170);box-sizing:border-box;padding:10px 0px 10px 15px;margin:0px">
<div dir="ltr">
<div>
<div> </div>
</div>
</div>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sun, Nov 9, 2025 at 8:55 PM Don Brutzman <<a href="mailto:don.brutzman@gmail.com" target="_blank">don.brutzman@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Given our recent positive experiences with HAnimHumanoid re-use in X3D, have appended an additional design requirement.  This seems similarly do-able.</div>
<div> </div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div><span style="background-color:rgb(0,255,255)">l. <span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">The X3D Architecture implementation of HAnim Architecture allows repeatable use of </span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold">HAnimHumanoid</span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> nodes when </span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold">EXPORT [AS]</span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> exposes it from one file, and </span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold">Inline, IMPORT [AS]</span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> and then </span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold">USE</span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> retrieve the </span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold">HAnimHumanoid</span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> node in another file. Similar mechanisms need to be possible for scalable re-use and animation of clothing and coveroid models.</span></span></div>
</blockquote>
<div>
<div class="gmail_signature" dir="ltr">
<div dir="ltr">
<div style="color:rgb(34,34,34)"><span style="font-family:monospace"> </span></div>
<div style="color:rgb(34,34,34)"><span style="font-family:monospace">all the best, Don</span></div>
<div style="color:rgb(34,34,34)"><span style="font-family:monospace">-- </span></div>
<div style="color:rgb(34,34,34)"><span style="font-family:monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</span></div>
<div style="color:rgb(34,34,34)"><span style="font-family:monospace">Relative Motion Consulting  <a href="https://RelativeMotion.info" rel="noopener" target="_blank">https://RelativeMotion.info</a></span></div>
</div>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Fri, Nov 7, 2025 at 3:14 PM Don Brutzman <<a href="mailto:don.brutzman@gmail.com" rel="noopener" target="_blank">don.brutzman@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Dick and I took a good <a href="https://en.wiktionary.org/wiki/Appendix:Glossary_of_U.S._Navy_slang#:~:text=Round%20Turn" rel="noopener" target="_blank">round turn</a> today on draft HAnim v2.1 spec design considerations for clothing, building on the list we reviewed together last Monday.</div>
<div>
<ul>
<li>HAnim Architecture, draft v2.1, section 4 Concepts, <span style="background-color:rgb(255,255,0)">4.2.3 Tiered design for internal organs, skeleton, skin, coveroids</span></li>
<li><span style="background-color:rgb(255,255,255)"><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#TieredDesign" rel="noopener" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#TieredDesign</a></span></li>
</ul>
</div>
<div>
<h2 style="margin-top:18px;color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"><span style="background-color:yellow" title="Mantis 1495"><span style="font-size:small">4.2.3 Tiered design for internal organs, skeleton, skin, coveroids</span></span></h2>
<div style="background-color:lightcyan;color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif" title="Mantis 1502">
<p>Editors notes:</p>
<ul>
<li style="margin-top:4px">Need to describe overall design for Humanoid to have multiple tiers, so that layers of clothing can be added compatibly outside a human body.</li>
<li style="margin-top:4px">This tiered approach starts with internal organs and musculature (someday when ready), then skeleton, then skin, then coveroids...</li>
<li style="margin-top:4px">Conceivably this design will integrate well as a <em>coveroids</em> field for <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" rel="noopener" target="_blank"><span style="font-weight:bold">Humanoid</span></a> object.</li>
</ul>
<p>Terminology:</p>
<ul>
<li style="margin-top:4px"><a href="https://simple.wiktionary.org/wiki/tier" rel="noopener" target="_blank">Tier</a> is excellent new term to use, since we already have existing definitions for layers and levels.</li>
<li style="margin-top:4px">We use the term "coveroids" for the outermost tiers, also for name of an ordered array field in Humanoid.</li>
<li style="margin-top:4px">We hesitate to use the term "clothing" as a field name because it might be too limiting with respect to possible usage (e.g. suit of armor, artificial exoskeleton) and also because we need to consider non-human use cases.</li>
<li style="margin-top:4px">Nevertheless "clothes" and "clothing" remain candidate terminology for some cases, e.g. OED definition "clothes are items worn to cover the body."</li>
</ul>
<p>Design goals and requirements include:</p>
<ol type="a">
<li style="margin-top:4px">Current tiers of interest are skeleton, skin, and coveroids. Deferred as candidate future tiers: internal organs, musculature, and (potentially) a specific facial model.</li>
<li style="margin-top:4px">Each tier must be rendered in the correct order, from inside to outside.</li>
<li style="margin-top:4px">It must be possible to independently select which tiers are active in the current model.</li>
<li style="margin-top:4px">Can <span style="font-weight:bold">Joint</span> objects be used as root node for each tier (e.g. layer of clothing) or is a new node needed? If possible, for both implementation complexity and author understanding, it is preferable to <em>not</em> add new nodes to the specification.</li>
<li style="margin-top:4px">How do we handle meshes for coveroids? Similar to skin, authors may prefer Segment-based geometry or mesh changes or both. If design ends up being sufficiently similar, might we modify and refactor the existing <em>skin</em> field to be a list of meshes for each of tiers? Alternatively, it may be more object-oriented to keep each mesh encapsulated in each individual tier.</li>
<li style="margin-top:4px">To support such an approach for coveroids and other tiers, might we add <em>visible</em> field to <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#Joint" rel="noopener" target="_blank"><span style="font-weight:bold">Joint</span></a> and <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#Segment" rel="noopener" target="_blank"><span style="font-weight:bold">Segment</span></a> objects, in order to facilitate making blocks of geometry (and all related children) nonvisible and inactive? Correspondingly ought we create a boolean array for visibility in <span style="font-weight:bold">Humanoid</span> object? (A similar approach using a boolean array already exists for Motion node, however note that when implemented in X3D that requires authors to use scripting and is awkward to control at run time.)</li>
<li style="margin-top:4px">If a particular tier has no geometry, or is not visible, then it is not active.</li>
<li style="margin-top:4px">What are requirements for definition of connections between tiers (for example, layers of clothing connections to skin/skeleton)? Such connectivity almost certainly must link (directly or indirectly) to skeleton in order to maintain coherent animation of the humanoid. The <span style="font-weight:bold">Site</span> object is an obvious candidate for defining such connectivity.</li>
<li style="margin-top:4px">Can <span style="font-weight:bold">Site</span> object be applied consistently in context of each of the tiers? In other words, is a point-wise approach using Site sufficient, or might other kinds of connections be necessary? It is likely possible but careful definitions are needed since non-point connections (line or surfaces) might be needed. (For example, is the shoulder line for clothing represented by a set of points or a line?)</li>
<li style="margin-top:4px">Need ability to attach or detach connections (for example, when a humanoid is putting on or taking off a hat).</li>
<li style="margin-top:4px">Test case: is fur part of skin or part of coveroids? (Such design is probably an author option, who might also choose to paint segment geometry.)</li>
<li style="margin-top:4px">Any more requirements?</li>
</ol>
</div>
</div>
<div>
<div class="gmail_signature" dir="ltr">
<div dir="ltr">
<div style="color:rgb(34,34,34)"><span style="font-family:arial,sans-serif">Group conversations are definitely helping, and comments are always welcome.</span></div>
<div style="color:rgb(34,34,34)"><span style="font-family:arial,sans-serif"> </span></div>
<div style="color:rgb(34,34,34)"><span style="font-family:arial,sans-serif">This approach has potential to only require addition of a <em>coveroids</em> field to the <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" rel="noopener" target="_blank"><strong>Humanoid</strong></a> object, which is interesting simplicity.  Also addition of <em>visible </em>field to<span style="background-color:rgb(255,255,255)"> </span></span><span style="background-color:rgb(255,255,255)"><a style="font-family:Verdana,Arial,Helvetica,sans-serif" href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/ObjectInterfaces.html#Joint" rel="noopener" target="_blank"><span style="font-weight:bold">Joint</span></a><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> and </span><a style="font-family:Verdana,Arial,Helvetica,sans-serif" href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/ObjectInterfaces.html#Segment" rel="noopener" target="_blank"><span style="font-weight:bold">Segment</span></a><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> objects offers appealing usefulness from a regular HAnim perspective, the ability to hide limbs or portions of the body...  Things look a little better each time.</span></span></div>
<div style="color:rgb(34,34,34)"><span style="background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> </span></span></div>
<div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">Once we are all reasonable happy with these requirements, suggested next steps are:</span></div>
<div>
<ul>
<li><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">define a few simple use cases that describe expected functionality, later looking at MSF use cases.</span></li>
<li><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">start converting design requirements into specification prose,</span></li>
<li><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">building a simple example.</span></li>
</ul>
<div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">Have fun thinking about future Humanoids wearing clothes!  👔👕👖👗👘👙👚🥼</span></div>
<div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> </span></div>
<div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">p.s. for Carol: and shoes too!  👡👢🥾🩴👞👟👠🥿🩰</span></div>
</div>
<div style="color:rgb(34,34,34)"> </div>
<div style="color:rgb(34,34,34)"><span style="font-family:monospace">all the best, Don</span></div>
<div style="color:rgb(34,34,34)"><span style="font-family:monospace">-- </span></div>
<div style="color:rgb(34,34,34)"><span style="font-family:monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</span></div>
<div style="color:rgb(34,34,34)"><span style="font-family:monospace">Relative Motion Consulting  <a href="https://RelativeMotion.info" rel="noopener" target="_blank">https://RelativeMotion.info</a></span></div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>

<p style="margin:0.1rem 0px;line-height:1"> </p></blockquote></div></div>
</blockquote></div>
</div>
</blockquote></div></div>