[x3d-public] JoeKick H-Anim example - error in X3D classic encoding

John Carlson yottzumm at gmail.com
Mon Jul 24 03:33:36 PDT 2023


You can get the same report from tovrmlx3d.exe, I think Don, see:

tovrmlx3d.exe next to the view3dscene.exe

Here is a small taste of what happens on a recent X3DV file:

$ ~/Downloads/view3dscene-4.3.0-win64-x86_64/view3dscene/tovrmlx3d.exe
OutputDir/LeifRevised.x3dv 2>&1 |head
tovrmlx3d: Warning: HAnimHumanoid.joints list was empty, fixed to list all
54 joints
tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing
coordinate index 9 (while we have only 0 skin coordinates in
HAnimHumanoid.skin)
tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing
coordinate index 10 (while we have only 0 skin coordinates in
HAnimHumanoid.skin)
tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing
coordinate index 11 (while we have only 0 skin coordinates in
HAnimHumanoid.skin)
tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing
coordinate index 12 (while we have only 0 skin coordinates in
HAnimHumanoid.skin)
tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing
coordinate index 13 (while we have only 0 skin coordinates in
HAnimHumanoid.skin)
tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing
coordinate index 14 (while we have only 0 skin coordinates in
HAnimHumanoid.skin)
tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing
coordinate index 15 (while we have only 0 skin coordinates in
HAnimHumanoid.skin)
tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing
coordinate index 16 (while we have only 0 skin coordinates in
HAnimHumanoid.skin)
tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing
coordinate index 17 (while we have only 0 skin coordinates in
HAnimHumanoid.skin)

Fills the bill.

John

On Mon, Jul 24, 2023 at 3:19 AM Brutzman, Donald (Don) (CIV) <
brutzman at nps.edu> wrote:

> 1. Michalis, thanks for a great trouble report.
>
>
>
> I believe the conversion errors are now fixed in X3dToVrml.xslt
> stylesheet, updated model at
>
>
>
>    -
>    https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3dv
>
>
>
> Unfortunately I discovered that a lot of type checking within that
> stylesheet isn’t really effective due to a puzzling logic error, so there
> may well be other errors like this.  More work will likely be needed.
>
>
>
> Wondering if you have a command-line mode for validating VRML/ClassicVRML
> models with view3dscene?  Perhaps I might be able to add that to our
> regression testing build scripts.
>
>
>
> 2. Joe, it's your model, so please send any texture coordinate changes you
> may have and I will update the .x3d model in the archives.
>
>
>
>    -
>    https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html
>    -
>    https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d
>
>
>
> Meanwhile there are plenty of warnings from Schematron.  They seem
> accurate.  The flagged parent-child relationships are either a problem in
> the model, or else (less likely) a problem in the diagnostics (which are
> autogenerated from X3DUOM).
>
>
>
> I thought that possibly they are related to your use of loa=’3’
> complexity, but diagnostics looked the same for loa=’4’.
>
>
>
>
>
> --------- X3D Validator checks commenced for JoeKick.x3d ---------
>
>
>
> Performing well-formed XML check...
>
> Checking file:/C:/x3d-code/
> www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/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:/x3d-code/
> www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d...
>
> XML DTD validation: pass
>
>
>
> Performing X3D schema validation...
>
> Checking file:/C:/x3d-code/
> www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d...
>
> Referenced entity at
> http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd
> .
>
> Referenced entity at http://www.w3.org/2001/XMLSchema.dtd.
>
> Referenced entity at http://www.w3.org/2001/datatypes.dtd.
>
> XML schema validation: pass
>
>
>
> Performing X3D regular expression (regex) values check...
>
> X3D regex check: complete
>
>
>
> Performing X3dToX3dvClassicVrmlEncoding.xslt conversion check...
>
>
>
> 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]
>
> <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' name='Kick'/> version='2.0' with X3D
> version='4.0' [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> ====================================================================================================================
> [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node
> count(HAnimJoint)           within skeleton hierarchy        =
> 94[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node
> count(HAnimSegment)         within skeleton hierarchy        =
> 1[/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        =
> 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node
> count(HAnimDisplacer)       within skeleton hierarchy        =
> 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimJoint
> USE='*' containerField = 'joints'/>)     =
> 94[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSegment
> USE='*' containerField = 'segments'/>)   =
> 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSite
> USE='*' containerField = 'sites'/>)      =
> 1[/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]
>
> ====================================================================================================================
> [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]
>
> <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_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_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]
>
> <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]
>
>
>
> --------- X3D Validator checks complete for JoeKick.x3d ---------
>
>
>
>
>
> 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
>
>
>
> -----Original Message-----
> From: x3d-public <x3d-public-bounces at web3d.org> On Behalf Of Michalis
> Kamburelis
> Sent: Sunday, July 23, 2023 1:44 PM
> To: X3D Graphics public mailing list <x3d-public at web3d.org>
> Subject: [x3d-public] JoeKick H-Anim example - error in X3D classic
> encoding
>
>
>
> "Joe Kick" example linked from
>
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/ ,
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html
>
> , 2 errors:
>
>
>
> 1. The "ClassicVRML" encoding version (
>
>
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3dv
>
> ) seems to be incorrectly converted from XML to classic encoding. It
> contains
>
>
>
> """
>
> DEF Joe_skull_tip_raiser_action HAnimDisplacer { coordIndex 0 1 2 3 4 5 6
> 7 8 9 displacements 0 0.15 0 0 ...
>
> name "skull_tip_raiser_action"
>
> }
>
> """
>
>
>
> so the coordIndex and displacements fields miss [ ] around their values.
>
>
>
> "coordIndex" is MFInt32, "displacements" is MFVec3f, they both require [ ]
> in classic encoding if you want to have a list of arbitrary number of
> elements. If no [ ] are used, the classic encoding parsers have to assume
> they contain 1 item (1 integer on "coordIndex", 1 vector == 3 floats on
> "displacements"). Currently parsing this fails, as parser sees unexpected
> numbers in the middle of HAnimDisplacer.
>
>
>
> This problem is not present in XML encoding, where no [ ] are used, the
> lists are in separate XML attributes.
>
>
>
> 2. The XML encoding version contains invalid number of texture
> coordinates, we have discussed in previously on this list:
>
>
>
> X3D: Invalid number of items in an attribute array for shape
>
> "Joe_Humanoid/Joe_Kick/Joe_Shape/IndexedFaceSet(Joe_skin_IndexedFaceSet)":
>
> Invalid index: 9, but we have 4 items in 2D texture coordinates
>
>
>
> Regards,
>
> Michalis
>
>
>
> _______________________________________________
>
> x3d-public mailing list
>
> x3d-public at web3d.org
>
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230724/df90f984/attachment-0001.html>


More information about the x3d-public mailing list