[x3d-public] HAnim sample failing in X3DOM, error in view3dscene, additional tests
John Carlson
yottzumm at gmail.com
Fri Jun 23 16:08:14 PDT 2023
A flag to validate would be a great addition to a native tool, or a
separate binary.
I know this may not work with X3DOM because of file size.
On Fri, Jun 23, 2023 at 4:39 PM Joseph D Williams <joedwil at earthlink.net>
wrote:
>
> - colors per vertex, … etc
>
>
>
> The big idea is how can the tool help the author with little problems so
> help with understanding big problems.
>
> One sort of maybe silly example is trying to figure how a shape is drawn
> by colors. Maybe I don’t know how many points and I learn by applying
> colors per vertex. If I don’t know how many points then I have to have the
> complete MF before the thing would work. If the player is a little
> tolerant, then it can run with a partial list with defaults to at least
> show something.
>
> Another example is for an IFS, the player is supposed to generate a
> default texture coordinates and some other info, normals, for instance. So,
> if the tool does not do that, the user may be disappointed. In the long
> past most every player had many ’tolerant’ behaviors.
>
> Thanks,
>
> Joe
>
>
>
>
>
>
>
>
>
> *From: *Andreas Plesch <andreasplesch at gmail.com>
> *Sent: *Thursday, June 22, 2023 2:52 PM
> *To: *Michalis Kamburelis <michalis.kambi at gmail.com>
> *Cc: *John Carlson <yottzumm at gmail.com>; Brutzman, Donald (Don) (CIV)
> <brutzman at nps.edu>; Joe D Williams <joedwil at earthlink.net>; X3D Graphics
> public mailing list <x3d-public at web3d.org>
> *Subject: *Re: HAnim sample failing in X3DOM, error in view3dscene,
> additional tests
>
>
>
> 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.
>
>
>
> 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.
>
>
>
> 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 ?
>
>
>
> 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.
>
>
>
> Cheers,
>
>
>
> -Andreas
>
>
>
> On Thu, Jun 22, 2023 at 12:36 PM Michalis Kamburelis <
> michalis.kambi at gmail.com> wrote:
>
> I would be against introducing spec wording to guarantee any behavior when
> there's not enough per-vertex data.
>
>
>
> 1. There's no obvious resolution (replicating last texture coordinate may
> not be "what the author wanted" -- the texture will be likely weirdly
> stretched),
>
>
>
> 2. Other model formats also don't specify anything in this case. It's just
> invalid model causing undefined behavior for glTF, Collada etc.
>
>
>
> 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.
>
>
>
> 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).
>
>
>
> 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".
>
>
>
> Regards,
>
> Michalis
>
>
>
> czw., 22 cze 2023 o 17:55 Andreas Plesch <andreasplesch at netscape.net>
> napisał(a):
>
> 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.
>
>
>
> 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.
>
>
>
> -Andreas
>
>
>
> On Thu, Jun 22, 2023 at 8:10 AM Michalis Kamburelis <
> michalis.kambi at gmail.com> wrote:
>
> Andreas,
>
>
>
> 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""" :)
>
>
>
> 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.
>
>
>
> 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).
>
>
>
> 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".
>
>
>
> Regards,
>
> Michalis
>
>
>
>
>
> czw., 22 cze 2023 o 03:40 John Carlson <yottzumm at gmail.com> napisał(a):
>
> Here's a near perfect file before scaling. Still working on that as it
> view3dscene is reporting metadata errors.
>
>
>
> On Wed, Jun 21, 2023 at 7:09 PM Brutzman, Donald (Don) (CIV) <
> brutzman at nps.edu> wrote:
>
> Diagnostic reports for JinLOA4.x3d, file size 684156
>
>
>
> ·
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d
>
>
>
> 1. X3D-Edit checkmark for X3D Validator reports
>
>
>
> --------- X3D Validator checks commenced for JinLOA4.x3d ---------
>
>
>
> Performing well-formed XML check...
>
> Checking file:/C:/x3d-code/
> www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.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/Characters/JinLOA4.x3d.
> ..
>
> XML DTD validation: pass
>
>
>
> Performing X3D schema validation...
>
> Checking file:/C:/x3d-code/
> www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.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]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> version='2.0' with X3D
> version='4.0' [/X3D/Scene/HAnimHumanoid, diagnostic]
>
> ====================================================================================================================
> [/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node
> count(HAnimJoint) within skeleton hierarchy =
> 146[/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node
> count(HAnimSegment) within skeleton hierarchy =
> 146[/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node
> count(HAnimSite) within HAnimHumanoid =
> 0[/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node
> count(HAnimSite//Viewpoint) within skeleton hierarchy =
> 0[/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node
> count(HAnimDisplacer) within skeleton hierarchy =
> 0[/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node
> count(<HAnimJoint USE='*' containerField = 'joints'/>) =
> 146[/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node
> count(<HAnimSegment USE='*' containerField = 'segments'/>) =
> 146[/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node
> count(<HAnimSite USE='*' containerField = 'sites'/>) =
> 0[/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <HAnimHumanoid DEF='hanim_JinLOA4' name='JinLOA4'/> node
> count(<HAnimSite DEF='*' name ends with '_view'/>) =
> 0[/X3D/Scene/HAnimHumanoid, diagnostic]
>
> ====================================================================================================================
> [/X3D/Scene/HAnimHumanoid, diagnostic]
>
> <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]
>
> <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]
>
> <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]
>
> <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]
>
> <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]
>
> <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]
>
> <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]
>
>
>
> --------- X3D Validator checks complete for JinLOA4.x3d ---------
>
>
>
>
>
> 2. Andreas link to X3DOM Editor
>
>
>
> ·
> https://andreasplesch.github.io/Library/Viewer/index.html?url=https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d
>
>
>
> provides following console:
>
>
>
> Error with Permissions-Policy header: Origin trial controlled feature not
> enabled: 'interest-cohort'.
>
> x3dom-full.debug.js:65740 Uncaught (in promise) TypeError: Cannot read
> properties of undefined (reading 'x')
>
> at x3dom.registerNodeType.defineClass.nodeChanged.nodeChanged
> (x3dom-full.debug.js:65740:90)
>
> at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12112:19)
>
> at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12105:34)
>
> at NodeList.forEach (<anonymous>)
>
> at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12103:36)
>
> at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12105:34)
>
> at NodeList.forEach (<anonymous>)
>
> at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12103:36)
>
> at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12105:34)
>
> at NodeList.forEach (<anonymous>)
>
> nodeChanged @ x3dom-full.debug.js:65740
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12112
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> (anonymous) @ x3dom-full.debug.js:12105
>
> x3dom.NodeNameSpace.setupTree @ x3dom-full.debug.js:12103
>
> x3dom.X3DDocument._setup @ x3dom-full.debug.js:21793
>
> next_step @ x3dom-full.debug.js:21731
>
> next_step @ x3dom-full.debug.js:21743
>
> x3dom.X3DDocument.load @ x3dom-full.debug.js:21747
>
> x3dom.X3DCanvas.load @ x3dom-full.debug.js:2121
>
> onload @ x3dom-full.debug.js:20366
>
> x3dom.reload @ x3dom-full.debug.js:20429
>
> x3dom.Runtime.replaceWorld @ x3dom-full.debug.js:20043
>
> updatex3d @ index.html?url=
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d:228
>
> load @ index.html?url=
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d:214
>
>
>
>
>
> 3. am getting similar browser console error if launched directly in X3DOM
>
>
>
> ·
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4X3dom.xhtml
>
>
>
>
>
> 4. view3dscene (launched from X3D-Edit) reports
>
>
>
>
>
> Suggestion: add a button to view3dscene diagnostic that enables user to
> “Copy to clipboard” – usually this is provided.
>
>
>
> Closing the X3DOM editor did not fix this access problem.
>
>
>
> 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.
>
>
>
> Now view3dscene renders the model and provides 11 warnings:
>
>
>
> 11 warnings:
>
>
>
> X3D: Unknown X3D field name (unhandled X3D XML attribute) "loa" in node
> "HAnimHumanoid"
>
> 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"
>
> 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 at gmail"
>
> X3D: X3D XML: More than one value specified for SFNode field
> MetadataSet.metadata
>
> 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
>
> X3D: X3D XML: More than one value specified for SFNode field
> MetadataSet.metadata
>
> 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"
>
> X3D: X3D XML: More than one value specified for SFNode field
> MetadataSet.metadata
>
> X3D: X3D XML: More than one value specified for SFNode field
> MetadataSet.metadata
>
> X3D: X3D XML: More than one value specified for SFNode field
> MetadataSet.metadata
>
> X3D: Invalid index for field TextureCoordinate.point (MFVec2f)
>
>
>
> Scene URL: file:///C:/x3d-code/
> www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d
> .
>
> Use "File->View Warnings" menu to view these warnings again.
>
>
>
>
>
>
>
> 5. Testing in X_ITE: renders fine, shows no errors in console.
>
>
>
> ·
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4X_ITE.html
>
>
>
> 6. Xj3D has a verbose console without any errors apparent, However
> only renders a black screen.
>
> 7.
>
> Xj3D Xj3dVersionInformation: v2.3-nps utilizing NPS Open DIS v7
>
> with 3D rendering by
>
>
> -----------------------------------------------------------------------------------------------------
>
> Package: org.j3d.aviatrix3d
>
> Extension Name: org.j3d.aviatrix3d
>
> Specification Title: Aviatrix3D 3.1.1-nps - NPS SF
>
> Specification Vendor: Justin Couch
>
> Specification Version: 3.1.1
>
> Implementation Title: Aviatrix3D 3.1.1-nps - NPS SF
>
> Implementation Vendor: Savage Research Group (SRG) of the Modeling,
> Virtual Environments and Simulation (MOVES) Institute at the Naval
> Postgraduate School (NPS), Monterey, CA
>
> Implementation Vendor ID: edu.nps.moves
>
> Implementation URL:
> https://svn.code.sf.net/p/xj3d/code/branches/Supporting_APIs/aviatrix3d
>
> Implementation Version: 3.1.1-nps built on Fri, 26 May 2023 1434 -0700
>
> Implementation Build: 3.1.1-nps
>
> Implementation Branch: branches/Supporting_APIs/aviatrix3d
>
> Implementation Commit: 12701
>
> Implementation SHA Sources: null
>
> Implementation SHA Classes: null
>
> Implementation SHA Classes-this: null
>
> Implementation SHA Natives: null
>
> Implementation SHA Natives-this: null
>
>
> -----------------------------------------------------------------------------------------------------
>
> on top of
>
>
> -----------------------------------------------------------------------------------------------------
>
> Package: com.jogamp
>
> Extension Name: com.jogamp
>
> Specification Title: JogAmp Java Bindings Specification
>
> Specification Vendor: JogAmp Community
>
> Specification Version: 2.5
>
> Implementation Title: JogAmp Java Bindings Fat Jar
>
> Implementation Vendor: JogAmp Community
>
> Implementation Vendor ID: com.jogamp
>
> Implementation URL: http://jogamp.org/
>
> Implementation Version: 2.5.0-rc-20230515
>
> Implementation Build: 2.5-b957-20230515
>
> Implementation Branch: origin/master
>
> Implementation Commit: 9301bf1854d91405319801b62c268e2ca09406e6
>
> Implementation SHA Sources: null
>
> Implementation SHA Classes: null
>
> Implementation SHA Classes-this: null
>
> Implementation SHA Natives: null
>
> Implementation SHA Natives-this: null
>
> -----------------------------------------------------------------------------------------------------
>
>
> Operating system: Windows 10 10.0
>
> Java environment: Oracle Corporation 20.0.1
>
>
>
> BuildStamp time and date: 1436 on May 26 2023
>
>
>
> Initializing OpenGL X3D browser in GLCanvas (AWT) mode.
>
>
>
> Graphics architecture will support 16 samples of full screen antialiasing.
>
> Warning: Native image loading unavailable, using default.
>
>
>
>
>
> 8. 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.
>
>
>
> 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:* John Carlson <yottzumm at gmail.com>
> *Sent:* Wednesday, June 21, 2023 2:25 PM
> *To:* Andreas Plesch <andreasplesch at gmail.com>; Brutzman, Donald (Don)
> (CIV) <brutzman at nps.edu>; Joe D Williams <joedwil at earthlink.net>
> *Cc:* Michalis Kamburelis <michalis.kambi at gmail.com>; x3dom mlist <
> x3dom-users at lists.sourceforge.net>; x3dom-developer mlist <
> x3dom-developers at lists.sourceforge.net>
> *Subject:* Re: HAnim sample failing in X3DOM, error in view3dscene.
>
>
>
> 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.
>
>
>
> I suggest a change to the x3d validator.
>
>
>
> John
>
>
>
> On Wed, Jun 21, 2023 at 10:45 AM Andreas Plesch <andreasplesch at gmail.com>
> wrote:
>
> I agree with Michalis' analysis and also remember a similar discussion, I
> think with regards to Joe's kick model.
>
>
>
>
> https://andreasplesch.github.io/Library/Viewer/index.html?url=https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.x3d
> <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>
>
>
>
> lets you edit the xml interactively and perhaps can aid in finding the
> missing tex. coords.
>
>
>
> Cheers, Andreas
>
>
>
> On Wed, Jun 21, 2023 at 10:43 AM Michalis Kamburelis <
> michalis.kambi at gmail.com> wrote:
>
> There are not enough texture coordinates specified. The X3D model isn't
> valid.
>
>
>
> (We talked about this on x3d-public already some time ago, see thread
> "[x3d-public] New description fields".)
>
>
>
> Details:
>
>
>
> - 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.)
>
>
>
> - Spec:
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD/Part01/components/geometry3D.html#IndexedFaceSet
> , texts like
>
>
>
> - """If the greatest index in the texCoordIndex field is N, then there
> shall be N+1 texture coordinates in the X3DTextureCoordinateNode."""
>
>
>
> - """If the greatest index in the coordIndex field is N, then there
> shall be N+1 texture coordinates in the X3DTextureCoordinateNode node."""
>
>
>
> I improved the view3dscene error message to say:
>
>
> X3D: Invalid index 44 (should be less than count 44) for field
> TextureCoordinate.point (type: MFVec2f)
>
>
>
> 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
>
>
>
> <TextureCoordinate ...
>
>
>
> ->
>
>
>
> <TextureCoordinate DEF="something unique" ...
>
>
>
> 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".
>
>
>
> Regards,
>
> Michalis
>
>
>
>
>
> śr., 21 cze 2023 o 15:15 John Carlson <yottzumm at gmail.com> napisał(a):
>
> I'm having issues with the attached file in X3DOM. Thanks for any
> assistance!
>
>
>
> Here's what the errors show in view3dscene:
>
>
>
>
>
> x3dom-full.debug.js:65877 Uncaught TypeError: Cannot read properties of
> undefined (reading 'x')
>
> at x3dom.registerNodeType.defineClass.nodeChanged.nodeChanged
> (x3dom-full.debug.js:65877:90)
>
> at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12167:19)
>
> at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12160:34)
>
> at NodeList.forEach (<anonymous>)
>
> at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12158:36)
>
> at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12160:34)
>
> at NodeList.forEach (<anonymous>)
>
> at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:12158:36)
>
> at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:12160:34)
>
> at NodeList.forEach (<anonymous>)
>
>
>
>
> --
>
> Andreas Plesch
> Waltham, MA 02453
>
>
>
>
> --
>
> Andreas Plesch
> Waltham, MA 02453
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230623/10901e50/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: A2B67AFAC6244DD8BF90135FC050C6BD.png
Type: image/png
Size: 110095 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230623/10901e50/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 774AAD7D16FA47EB917EF22C219DF498.png
Type: image/png
Size: 55497 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230623/10901e50/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: B0E2396B7A8D4E0F8D125C347BFEFD03.png
Type: image/png
Size: 78422 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230623/10901e50/attachment-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D221D345040C4E87A553D1093BC8F25D.png
Type: image/png
Size: 150061 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230623/10901e50/attachment-0007.png>
More information about the x3d-public
mailing list