[x3d-public] renamed: HAnimHumanoid scale is required to be non-negative, USE outputs out of order

John Carlson yottzumm at gmail.com
Tue Oct 17 21:09:52 PDT 2023


Don,

Thanks for the super long report on Lily, we’ve discussed that on the
mailing list. We knew that problem.   There was more about validating XML
output from JoeKick.py (which is experimental, well said!)

The problem I really want solved, please do this for Joe, is limiting
precision of floating point x3d.py output, and make it user configurable.

 Your #2 is more than just field ordering because one has to consider all
the users of x3d.  I’m guessing Vince might have skinCoord before skin, or
joints before skeleton.  It all matters how the scenegraph is constructed.
Not by programmer coding a scenegraph, but by an export plugin which has to
deal with its tool data in a certain ways, different from Blender.  If I
have 3 or more parent nodes with one child node, how am I going to handle
that?  Indeed, solving the DEF/USE problem in x3d.py will solve the
ordering problem for all users of x3d.py.  It needs to check for 2 or more
DEFs. 1 or more USEs before a DEF, some referenced in HAnimHumanoid that is
outside the humanoid.   I’d love to be able to set skinCoord to a node
variable, and just have everything work.  If we keep track of the number of
parents (which is not required), then it might be possible to auto populate
DEF/USE and ROUTE node fields.

Think about exporting a DAG (directed acyclic graph) programmed by a
programmer who wants XML or VRML output.  How might that be accomplished?
If that problem isn’t solved, then everyone will want their own customized
copy of x3d.py so they can order fields as they wish.  Maybe you can make
field sorting configurable?  Sounds like a harder problem.

I’ve already seen all sorting shenanigans in the x3d.py stylesheet, which
would be super awesome technology to read about in a paper or see a
tutorial about if the stylesheet is autogenerated.  AFAIK, XML Schema
places no requirements on attribute order.  I actually edited the XML
schema to make HAnim work, figured out how to regen X3DUOM, etc, pretty
much without any documentation.  You are right, I probably don’t need much
technical assistance.   I like talking to teddy bears.  That’s how I solve
problems beyond inspiration from above (?).  If the super awesome
technology could also solve #2, double awesome!

===============================

“If that is indeed the case, then cut and paste to move them to a later
position in the file.”


Asking people to hand edit an HAnim export from that every time they export
VRML or XML from Blender is a bit much. Doug and I were both suffering
doing that.  We are silent now because I hand-edited x3d.py.  I thought
that was the end of the issue until Doug brought it up again.  Perhaps I
prompted him too much.  I guess he likes skinCoord before skin?  All our
exports depend on skin being first, where the  IFS is.

We did add a lot of code to solve the DEF/USE problem, but I think it made
the issue only more apparent.  We can’t magically make a DEF setter into a
USE setter—You can with setattr I think, but it sets it for all uses of a
node).  We can test to see if a node has been used.  But if we have a
single reference to a node, how do we set  DEF  and USE on it?  Keep track
of the order of the parents?  That might be another possible solution.
Hmm!

Remember the DAG!

On Tue, Oct 17, 2023 at 8:53 AM Brutzman, Donald (Don) (CIV) <
brutzman at nps.edu> wrote:

