<div dir="auto">Andreas, Michalis, Holger: there’s a todo on my list for x3dom JSONParser.js for when JSON is translated to a  DOM document—for value fields,  this applies to all MetadataXxx that needs a containerField=‘value’, not MetadataSet in many cases.  I’ve tested this for X3DJSONLD’s X3DJSONLD.js on the way to JavaSerializer.js. (json2all.js drops a turd file …x3d.new.   It has been working for view3dscene that no longer reports the missing containerField—I’m not sure why we need to report on missing containerField’s, Michalis?   I don’t know if x3dom or x-ite requires a containerField or not.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jun 24, 2023 at 10:06 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com">andreasplesch@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr"><div dir="ltr">On Fri, Jun 23, 2023 at 5:39 PM Joseph D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>> wrote<br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><br>>>>. So, if the tool does not do that, the user may be disappointed. In the long past most every player had many ’tolerant’ behaviors.</div><div dir="ltr" class="gmail_attr"><br></div><div class="gmail_attr">It is nice to have more tolerant viewers but a user should not be disappointed if an non-valid scene generates errors or does not display.</div><div class="gmail_attr"><br></div><div class="gmail_attr">If there was a defacto standard behavior in the long past, that means there may be a good reason to formalize that behaviour. Alternatively, dedicated validation tools could help with detecting and then correcting incomplete and therefore invalid content.</div><div class="gmail_attr"><br></div><div class="gmail_attr">Thanks,</div><div class="gmail_attr"><br></div><div class="gmail_attr">-Andreas</div></div></div><div dir="ltr"><div class="gmail_quote"><div class="gmail_attr"> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div lang="EN-US"><p class="MsoNormal">Thanks, </p><p class="MsoNormal">Joe</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor currentcolor"><p class="MsoNormal" style="border:medium;padding:0in"><b>From: </b><a href="mailto:andreasplesch@gmail.com" target="_blank">Andreas Plesch</a><br><b>Sent: </b>Thursday, June 22, 2023 2:52 PM<br><b>To: </b><a href="mailto:michalis.kambi@gmail.com" target="_blank">Michalis Kamburelis</a><br><b>Cc: </b><a href="mailto:yottzumm@gmail.com" target="_blank">John Carlson</a>; <a href="mailto:brutzman@nps.edu" target="_blank">Brutzman, Donald (Don) (CIV)</a>; <a href="mailto:joedwil@earthlink.net" target="_blank">Joe D Williams</a>; <a href="mailto:x3d-public@web3d.org" target="_blank">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: HAnim sample failing in X3DOM, error in view3dscene, additional tests</p></div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Also agreed on performance impacts. There are set_index in fields for the index fields, meaning that dynamic changes to the indices are allowed. This is impacting performance in itself and if checking and potentially filling in values would be required as well it would further affect performance on a per frame basis.</p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">For example, Three.js is very strict, for performance reasons, in expecting all input to its interfaces to be valid. It does not perform error checking itself.</p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I only mentioned spec changes because in practice users - after a warning - would still expect some non-fatal behaviour anyways which requires checking and potentially filling in or altering values. So why not standardize this behaviour ?</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I think I may add checking and recycling with a warning only to the initial setup of the IFS node but not for dynamic changes via routes or SAI. Animating textures through texcoord indices seems a valid use case.</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Cheers,</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">-Andreas</p></div></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Jun 22, 2023 at 12:36 PM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>> wrote:</p></div><blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)"><div><div><p class="MsoNormal" style="margin-left:9.6pt">I would be against introducing spec wording to guarantee any behavior when there's not enough per-vertex data. </p></div><div><p class="MsoNormal" style="margin-left:9.6pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:9.6pt">1. There's no obvious resolution (replicating last texture coordinate may not be "what the author wanted" -- the texture will be likely weirdly stretched),</p></div><div><p class="MsoNormal" style="margin-left:9.6pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:9.6pt">2. Other model formats also don't specify anything in this case. It's just invalid model causing undefined behavior for glTF, Collada etc.</p></div><div><p class="MsoNormal" style="margin-left:9.6pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:9.6pt">3. It may be a performance issue in some scenarios. Some browsers could be bundled with models essentially guaranteed to be correct (e.g. when you deliver a game runtime + game assets locally). ( This is just a theoretical example, CGE doesn't do this now -- we check models for correctness the same, no matter if it's in view3dscene or in some game using CGE. ) Such browsers can right now upload the data to GPU in a straightforward fashion without checking for correctness. Or just check for correctness and fail if the model is wrong. If the browsers will have to instead potentially process the data, because even correct models may not have enough data... then we've lost performance in some cases.</p></div><div><p class="MsoNormal" style="margin-left:9.6pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:9.6pt">    Basically, if we allow something in the spec as "valid model", then we make a guarantee it is supported. Authors will use it, and developers have to make sure it is supported. In this particular case, I'd say the benefit (supporting models where someone likely just made a mistake) is not big enough to justify the costs (need to process per-vertex data, doing operation that may not be what author wanted anyway).</p></div><p class="MsoNormal" style="margin-left:9.6pt"><u></u> <u></u></p><div><p class="MsoNormal" style="margin-left:9.6pt">The arguments 1 and 2 are really critical for me. There's no sensible default behavior to do IMHO, author should get a clear message "this is invalid model, please fix it".</p></div><div><p class="MsoNormal" style="margin-left:9.6pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:9.6pt">Regards,</p></div><div><p class="MsoNormal" style="margin-left:9.6pt">Michalis</p></div></div><p class="MsoNormal" style="margin-left:9.6pt"><u></u> <u></u></p><div><div><p class="MsoNormal" style="margin-left:9.6pt">czw., 22 cze 2023 o 17:55 Andreas Plesch <<a href="mailto:andreasplesch@netscape.net" target="_blank">andreasplesch@netscape.net</a>> napisał(a):</p></div><blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)"><div><div><p class="MsoNormal" style="margin-left:19.2pt">Agreed. I can add a warning to the x3dom console log. But checking for correctness is really the job of a validator, not necessarily of a viewer. This is also true for glTF, and probably Collada, which have their own dedicated validators.</p></div><div><p class="MsoNormal" style="margin-left:19.2pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:19.2pt">Another possibility is to change the spec. to define a behaviour other than undefined, unpleasant as it is. The simplest would be probably "use the last available" to fill in missing 2d3d4dtexcoords/2d3dcoords/rgbrgbacolors . Alternatively, "replace out of range indices with the highest in range index". Very similar but has some consequences for event routing since different fields are altered.</p></div><div><p class="MsoNormal" style="margin-left:19.2pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:19.2pt">-Andreas</p></div></div><p class="MsoNormal" style="margin-left:19.2pt"><u></u> <u></u></p><div><div><p class="MsoNormal" style="margin-left:19.2pt">On Thu, Jun 22, 2023 at 8:10 AM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>> wrote:</p></div><blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)"><div><div><p class="MsoNormal" style="margin-left:0.4in">Andreas, </p></div><div><p class="MsoNormal" style="margin-left:0.4in"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:0.4in">I especially agree with statement """I can add recycling of texCoords in x3dom for such a case but it is almost not worth doing since the problem is that there are many reasonable strategies to divine an author's intention""" :)</p></div><div><p class="MsoNormal" style="margin-left:0.4in"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:0.4in">Exactly -- there are many possible options "what to do, what was the author's intention". There are even more options if we recall that texture coordinates may also be 3D and 4D, for 3D textures. And the same issue can occur with other per-vertex data, e.g. colors per vertex, normals, fog coordinates, shader attributes.</p></div><div><p class="MsoNormal" style="margin-left:0.4in"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:0.4in">My recommendation would be to first make a clear warning/error to user about it, so that users know to fix this issue in the model. This is also what (from my knowledge) everyone else does -- glTF, Collada, Wavefront OBJ... they all have some indexes and texture coordinates, and they just require that author provides enough texture coordinates. It's undefined what happens if model is invalid, it is even possible that renderer uploads to GPU something invalid and then GPU decides what happens (but letting GPU choose the undefined behavior is not good from security standpoint -- ideally the renderer should catch it and make reliable error/warning).</p></div><div><p class="MsoNormal" style="margin-left:0.4in"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:0.4in">We don't want to have a talk in +5 years """OK, what do we do with not enough per-vertex data, because FreeWRL now fills it with zeroes, X3DOM cycles from beginning, CGE fills it with 1s""" etc. :) We want our resolution to be "such models are invalid, authors should get message about it and know to fix the models".</p></div><div><p class="MsoNormal" style="margin-left:0.4in"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:0.4in">Regards,</p></div><div><p class="MsoNormal" style="margin-left:0.4in">Michalis</p></div><div><p class="MsoNormal" style="margin-left:0.4in"><u></u> <u></u></p></div></div><p class="MsoNormal" style="margin-left:0.4in"><u></u> <u></u></p><div><div><p class="MsoNormal" style="margin-left:0.4in">czw., 22 cze 2023 o 03:40 John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> napisał(a):</p></div><blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)"><div><p class="MsoNormal" style="margin-left:38.4pt">Here's a near perfect file before scaling.  Still working on that as it view3dscene is reporting metadata errors.</p></div><p class="MsoNormal" style="margin-left:38.4pt"><u></u> <u></u></p><div><div><p class="MsoNormal" style="margin-left:38.4pt">On Wed, Jun 21, 2023 at 7:09 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:</p></div><blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)"><div><div><div><p class="MsoNormal" style="margin-left:48pt">Diagnostic reports for JinLOA4.x3d, file size  684156</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:84pt"><u></u><span style="font-size:10pt;font-family:Symbol"><span style="font-family:Symbol">·<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">        </span></span></span><u></u><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d</a></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:84pt"><u></u><span>1.<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">      </span></span><u></u>X3D-Edit checkmark for X3D Validator reports</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">--------- X3D Validator checks commenced for JinLOA4.x3d ---------</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Performing well-formed XML check...</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Checking file:/C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d." target="_blank" style="font-family:"Courier New"">www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d.</a>..</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Well-formed XML check: pass</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Performing DOCTYPE check...</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">[X3dDoctypeChecker] success: valid XML declaration found.[X3dDoctypeChecker] success: final X3D 4.0 DOCTYPE found.</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Performing DTD validation...</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Checking file:/C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d." target="_blank" style="font-family:"Courier New"">www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d.</a>..</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">XML DTD validation: pass</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Performing X3D schema validation...</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Checking file:/C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d." target="_blank" style="font-family:"Courier New"">www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d.</a>..</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Referenced entity at <a href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd" target="_blank" style="font-family:"Courier New"">http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd</a>.</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Referenced entity at <a href="http://www.w3.org/2001/XMLSchema.dtd" target="_blank" style="font-family:"Courier New"">http://www.w3.org/2001/XMLSchema.dtd</a>.</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Referenced entity at <a href="http://www.w3.org/2001/datatypes.dtd" target="_blank" style="font-family:"Courier New"">http://www.w3.org/2001/datatypes.dtd</a>.</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">XML schema validation: pass</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Performing X3D regular expression (regex) values check...</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D regex check: complete</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Performing X3dToX3dvClassicVrmlEncoding.xslt conversion check...</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Performing X3D Schematron check...</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">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]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> version='2.0' with X3D version='4.0' [/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">==================================================================================================================== [/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node count(HAnimJoint)           within skeleton hierarchy        = 146[/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node count(HAnimSegment)         within skeleton hierarchy        = 146[/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node count(HAnimSite)            within HAnimHumanoid             = 0[/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node count(HAnimSite//Viewpoint) within skeleton hierarchy        = 0[/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node count(HAnimDisplacer)       within skeleton hierarchy        = 0[/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node count(<HAnimJoint   USE='*' containerField = 'joints'/>)     = 146[/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node count(<HAnimSegment USE='*' containerField = 'segments'/>)   = 146[/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node count(<HAnimSite    USE='*' containerField = 'sites'/>)      = 0[/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node count(<HAnimSite    DEF='*' name ends with '_view'/>)        = 0[/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">==================================================================================================================== [/X3D/Scene/HAnimHumanoid, diagnostic]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimJoint DEF='hanim_l_tarsal_distal_interphalangeal_1' name='l_tarsal_distal_interphalangeal_1'/> is not a recognized name for HAnim2 HAnimJoint [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint, warning]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimSegment DEF='hanim_l_tarsal_distal_phalanx_1' name='l_tarsal_distal_phalanx_1'/> has parent HAnimJoint name='l_tarsal_distal_interphalangeal_1' rather than expected parent name='l_tarsal_interphalangeal_1', recommend checking model [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimSegment, warning]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimJoint DEF='hanim_r_tarsal_distal_interphalangeal_1' name='r_tarsal_distal_interphalangeal_1'/> is not a recognized name for HAnim2 HAnimJoint [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint, warning]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimSegment DEF='hanim_r_tarsal_distal_phalanx_1' name='r_tarsal_distal_phalanx_1'/> has parent HAnimJoint name='r_tarsal_distal_interphalangeal_1' rather than expected parent name='r_tarsal_interphalangeal_1', recommend checking model [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimSegment, warning]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimJoint DEF='hanim_vl5' name='vl5'/> has parent HAnimJoint name='sacroiliac' rather than expected parent name='humanoid_root', recommend checking model [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint/HAnimJoint[3], warning]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimJoint DEF='hanim_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/HAnimHumanoid/HAnimJoint[1]/HAnimJoint/HAnimJoint[3]/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]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""><HAnimJoint DEF='hanim_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/HAnimHumanoid/HAnimJoint[1]/HAnimJoint/HAnimJoint[3]/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]</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">--------- X3D Validator checks complete for JinLOA4.x3d ---------</span></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:84pt"><u></u><span>2.<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">      </span></span><u></u>Andreas link to X3DOM Editor</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:84pt"><u></u><span style="font-size:10pt;font-family:Symbol"><span style="font-family:Symbol">·<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">        </span></span></span><u></u><a href="https://andreasplesch.github.io/Library/Viewer/index.html?url=https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d" target="_blank">https://andreasplesch.github.io/Library/Viewer/index.html?url=https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d</a></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt">provides following console:</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'interest-cohort'.</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom-full.debug.js:65740  Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'x')</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at x3dom.registerNodeType.defineClass.nodeChanged.nodeChanged (x3dom-full.debug.js:65740:90)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12112:19)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12105:34)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at NodeList.forEach (<anonymous>)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12103:36)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12105:34)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at NodeList.forEach (<anonymous>)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12103:36)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12105:34)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">    at NodeList.forEach (<anonymous>)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">nodeChanged @ x3dom-full.debug.js:65740</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12112</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">(anonymous) @ x3dom-full.debug.js:12105</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.X3DDocument._setup @ x3dom-full.debug.js:21793</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">next_step @ x3dom-full.debug.js:21731</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">next_step @ x3dom-full.debug.js:21743</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.X3DDocument.load @ x3dom-full.debug.js:21747</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.X3DCanvas.load @ x3dom-full.debug.js:2121</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">onload @ x3dom-full.debug.js:20366</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.reload @ x3dom-full.debug.js:20429</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">x3dom.Runtime.replaceWorld @ x3dom-full.debug.js:20043</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">updatex3d @ index.html?url=<a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d:228" target="_blank" style="font-family:"Courier New"">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d:228</a></span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">load @ index.html?url=<a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d:214" target="_blank" style="font-family:"Courier New"">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d:214</a></span></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt">3. am getting similar browser console error if launched directly in X3DOM</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:84pt"><u></u><span style="font-size:10pt;font-family:Symbol"><span style="font-family:Symbol">·<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">        </span></span></span><u></u><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4X3dom.xhtml" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4X3dom.xhtml</a></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:84pt"><u></u><span>4.<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">      </span></span><u></u>view3dscene (launched from X3D-Edit) reports</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"><img border="0" src="cid:188f0787b6893ed74f21" style="width:675px;max-width:100%"></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt">Suggestion: add a button to view3dscene diagnostic that enables user to “Copy to clipboard” – usually this is provided.</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt">Closing the X3DOM editor did not fix this access problem.</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt">Closing the X3D-Edit pane for this problem did not fix this access problem, but closing X3D-Edit executable (surprisingly) did. Not sure why, will look further at that.</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt">Now view3dscene renders the model and provides 11 warnings:</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">11 warnings:</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: Unknown X3D field name (unhandled X3D XML attribute) "loa" in node "HAnimHumanoid"</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: Error when reading MFString field "value" value. Possibly missing double quotes (treating as a single string): Error at line 1 column 4: Expected string, got "Jin"</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: Error when reading MFString field "value" value. Possibly missing double quotes (treating as a single string): Error at line 1 column 19: Expected string, got "myeongwonlee@gmail"</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: X3D XML: More than one value specified for SFNode field MetadataSet.metadata</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: Error when reading MFString field "value" value. Possibly missing double quotes (treating as a single string): Error at line 1 column 3: Expected string, got integer 31</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: X3D XML: More than one value specified for SFNode field MetadataSet.metadata</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: Error when reading MFString field "value" value. Possibly missing double quotes (treating as a single string): Error at line 1 column 7: Expected string, got "female"</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: X3D XML: More than one value specified for SFNode field MetadataSet.metadata</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: X3D XML: More than one value specified for SFNode field MetadataSet.metadata</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: X3D XML: More than one value specified for SFNode field MetadataSet.metadata</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D: Invalid index for field TextureCoordinate.point (MFVec2f)</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Scene URL: file:///C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d" target="_blank" style="font-family:"Courier New"">www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d</a>.</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Use "File->View Warnings" menu to view these warnings again.</span></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"><img border="0" src="cid:188f0787b68338adac62" style="width:651px;max-width:100%"></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"><img border="0" src="cid:188f0787b68def8efe93" style="width:649px;max-width:100%"></p><p class="MsoNormal" style="margin-left:48pt"> </p><div><p class="MsoNormal" style="margin-left:84pt"><u></u><span>5.<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">      </span></span><u></u>Testing in X_ITE: renders fine, shows no errors in console.</p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:84pt"><u></u><span style="font-size:10pt;font-family:Symbol"><span style="font-family:Symbol">·<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">        </span></span></span><u></u><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4X_ITE.html" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4X_ITE.html</a></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:84pt"><u></u><span>6.<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">      </span></span><u></u>Xj3D has a verbose console without any errors apparent,  However only renders a black screen.</p><p class="MsoNormal" style="margin-left:84pt"><u></u><span>7.<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">      </span></span><u></u> </p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Xj3D Xj3dVersionInformation: v2.3-nps utilizing NPS Open DIS v7</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">with 3D rendering by</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">-----------------------------------------------------------------------------------------------------</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Package: org.j3d.aviatrix3d</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Extension Name: org.j3d.aviatrix3d</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Specification Title: Aviatrix3D 3.1.1-nps - NPS SF</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Specification Vendor: Justin Couch</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Specification Version: 3.1.1</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Title: Aviatrix3D 3.1.1-nps - NPS SF</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Vendor: Savage Research Group (SRG) of the Modeling, Virtual Environments and Simulation (MOVES) Institute at the Naval Postgraduate School (NPS), Monterey, CA</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Vendor ID: edu.nps.moves</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation URL: <a href="https://svn.code.sf.net/p/xj3d/code/branches/Supporting_APIs/aviatrix3d" target="_blank" style="font-family:"Courier New"">https://svn.code.sf.net/p/xj3d/code/branches/Supporting_APIs/aviatrix3d</a></span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Version: 3.1.1-nps built on Fri, 26 May 2023 1434 -0700</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Build: 3.1.1-nps</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Branch: branches/Supporting_APIs/aviatrix3d</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Commit: 12701</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Sources: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Classes: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Classes-this: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Natives: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Natives-this: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">-----------------------------------------------------------------------------------------------------</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">on top of</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">-----------------------------------------------------------------------------------------------------</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Package: com.jogamp</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Extension Name: com.jogamp</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Specification Title: JogAmp Java Bindings Specification</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Specification Vendor: JogAmp Community</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Specification Version: 2.5</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Title: JogAmp Java Bindings Fat Jar</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Vendor: JogAmp Community</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Vendor ID: com.jogamp</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation URL: <a href="http://jogamp.org/" target="_blank" style="font-family:"Courier New"">http://jogamp.org/</a></span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Version: 2.5.0-rc-20230515</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Build: 2.5-b957-20230515</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Branch: origin/master</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation Commit: 9301bf1854d91405319801b62c268e2ca09406e6</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Sources: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Classes: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Classes-this: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Natives: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Implementation SHA Natives-this: null</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">----------------------------------------------------------------------------------------------------- </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Operating system: Windows 10 10.0</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Java environment: Oracle Corporation 20.0.1</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">BuildStamp time and date: 1436 on May 26 2023</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Initializing OpenGL X3D browser in GLCanvas (AWT) mode.</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Graphics architecture will support 16 samples of full screen antialiasing.</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Warning: Native image loading unavailable, using default.</span></p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:48pt"> </p><p class="MsoNormal" style="margin-left:84pt"><u></u><span>8.<span style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">      </span></span><u></u>Not seeing any texture coordinate arithmetic problems.  There is probably a rule in X3D Schematron (within X3D Validator) to test for that.  Recommend checking further and we can define/implement further validation rules as needed.</p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New""> </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">all the best, Don</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">-- </span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank" style="font-family:"Courier New"">brutzman@nps.edu</a></span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span></p><p class="MsoNormal" style="margin-left:48pt"><span style="font-size:9pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics <a href="https://faculty.nps.edu/brutzman" target="_blank" style="font-family:"Courier New"">https://faculty.nps.edu/brutzman</a></span></p></div><p class="MsoNormal" style="margin-left:48pt"> </p><div><div style="border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-color:currentcolor"><p class="MsoNormal" style="margin-left:48pt"><b>From:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> <br><b>Sent:</b> Wednesday, June 21, 2023 2:25 PM<br><b>To:</b> Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>>; Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>>; Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>><br><b>Cc:</b> Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>>; x3dom mlist <<a href="mailto:x3dom-users@lists.sourceforge.net" target="_blank">x3dom-users@lists.sourceforge.net</a>>; x3dom-developer mlist <<a href="mailto:x3dom-developers@lists.sourceforge.net" target="_blank">x3dom-developers@lists.sourceforge.net</a>><br><b>Subject:</b> Re: HAnim sample failing in X3DOM, error in view3dscene.</p></div></div><p class="MsoNormal" style="margin-left:48pt"> </p><div><div><p class="MsoNormal" style="margin-left:48pt">Yes, good analysis Andreas and Michalis, I concluded the same thing.  I understand that i can bisect the file…easier said than done.  What i can do is write a program to find the bug and then extend output model with a key phrase in the TextureCoordinate point field.  That will be easier that searching by hand.</p></div><div><p class="MsoNormal" style="margin-left:48pt"> </p></div><div><p class="MsoNormal" style="margin-left:48pt">I suggest a change to the x3d validator.</p></div><div><p class="MsoNormal" style="margin-left:48pt"> </p></div><div><p class="MsoNormal" style="margin-left:48pt">John</p></div><div><p class="MsoNormal" style="margin-left:48pt"> </p><div><div><p class="MsoNormal" style="margin-left:48pt">On Wed, Jun 21, 2023 at 10:45 AM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> wrote:</p></div><blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor windowtext"><div><p class="MsoNormal" style="margin-left:0.8in">I agree with Michalis' analysis and also remember a similar discussion, I think with regards to Joe's kick model. </p><div><p class="MsoNormal" style="margin-left:0.8in"> </p></div><div><p class="MsoNormal" style="margin-left:0.8in"><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fandreasplesch.github.io%2FLibrary%2FViewer%2Findex.html%3Furl%3Dhttps%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2FCharacters%2FJinLOA4.x3d&data=05%7C01%7Cbrutzman%40nps.edu%7C8b5b4f2f27684455446308db729dfd41%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638229795120886399%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=LVKN%2BcRGX7NgY6H28BVXR7iSmCefJaYdX7W17qUVnlY%3D&reserved=0" target="_blank">https://andreasplesch.github.io/Library/Viewer/index.html?url=https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d</a></p></div><div><p class="MsoNormal" style="margin-left:0.8in"> </p></div><div><p class="MsoNormal" style="margin-left:0.8in">lets you edit the xml interactively and perhaps can aid in finding the missing tex. coords.</p></div><div><p class="MsoNormal" style="margin-left:0.8in"> </p></div><div><p class="MsoNormal" style="margin-left:0.8in">Cheers, Andreas</p></div></div><p class="MsoNormal" style="margin-left:0.8in"> </p><div><div><p class="MsoNormal" style="margin-left:0.8in">On Wed, Jun 21, 2023 at 10:43 AM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>> wrote:</p></div><blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor windowtext"><div><div><p class="MsoNormal" style="margin-left:67.2pt">There are not enough texture coordinates specified. The X3D model isn't valid. </p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">(We talked about this on x3d-public already some time ago, see thread "[x3d-public] New description fields".)</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">Details:</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">- Renderer doesn't have enough information what texture coordinate to assign to some vertexes. (And there's no reasonable fallback, e.g. "use last texture coordinate" wouldn't make sense -- that's not a useful thing to do with texture coordinates, at least in general models it wouldn't make sense, better to ask user to provide all texture coordinates.)</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">- Spec: <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD/Part01/components/geometry3D.html#IndexedFaceSet" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD/Part01/components/geometry3D.html#IndexedFaceSet</a> , texts like</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">    - """If the greatest index in the texCoordIndex field is N, then there shall be N+1 texture coordinates in the X3DTextureCoordinateNode."""</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">    - """If the greatest index in the coordIndex field is N, then there shall be N+1 texture coordinates in the X3DTextureCoordinateNode node."""</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">I improved the view3dscene error message to say:</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"><br>X3D: Invalid index 44 (should be less than count 44) for field TextureCoordinate.point (type: MFVec2f)</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">To pinpoint it (as I see there are many TextureCoodinate nodes), you can bisect the model (cut away this or that half, and see when it stops failing), or assign names to X3D names to pinpoint it, i.e. edit X3D to change</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt"><TextureCoordinate ...</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">-></p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt"><TextureCoordinate DEF="something unique" ...</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">Unfortunately in view3dscene we don't have at that point knowledge about exact line number from XML file -- I know, it would be useful in this case, to say "the problem is at TextureCoordinate at line 123 in X3D XML".</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div><div><p class="MsoNormal" style="margin-left:67.2pt">Regards,</p></div><div><p class="MsoNormal" style="margin-left:67.2pt">Michalis</p></div><div><p class="MsoNormal" style="margin-left:67.2pt"> </p></div></div><p class="MsoNormal" style="margin-left:67.2pt"> </p><div><div><p class="MsoNormal" style="margin-left:67.2pt">śr., 21 cze 2023 o 15:15 John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> napisał(a):</p></div><blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor windowtext"><div><div><div><p class="MsoNormal" style="margin-left:76.8pt">I'm having issues with the attached file in X3DOM.  Thanks for any assistance!</p></div><div><p class="MsoNormal" style="margin-left:76.8pt"> </p></div><div><p class="MsoNormal" style="margin-left:76.8pt">Here's what the errors show in view3dscene:</p></div><div><p class="MsoNormal" style="margin-left:76.8pt"> </p></div><div><p class="MsoNormal" style="margin-left:76.8pt"><img border="0" src="cid:188f0787b6879e9866c4" style="width:752px;max-width:100%"></p></div><div><p class="MsoNormal" style="margin-left:76.8pt"> </p></div><div><p class="MsoNormal" style="margin-left:76.8pt">x3dom-full.debug.js:65877  Uncaught TypeError: Cannot read properties of undefined (reading 'x')</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at x3dom.registerNodeType.defineClass.nodeChanged.nodeChanged (x3dom-full.debug.js:65877:90)</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12167:19)</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12160:34)</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at NodeList.forEach (<anonymous>)</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12158:36)</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12160:34)</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at NodeList.forEach (<anonymous>)</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12158:36)</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12160:34)</p></div><div><p class="MsoNormal" style="margin-left:76.8pt">    at NodeList.forEach (<anonymous>)</p></div></div></div></blockquote></div></blockquote></div><p class="MsoNormal" style="margin-left:0.8in"><br clear="all"></p><div><p class="MsoNormal" style="margin-left:0.8in"> </p></div><p class="MsoNormal" style="margin-left:0.8in">-- </p><div><div><div><p class="MsoNormal" style="margin-left:0.8in">Andreas Plesch<br>Waltham, MA 02453</p></div></div></div></blockquote></div></div></div></div></div></div></blockquote></div></blockquote></div></blockquote></div></blockquote></div></blockquote></div><p class="MsoNormal"><br clear="all"></p><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal"><span>-- </span></p><p class="MsoNormal">Andreas Plesch<br>Waltham, MA 02453</p><p class="MsoNormal"><u></u> <br><u></u></p></div></blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Andreas Plesch<br>Waltham, MA 02453</div></div></div></div>
</blockquote></div></div>