> I believe that the following email is trying to report that
>
>    1. HAnimHumanoid with a non-positive scale is being reported as
>    invalid.
>    2. HAnimHumanoid USE nodes are getting output out of order.
>
>
>
> Let’s look further at whether those are the problem issues.
>
>
>
>    1. Looking at X3D Architecture Specification,
>
>
>    - *26.3.2 HAnimHumanoid*
>
> ·        HAnimHumanoid : X3DChildNode, X3DBoundedObject {
>
> ·          […]
>
> ·          SFVec3f    [in,out] scale                 1 1 1    (0,∞)
>
>
>
> ·
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimHumanoid
>
>
>
> Indicates that is the specified bounds for validity.
>
>
>
> So the reported error message is precisely correct.
>
>
>
> If anyone is wondering “how did x3d.py know that” you can find the same
> information in X3D Unified Object Model (X3DUOM), which is used to
> autogenerate x3d.py library:
>
>
>
> class Transform(_X3DGroupingNode):
>
>
>
>     def scale(self, scale):
>
>         if  scale is None:
>
>             scale = (1, 1, 1)  # default
>
>         assertValidSFVec3f(scale)
>
>         self.__scale = scale
>
>
>
>    - X3DUOM 4.0
>    - https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml
>
>
>
> <ConcreteNode name="HAnimHumanoid">
>
>
>
>             <field name="scale"
>
>                     type="SFVec3f"
>
>                     accessType="inputOutput"
>
>                     default="1 1 1"
>
>                     minExclusive="0"
>
>                     description="Non-uniform x-y-z scale of child
> coordinate system, adjusted by center and scaleOrientation."/>
>
>
>
> which in turn is built from X3D 4.0 XML Schema, which would similarly flag
> this invalid scale value.
>
>
>
>    - X3D Specifications: Schema and DOCTYPE Validation
>    - https://www.web3d.org/specifications
>
>     Recommended Validation and Implementation Assets
>
> ·        X3D XML Schema x3d-4.0.xsd
> <https://www.web3d.org/specifications/x3d-4.0.xsd> and documentation
> <https://www.web3d.org/specifications/X3dSchemaDocumentation4.0.html>
>  (latest)
>
>    - HAnimHumanoid documentation
>    -
>    https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0_HAnimHumanoid.html#Link147
>
>
>
> scale  SFVec3f   1 1 1  appinfo <xs:minExclusive value="0"/>
>
>
>
> Further informal guidance plus reference links can be found in X3D
> Tooltips:
>
>
>
>    - X3D Tooltips 4.0, HAnimHumanoid scale
>    -
>    https://www.web3d.org/x3d/tooltips/X3dTooltips.html#HAnimHumanoid.scale
>    - scale accessType inputOutput, type SFVec3f CDATA "1 1 1"]
>    - Non-uniform x-y-z scale of child coordinate system, adjusted by
>    center and scaleOrientation.
>
>
>
> Just added, for consistency:
>
>    - Warning: HAnimHumanoid scale values must be positive.
>
>
>
> So many paths to get to the same authoritative answer from X3D 4.0
> Architecture specification.
>
>
>
>    1. Regarding error reports that HAnimHumanoid child USE nodes are out
>    of order, recommend checking your output text files.
>
>
>
> If that is indeed the case, then cut and paste to move them to a later
> position in the file.
>
>
>
> Further scrutiny of the HAnimHumanoid documentation (linked above) shows
> that the X3D XML Schema is indeed order sensitive regarding outputs as
> well.  So once again your diagnostics for a complex model are consistent,
> even though correspondingly complex.
>
>
>
> I have added that issue to the TODO list for X3DPSAIL.
>
>
>
>    - X3D Python Scene Access Interface Library (X3DPSAIL)
>    - https://www.web3d.org/x3d/stylesheets/python/python.html#TODO
>    - TODO: When converting to other forms, check ordering of output for
>    USE nodes within HAnimHumanoid.
>
>
>
> Wishing best progress with all X3D modeling efforts – the only bad error
> is the one you don’t know about.
>
>
>
> Have fun with X3D – or else!  8)
>
>
>
> all the best, Don
>
> --
>
> Don Brutzman  Naval Postgraduate School, Code USW/Br
> brutzman at nps.edu
>
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
> +1.831.656.2149
>
> X3D graphics, virtual worlds, navy robotics
> https://faculty.nps.edu/brutzman
>
>
>
> *From:* x3d-public <x3d-public-bounces at web3d.org> *On Behalf Of *John
> Carlson
> *Sent:* Monday, October 16, 2023 10:52 PM
> *To:* X3D Graphics public mailing list <x3d-public at web3d.org>
> *Subject:* Re: [x3d-public] Thoughts for x3d.py str() calls ("real world"
> tests of x3d.py output)
>
>
>
> I've made suggestions to improve issues with containerField XML output,
> and they were roundly dismissed. x3d.py has not had to face real world
> problems, especially with HAnim, which is why this whole discussion came
> up.  Do you want fewer digits in numbers or not?  Do you see any x3d.py
> HAnim tests being run?  Let me try one:
>
>
>
>
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/Lily.py
>
>
>
> So try this example IN "REAL" life:
>
>
>
> $ py !$
>
> py Lily.py
>
> x3d.py package 4.0.64.4 loaded, have fun with X3D Graphics!
>
> Traceback (most recent call last):
>
>   File "C:¥Users¥john¥X3DJSONLD¥blend¥Lily.py", line 69, in <module>
>
>     HAnimHumanoid(DEF='Lily',scale=(1,1,-1),version='2.0',
>
>   File "C:¥Users¥john¥X3DJSONLD¥blend¥x3d.py", line 45576, in __init__
>
>     self.scale = scale
>
>     ^^^^^^^^^^
>
>   File "C:¥Users¥john¥X3DJSONLD¥blend¥x3d.py", line 45751, in scale
>
>     assertPositive('scale', scale)
>
>   File "C:¥Users¥john¥X3DJSONLD¥blend¥x3d.py", line 1906, in assertPositive
>
>     assert isPositive(value), str(fieldName) + '=' + str(value) + ' fails
> assertPositive requirements: value(s) must be greater than or equal to zero'
>
> AssertionError: scale=(1, 1, -1) fails assertPositive requirements:
> value(s) must be greater than or equal to zero
>
>
>
>
>
> I didn't even get CLOSE to XML output!
>
>
>
> Admittedly, this example may be cherry picked, so let's try another:
>
>
>
>
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.py
>
>
>
>
>
> $ py JoeKick.py
>
> x3d.py package 4.0.64.4 loaded, have fun with X3D Graphics!
>
> Self-test diagnostics for JoeKick.py:
>
> meta information, TODO: Record information about skin coordinates (found
> in comment at end of scene) as a structured MetadataSet containing
> MetadataString nodes
>
> *** Python-to-XML well-formed XML document test failed.
>
>     x3dSchemaUrl=https://www.web3d.org/specifications/x3d-4.0.xsd
>
>     XMLSchemaParseError cannot import namespace '
> http://www.w3.org/2000/09/xmldsig#
> <https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23&data=05%7C01%7Cbrutzman%40nps.edu%7C0d81df4029db4f2feb5d08dbced54052%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638331187540927780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=p799nNynxEsmtnhC6rCo9TZgttglwjla6TD1zH4QPRU%3D&reserved=0>':
> Entities are forbidden (entity_name='dsig')
>
> Python-to-VRML export of VRML output successful
>
> Python-to-JSON export of JSON output successful (under development)
>
> python JoeKick.py load and self-test diagnostics complete.
>
>
>
> That looks good, let's try tovrmlx3d:
>
>
>
> Uncomment this like in JoeKick.py:
>
>
>
> print(newModelXML) # diagnostic
>
>
>
> $ py JoeKick.py > JoeKick.x3d
>
>
>
> [ edit all the stuff that for some reason, x3d.py writes to standard
> output. ]
>
>
>
> $ ‾/Downloads/view3dscene-4.3.0-win64-x86_64/view3dscene/tovrmlx3d.exe
> --validate JoeKick.x3d
>
> tovrmlx3d: Warning: X3D: Unknown X3D field name (indicated by
> containerField value) "children" by node "HAnimJoint" inside node
> "HAnimHumanoid"
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_SkinCoord"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_humanoid_root" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_sacroiliac"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_skullbase"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_temporomandibular" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc1"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc2"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc3"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc4"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc5"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc6"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vc7"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl1"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl2"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl3"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl4"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vl5"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt1"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt10"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt11"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt12"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt2"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt3"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt4"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt5"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt6"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt7"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt8"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_vt9"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_acromioclavicular" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_acromioclavicular" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpal_distal_interphalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpal_distal_interphalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpal_distal_interphalangeal_3" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpal_distal_interphalangeal_3" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpal_distal_interphalangeal_4" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpal_distal_interphalangeal_4" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpal_distal_interphalangeal_5" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpal_distal_interphalangeal_5" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpal_interphalangeal_1" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpal_interphalangeal_1" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpal_proximal_interphalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpal_proximal_interphalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpal_proximal_interphalangeal_3" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpal_proximal_interphalangeal_3" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpal_proximal_interphalangeal_4" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpal_proximal_interphalangeal_4" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpal_proximal_interphalangeal_5" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpal_proximal_interphalangeal_5" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpometacarpal_1" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpometacarpal_1" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpometacarpal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpometacarpal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpometacarpal_3" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpometacarpal_3" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpometacarpal_4" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpometacarpal_4" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_carpometacarpal_5" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_carpometacarpal_5" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_elbow"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_elbow"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_eyeball_joint" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_eyeball_joint" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_eyebrow_joint" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_eyebrow_joint" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_eyelid_joint" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_eyelid_joint" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_hip"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_hip"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_knee"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_knee"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_metacarpophalangeal_1" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_metacarpophalangeal_1" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_metacarpophalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_metacarpophalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_metacarpophalangeal_3" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_metacarpophalangeal_3" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_metacarpophalangeal_4" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_metacarpophalangeal_4" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_metacarpophalangeal_5" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_metacarpophalangeal_5" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_metatarsophalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_metatarsophalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_radiocarpal" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_radiocarpal" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_l_shoulder"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_r_shoulder"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_sternoclavicular" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_sternoclavicular" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_talocrural" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_talocrural" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_tarsal_distal_interphalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_tarsal_distal_interphalangeal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_l_tarsometatarsal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_r_tarsometatarsal_2" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "Joe_sacrum"
> undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "Joe_RootFront_view" undefined
>
> tovrmlx3d: Warning: X3D: Unknown X3D field name (indicated by
> containerField value) "children" by node "Shape" inside node "HAnimHumanoid"
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_humanoid_root"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_humanoid_root"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_sacroiliac" not
> found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_hip" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_knee" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_talocrural"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_tarsometatarsal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_metatarsophalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_tarsal_distal_interphalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_hip" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_knee" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_talocrural"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_tarsometatarsal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_metatarsophalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_tarsal_distal_interphalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vl1" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt12" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt11" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt10" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt9" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt8" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt7" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt6" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vt1" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc7" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc6" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_vc1" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_skullbase" not
> found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_eyelid_joint"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_eyeball_joint"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_eyebrow_joint"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_eyelid_joint"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_eyeball_joint"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_eyebrow_joint"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_temporomandibular" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_sternoclavicular" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_acromioclavicular" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_shoulder" not
> found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_elbow" not
> found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_l_radiocarpal"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpometacarpal_1" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_metacarpophalangeal_1" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpal_interphalangeal_1" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpometacarpal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_metacarpophalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpal_proximal_interphalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpal_distal_interphalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpometacarpal_3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_metacarpophalangeal_3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpal_proximal_interphalangeal_3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpal_distal_interphalangeal_3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpometacarpal_4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_metacarpophalangeal_4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpal_proximal_interphalangeal_4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpal_distal_interphalangeal_4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpometacarpal_5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_metacarpophalangeal_5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpal_proximal_interphalangeal_5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_l_carpal_distal_interphalangeal_5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_sternoclavicular" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_acromioclavicular" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_shoulder" not
> found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_elbow" not
> found
>
> tovrmlx3d: Warning: X3D: Route destination node name "Joe_r_radiocarpal"
> not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpometacarpal_1" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_metacarpophalangeal_1" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpal_interphalangeal_1" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpometacarpal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_metacarpophalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpal_proximal_interphalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpal_distal_interphalangeal_2" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpometacarpal_3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_metacarpophalangeal_3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpal_proximal_interphalangeal_3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpal_distal_interphalangeal_3" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpometacarpal_4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_metacarpophalangeal_4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpal_proximal_interphalangeal_4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpal_distal_interphalangeal_4" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpometacarpal_5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_metacarpophalangeal_5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpal_proximal_interphalangeal_5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_r_carpal_distal_interphalangeal_5" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "Joe_skull_tip_raiser_action" not found
>
> tovrmlx3d: Warning: X3D: Route destination node name
> "KickTextureTransform" not found
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name
> "JoeSkinImageTexture" undefined
>
> tovrmlx3d: Warning: X3D: Incorrect USE clause: node name "AxisLinesShape"
> undefined
>
> Exception "Exception":
>
> Validation failed (consult the warnings above), exiting with non-zero
> status
>
>
>
> I know that Don loves tovrmlx3d.  Why not try it on X3D XML HAnim output
> from x3d.py? Oh wait, he loves X3D-Edit.  Let me try that too:
>
>
>
> --------- X3D Validator checks commenced for JoeKick.x3d ---------
>
>
>
> Performing well-formed XML check...
>
> Checking file:/C:/Users/john/X3DJSONLD/blend/JoeKick.x3d...
>
> Well-formed XML check: pass
>
>
>
> Performing DOCTYPE check...
>
> [X3dDoctypeChecker] success: valid XML declaration
> found.[X3dDoctypeChecker] success: final X3D 4.0 DOCTYPE found.
>
>
>
> Performing DTD validation...
>
> Checking file:/C:/Users/john/X3DJSONLD/blend/JoeKick.x3d...
>
> Attribute "level" is required and must be specified for element type
> "component".
>
> The content of element type "HAnimHumanoid" must match
> "(IS?,(MetadataBoolean|MetadataDouble|MetadataFloat|MetadataInteger|MetadataSet|MetadataString|ProtoInstance)?,(HAnimJoint*,HAnimSegment*,HAnimSite*,HAnimMotion*,(Shape|Group|LOD|Switch|Transform|IndexedFaceSet|IndexedLineSet|IndexedQuadSet|IndexedTriangleFanSet|IndexedTriangleSet|IndexedTriangleStripSet)?,HAnimMotion*,(Coordinate|CoordinateDouble)*,Normal*,ProtoInstance*)*)".
>
> XML DTD validation: fail!
>
>
>
> Performing X3D schema validation...
>
> Checking file:/C:/Users/john/X3DJSONLD/blend/JoeKick.x3d...
>
> Referenced entity at "
> http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd
> <https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2FTR%2F2002%2FREC-xmldsig-core-20020212%2Fxmldsig-core-schema.xsd&data=05%7C01%7Cbrutzman%40nps.edu%7C0d81df4029db4f2feb5d08dbced54052%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638331187540927780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=MkWQzrOORFRKS8sLpOsevT%2Fsuxis6PWYThdrXTBQ9Xg%3D&reserved=0>
> ".
>
> Referenced entity at "http://www.w3.org/2001/XMLSchema.dtd
> <https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema.dtd&data=05%7C01%7Cbrutzman%40nps.edu%7C0d81df4029db4f2feb5d08dbced54052%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638331187540927780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=q%2FFDydThIhITMop%2BcDGyw5mJ%2FFszLUodDopECGk6I9w%3D&reserved=0>
> ".
>
> Referenced entity at "http://www.w3.org/2001/datatypes.dtd
> <https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2001%2Fdatatypes.dtd&data=05%7C01%7Cbrutzman%40nps.edu%7C0d81df4029db4f2feb5d08dbced54052%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638331187540927780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=uku73wUYKloQfbt0UiUXWpwK9bfBadttiarI%2FrOSX1M%3D&reserved=0>
> ".
>
> Attribute "level" is required and must be specified for element type
> "component".
>
> cvc-complex-type.4: Attribute 'level' must appear on element 'component'.
>
> cvc-complex-type.4: Attribute 'level' must appear on element 'component'.
>
> cvc-complex-type.2.4.a: Invalid content was found starting with element
> 'MetadataSet'. One of '{HAnimJoint, HAnimSegment, HAnimSite, HAnimMotion,
> Shape, Group, LOD, Switch, Transform, IndexedFaceSet, IndexedLineSet,
> IndexedQuadSet, IndexedTriangleFanSet, IndexedTriangleSet,
> IndexedTriangleStripSet, Coordinate, CoordinateDouble, Normal,
> ProtoInstance}' is expected.
>
> The content of element type "HAnimHumanoid" must match
> "(IS?,(MetadataBoolean|MetadataDouble|MetadataFloat|MetadataInteger|MetadataSet|MetadataString|ProtoInstance)?,(HAnimJoint*,HAnimSegment*,HAnimSite*,HAnimMotion*,(Shape|Group|LOD|Switch|Transform|IndexedFaceSet|IndexedLineSet|IndexedQuadSet|IndexedTriangleFanSet|IndexedTriangleSet|IndexedTriangleStripSet)?,HAnimMotion*,(Coordinate|CoordinateDouble)*,Normal*,ProtoInstance*)*)".
>
> XML schema validation: fail!
>
>
>
> Performing X3D regular expression (regex) values check...
>
> X3D regex check: complete
>
>
>
> Performing X3dToX3dvClassicVrmlEncoding.xslt conversion check...
>
> [hint] Complete functionality for HAnimHumanoid node may require support
> by <X3D profile='Full'> or else <component name='HAnim' level='1'/>
> (instead of declared level='') [HAnimHumanoid node DEF='Joe_Kick']
>
> [hint] Complete functionality for HAnimJoint node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimJoint node DEF='Joe_humanoid_root']
>
> [hint] Complete functionality for HAnimSegment node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimSegment node DEF='Joe_sacrum']
>
> [hint] Complete functionality for HAnimSite node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimSite node DEF='Joe_RootFront_view']
>
> [hint] Complete functionality for HAnimJoint node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimJoint node DEF='Joe_sacroiliac']
>
> [hint] Complete functionality for HAnimJoint node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimJoint node DEF='Joe_l_hip']
>
> [hint] Complete functionality for HAnimJoint node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimJoint node DEF='Joe_l_knee']
>
> [hint] Complete functionality for HAnimJoint node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimJoint node DEF='Joe_l_talocrural']
>
> [hint] Complete functionality for HAnimJoint node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimJoint node DEF='Joe_l_tarsometatarsal_2']
>
> [hint] Complete functionality for HAnimJoint node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimJoint node DEF='Joe_l_metatarsophalangeal_2']
>
> [hint] Complete functionality for HAnimJoint node may require support by
> <X3D profile='Full'> or else <component name='HAnim' level='1'/> (instead
> of declared level='') [HAnimJoint node
> DEF='Joe_l_tarsal_distal_interphalangeal_2']
>
> [hint] Complete functionality for HAnimDisplacer node may require support
> by <X3D profile='Full'> or else <component name='HAnim' level='1'/>
> (instead of declared level='') [HAnimDisplacer node
> DEF='Joe_skull_tip_raiser_action']
>
> [error] illegal level value:  <component name='HAnim' level=''/> (allowed
> range of values: 1..5)
>
> [error] node Shape has illegal containerField='children' (allowed value:
> skin) [node Shape, parent HAnimHumanoid DEF='Joe_Kick' DEF='Joe_Shape']
>
>
>
> Performing X3D Schematron check...
>
> 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]
>
> <component name='HAnim' level=''/> is required to have a value for level
> field [/X3D/head/component, error]
>
> <meta name='TODO' content='Record information about skin coordinates
> (found in comment at end of scene) as a structured MetadataSet containing
> MetadataString nodes'/> [/X3D/head/meta[7], diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid, error]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> version='2.0' with X3D
> version='4.0' [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <
>
>           HAnimHumanoid DEF='Joe_Kick' name='Kick'/> contains <HAnimJoint
> DEF="Joe_humanoid_root" name="humanoid_root" containerField="children"/>
> should be containerField='skeleton' [/X3D/Scene/Group[1]/HAnimHumanoid,
> error]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> cannot contain any
> containerField='children' nodes:  <HAnimJoint DEF="Joe_humanoid_root"
> name="humanoid_root" containerField="children"/>
> [/X3D/Scene/Group[1]/HAnimHumanoid, error]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> contains <Coordinate DEF=''
> containerField='coord'/> node with incorrect containerField value, must be
> containerField='skinCoord' [/X3D/Scene/Group[1]/HAnimHumanoid, error]
>
> ====================================================================================================================
> [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimJoint)
>    within skeleton hierarchy        = 0[/X3D/Scene/Group[1]/HAnimHumanoid,
> diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimSegment)
>    within skeleton hierarchy        = 0[/X3D/Scene/Group[1]/HAnimHumanoid,
> diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimSite)
>   within HAnimHumanoid             = 1[/X3D/Scene/Group[1]/HAnimHumanoid,
> diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node
> count(HAnimSite//Viewpoint) within skeleton hierarchy        =
> 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimDisplacer)
>    within skeleton hierarchy        = 0[/X3D/Scene/Group[1]/HAnimHumanoid,
> diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimJoint
>  USE='*' containerField = 'joints'/>)     =
> 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSegment
> USE='*' containerField = 'segments'/>)   =
> 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSite
> USE='*' containerField = 'sites'/>)      =
> 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSite
> DEF='*' name ends with '_view'/>)        =
> 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> has mismatched HAnimSite
>  node counts, 1 within skeleton hierarchy and 0 USE nodes in sites field
> [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> ====================================================================================================================
> [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimJoint DEF='Joe_humanoid_root'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1], error]
>
> <HAnimJoint DEF='Joe_humanoid_root' name='humanoid_root'/> with parent
> HAnimHumanoid needs containerField='skeleton'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1], error]
>
> <HAnimJoint DEF='Joe_humanoid_root' name='humanoid_root'/> has incoming
> <ROUTE toNode='Joe_humanoid_root' toField='translation'/> to modify the
> translation field, which ordinarily is not modified (instead the center
> field controls HAnimJoint position)
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1], warning]
>
> <HAnimSegment DEF='Joe_sacrum'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimSegment, error]
>
> <HAnimSite DEF='Joe_RootFront_view'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimSegment/HAnimSite,
> error]
>
> <HAnimSite DEF='Joe_RootFront_view' name='RootFront_view'/> is not a
> recognized name for HAnim2 HAnimSite
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimSegment/HAnimSite,
> info]
>
> <HAnimJoint DEF='Joe_sacroiliac'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1], error]
>
> <HAnimJoint DEF='Joe_l_hip'/> requires at least <X3D profile='Immersive'/>
> <component name='HAnim' level='1'/> or <X3D profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1],
> error]
>
> <HAnimJoint DEF='Joe_l_knee'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint,
> error]
>
> <HAnimJoint DEF='Joe_l_talocrural'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint,
> error]
>
> <HAnimJoint DEF='Joe_l_tarsometatarsal_2'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint,
> error]
>
> <HAnimJoint DEF='Joe_l_tarsometatarsal_2' name='l_tarsometatarsal_2'/> has
> parent HAnimJoint name='l_talocrural' rather than expected parent
> name='l_cuneonavicular_2', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint,
> warning]
>
> <HAnimJoint DEF='Joe_l_metatarsophalangeal_2'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint,
> error]
>
> <HAnimJoint DEF='Joe_l_tarsal_distal_interphalangeal_2'/> requires at
> least <X3D profile='Immersive'/> <component name='HAnim' level='1'/> or
> <X3D profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint,
> error]
>
> <HAnimJoint DEF='Joe_l_tarsal_distal_interphalangeal_2'
> name='l_tarsal_distal_interphalangeal_2'/> has parent HAnimJoint
> name='l_metatarsophalangeal_2' rather than expected parent
> name='l_tarsal_proximal_interphalangeal_2', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint,
> warning]
>
> <HAnimJoint DEF='Joe_r_tarsometatarsal_2' name='r_tarsometatarsal_2'/> has
> parent HAnimJoint name='r_talocrural' rather than expected parent
> name='r_cuneonavicular_2', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint,
> warning]
>
> <HAnimJoint DEF='Joe_r_tarsal_distal_interphalangeal_2'
> name='r_tarsal_distal_interphalangeal_2'/> has parent HAnimJoint
> name='r_metatarsophalangeal_2' rather than expected parent
> name='r_tarsal_proximal_interphalangeal_2', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint,
> warning]
>
> <HAnimDisplacer DEF='Joe_skull_tip_raiser_action'/> requires at least <X3D
> profile='Immersive'/> <component name='HAnim' level='1'/> or <X3D
> profile='Full'/>
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimDisplacer,
> error]
>
> <HAnimJoint DEF='Joe_l_acromioclavicular'/> name field is required
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2],
> error]
>
> <HAnimJoint DEF='Joe_l_acromioclavicular' name=''/> is not a recognized
> name for HAnim2 HAnimJoint
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2],
> warning]
>
> <HAnimJoint DEF='Joe_l_sternoclavicular' name='l_acromioclavicular'/> DEF
> value does not contain correctly modified version of name value (for
> example, DEF='myPrefix_nameValue' e.g. DEF='myPrefix_l_acromioclavicular')
> - see HAnim section C.2 Humanoid, VRML Binding
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint,
> error]
>
> <HAnimJoint DEF='Joe_l_sternoclavicular' name='l_acromioclavicular'/> has
> parent HAnimJoint name='' rather than expected parent
> name='l_sternoclavicular', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint,
> warning]
>
> <HAnimJoint DEF='Joe_l_carpometacarpal_1' name='l_carpometacarpal_1'/> has
> parent HAnimJoint name='l_radiocarpal' rather than expected parent
> name='l_midcarpal_1', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[1],
> warning]
>
> <HAnimJoint DEF='Joe_l_carpometacarpal_2' name='l_carpometacarpal_2'/> has
> parent HAnimJoint name='l_radiocarpal' rather than expected parent
> name='l_midcarpal_2', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2],
> warning]
>
> <HAnimJoint DEF='Joe_l_carpometacarpal_3' name='l_carpometacarpal_3'/> has
> parent HAnimJoint name='l_radiocarpal' rather than expected parent
> name='l_midcarpal_3', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3],
> warning]
>
> <HAnimJoint DEF='Joe_l_carpometacarpal_4' name='l_carpometacarpal_4'/> has
> parent HAnimJoint name='l_radiocarpal' rather than expected parent
> name='l_midcarpal_4_5', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[4],
> warning]
>
> <HAnimJoint DEF='Joe_l_carpometacarpal_5' name='l_carpometacarpal_5'/> has
> parent HAnimJoint name='l_radiocarpal' rather than expected parent
> name='l_midcarpal_4_5', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[5],
> warning]
>
> <HAnimJoint DEF='Joe_r_carpometacarpal_1' name='r_carpometacarpal_1'/> has
> parent HAnimJoint name='r_radiocarpal' rather than expected parent
> name='r_midcarpal_1', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[1],
> warning]
>
> <HAnimJoint DEF='Joe_r_carpometacarpal_2' name='r_carpometacarpal_2'/> has
> parent HAnimJoint name='r_radiocarpal' rather than expected parent
> name='r_midcarpal_2', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2],
> warning]
>
> <HAnimJoint DEF='Joe_r_carpometacarpal_3' name='r_carpometacarpal_3'/> has
> parent HAnimJoint name='r_radiocarpal' rather than expected parent
> name='r_midcarpal_3', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3],
> warning]
>
> <HAnimJoint DEF='Joe_r_carpometacarpal_4' name='r_carpometacarpal_4'/> has
> parent HAnimJoint name='r_radiocarpal' rather than expected parent
> name='r_midcarpal_4_5', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[4],
> warning]
>
> <HAnimJoint DEF='Joe_r_carpometacarpal_5' name='r_carpometacarpal_5'/> has
> parent HAnimJoint name='r_radiocarpal' rather than expected parent
> name='r_midcarpal_4_5', recommend checking model
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[5],
> warning]
>
> <MetadataSet DEF='' USE='' name='warnings'/> default
> containerField='value' is only allowed when parent node is MetadataSet,
> need to explicitly define containerField='metadata' in X3D4 models
> [/X3D/Scene/Group[1]/HAnimHumanoid/MetadataSet, error]
>
> HAnimHumanoid/<MetadataSet DEF='' USE='' name='warnings'/> contains
> containerField='value' which instead needs to be containerField='metadata'
> [/X3D/Scene/Group[1]/HAnimHumanoid/MetadataSet, warning]
>
> <Coordinate USE='Joe_SkinCoord'/> found USE node that precedes matching
> DEF node,
> count(following::*[@DEF=$USE])=1[/X3D/Scene/Group[1]/HAnimHumanoid/Coordinate,
> error]
>
> <Coordinate DEF=''/> with parent HAnimHumanoid must have
> @containerField='skinCoord' or @containerField='skinBindingCoords'
> [/X3D/Scene/Group[1]/HAnimHumanoid/Coordinate, warning]
>
> <HAnimJoint USE='Joe_humanoid_root'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[2],
> error]
>
> <HAnimJoint USE='Joe_sacroiliac'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[3],
> error]
>
> <HAnimJoint USE='Joe_skullbase'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[4],
> error]
>
> <HAnimJoint USE='Joe_temporomandibular'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[5],
> error]
>
> <HAnimJoint USE='Joe_vc1'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[6],
> error]
>
> <HAnimJoint USE='Joe_vc2'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[7],
> error]
>
> <HAnimJoint USE='Joe_vc3'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[8],
> error]
>
> <HAnimJoint USE='Joe_vc4'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[9],
> error]
>
> <HAnimJoint USE='Joe_vc5'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[10],
> error]
>
> <HAnimJoint USE='Joe_vc6'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[11],
> error]
>
> <HAnimJoint USE='Joe_vc7'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[12],
> error]
>
> <HAnimJoint USE='Joe_vl1'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[13],
> error]
>
> <HAnimJoint USE='Joe_vl2'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[14],
> error]
>
> <HAnimJoint USE='Joe_vl3'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[15],
> error]
>
> <HAnimJoint USE='Joe_vl4'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[16],
> error]
>
> <HAnimJoint USE='Joe_vl5'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[17],
> error]
>
> <HAnimJoint USE='Joe_vt1'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[18],
> error]
>
> <HAnimJoint USE='Joe_vt10'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[19],
> error]
>
> <HAnimJoint USE='Joe_vt11'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[20],
> error]
>
> <HAnimJoint USE='Joe_vt12'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[21],
> error]
>
> <HAnimJoint USE='Joe_vt2'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[22],
> error]
>
> <HAnimJoint USE='Joe_vt3'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[23],
> error]
>
> <HAnimJoint USE='Joe_vt4'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[24],
> error]
>
> <HAnimJoint USE='Joe_vt5'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[25],
> error]
>
> <HAnimJoint USE='Joe_vt6'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[26],
> error]
>
> <HAnimJoint USE='Joe_vt7'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[27],
> error]
>
> <HAnimJoint USE='Joe_vt8'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[28],
> error]
>
> <HAnimJoint USE='Joe_vt9'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[29],
> error]
>
> <HAnimJoint USE='Joe_l_acromioclavicular'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[30], error]
>
> <HAnimJoint USE='Joe_r_acromioclavicular'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[31], error]
>
> <HAnimJoint USE='Joe_l_carpal_distal_interphalangeal_2'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[32], error]
>
> <HAnimJoint USE='Joe_r_carpal_distal_interphalangeal_2'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[33], error]
>
> <HAnimJoint USE='Joe_l_carpal_distal_interphalangeal_3'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[34], error]
>
> <HAnimJoint USE='Joe_r_carpal_distal_interphalangeal_3'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[35], error]
>
> <HAnimJoint USE='Joe_l_carpal_distal_interphalangeal_4'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[36], error]
>
> <HAnimJoint USE='Joe_r_carpal_distal_interphalangeal_4'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[37], error]
>
> <HAnimJoint USE='Joe_l_carpal_distal_interphalangeal_5'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[38], error]
>
> <HAnimJoint USE='Joe_r_carpal_distal_interphalangeal_5'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[39], error]
>
> <HAnimJoint USE='Joe_l_carpal_interphalangeal_1'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[40], error]
>
> <HAnimJoint USE='Joe_r_carpal_interphalangeal_1'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[41], error]
>
> <HAnimJoint USE='Joe_l_carpal_proximal_interphalangeal_2'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[42], error]
>
> <HAnimJoint USE='Joe_r_carpal_proximal_interphalangeal_2'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[43], error]
>
> <HAnimJoint USE='Joe_l_carpal_proximal_interphalangeal_3'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[44], error]
>
> <HAnimJoint USE='Joe_r_carpal_proximal_interphalangeal_3'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[45], error]
>
> <HAnimJoint USE='Joe_l_carpal_proximal_interphalangeal_4'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[46], error]
>
> <HAnimJoint USE='Joe_r_carpal_proximal_interphalangeal_4'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[47], error]
>
> <HAnimJoint USE='Joe_l_carpal_proximal_interphalangeal_5'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[48], error]
>
> <HAnimJoint USE='Joe_r_carpal_proximal_interphalangeal_5'/> with parent
> HAnimHumanoid needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[49], error]
>
> <HAnimJoint USE='Joe_l_carpometacarpal_1'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[50], error]
>
> <HAnimJoint USE='Joe_r_carpometacarpal_1'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[51], error]
>
> <HAnimJoint USE='Joe_l_carpometacarpal_2'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[52], error]
>
> <HAnimJoint USE='Joe_r_carpometacarpal_2'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[53], error]
>
> <HAnimJoint USE='Joe_l_carpometacarpal_3'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[54], error]
>
> <HAnimJoint USE='Joe_r_carpometacarpal_3'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[55], error]
>
> <HAnimJoint USE='Joe_l_carpometacarpal_4'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[56], error]
>
> <HAnimJoint USE='Joe_r_carpometacarpal_4'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[57], error]
>
> <HAnimJoint USE='Joe_l_carpometacarpal_5'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[58], error]
>
> <HAnimJoint USE='Joe_r_carpometacarpal_5'/> with parent HAnimHumanoid
> needs containerField='joints'
> [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[59], error]
>
> <HAnimJoint USE='Joe_l_elbow'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[60],
> error]
>
> <HAnimJoint USE='Joe_r_elbow'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[61],
> error]
>
> <HAnimJoint USE='Joe_l_eyeball_joint'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[62],
> error]
>
> <HAnimJoint USE='Joe_r_eyeball_joint'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[63],
> error]
>
> <HAnimJoint USE='Joe_l_eyebrow_joint'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[64],
> error]
>
> <HAnimJoint USE='Joe_r_eyebrow_joint'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[65],
> error]
>
> <HAnimJoint USE='Joe_l_eyelid_joint'/> with parent HAnimHumanoid needs
> containerField='joints' [/X3D/Scene/Group[1]/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20231017/07ece00c/attachment-0001.html>


More information about the x3d-public mailing list