[x3d-public] Comparing Joe*.* XML files

John Carlson yottzumm at gmail.com
Sun Nov 22 14:23:24 PST 2020


The files been fixed in X3DOM,   get your copy at
https://GitHub.com/coderextreme/X3DJSONLDunder src/main/node

I think andreas is pushing the changes to the real X3DOM as we speak.

The main changes apply to X3DJSONLD.js in X3DJSONLD and JSONParser.js
elsewhere.

I’m waiting on a buildable version of x_ite, but so far it works for HAnim 1

Go HAnim!

On Sun, Nov 22, 2020 at 2:42 PM Joseph D Williams <joedwil at earthlink.net>
wrote:

> I think the containerfield for skin must be humanoid. whatever, it should
> be the same as for skeleton.
>
>
>
>
>
>
>
> *From: *John Carlson <yottzumm at gmail.com>
> *Sent: *Saturday, November 21, 2020 2:30 PM
> *To: *X3D Graphics public mailing list <x3d-public at web3d.org>; Joe D
> Williams <joedwil at earthlink.net>
> *Subject: *Re: Comparing Joe*.* XML files
>
>
>
> Here's some differences in the JSON, again mostly container fields.
>
> Indeed, the processed XML does not contain a skin containerField, even
> though the input JSON does.   So perhaps we're not seeing the skin because
> the DOM document does not contain a skin containerField?  Indeed, looking
> at the intermediate XML produced by X3DJSONLD.js, it appears that the skin
> containerField is not created! So indeed, Joe's comment about "no skin" is
> very telling!
>
>
>
> So the question is, how do I convert the JSON -skin "containerField"/key
> into the XML/DOM document?   What bug is there in X3DJSONLD.js for HAnim?
>  Where should I put the "shim" which adds the skin?
>
>
>
> This is not the solution so far, I will work on fidelity of converted JSON
> to XML more.
>
>
>
> John
>
> $ diff -w JoeKick.json JoeProcessedKick.json
>
> 5c5
> <     "@xsd:noNamespaceSchemaLocation":"
> https://www.web3d.org/specifications/x3d-4.0.xsd",
> ---
> >     "@xsd:noNamespaceSchemaLocation":"
> http://www.web3d.org/specifications/x3d-4.0.xsd",
> 183c183
> <                           "-value":[
> ---
> >                           "-metadata":
> 191d190
> <                           ]
> 194c193
> <                     "-skeleton":[
> ---
> >                     "-children":[
> 239c238
> <
> "@point":[0,0,0,1.0,0,0,0,1.0,0,0,0,1.0]
> ---
> >
> "@point":[0,0,0,1,0,0,0,1,0,0,0,1]
> 1210,1212c1209
> <                       }
> <                     ],
> <                     "-skin":[
> ---
> >                       },
> 1253c1250
> <
> "@point":[0.0,1.77,0.0,0.0,1.665,0.09,-0.033,1.62,0.087,0.033,1.62,0.087,0.0,1.55,0.097,-0.077,1.64,-0.01,-0.0527,1.58,0.015,0.077,1.64,-0.01,0.0527,1.58,0.015,0.0,1.625,-0.0925,-0.03,1.46,0.035,0.0,1.44,0.03,0.03,1.46,0.035,-0.1135,1.318,0.095,0.1135,1.318,0.095,0.0,1.25,0.113,-0.087,1.19,0.09,-0.093
>
>
>
> On Sat, Nov 21, 2020 at 3:50 PM John Carlson <yottzumm at gmail.com> wrote:
>
> I get an XML file from the archives, for example JoeKick.x3d, convert to
> JSON using X3dToJson.xslt and then convert back to XML using X3DJSONLD.
> The I used xmldiff.js on the two XML files.  I get:
>
>
>
> $ node ../node/xmldiff.js JoeKick.x3d JoeProcessedKick.x3d
>
> ================================================================================
> C:\Users\coderextreme\X3DJSONLD\src\main\node\xmldiff.js JoeKick.x3d
> JoeProcessedKick.x3d
> @5 /X3D/$/xsd:noNamespaceSchemaLocation
> < "https://www.web3d.org/specifications/x3d-4.0.xsd"
> @6/X3D/Scene/0/Group/0/HAnimHumanoid/0/MetadataSet/0/$/containerField
> >"metadata"
> @4
> /X3D/Scene/0/Group/0/HAnimHumanoid/0/MetadataSet/0/MetadataString/0/$/containerField
> < "value"
> @4 /X3D/Scene/0/Group/0/HAnimHumanoid/0/HAnimJoint/0/$/containerField
> < "skeleton"
>
> @6/X3D/Scene/0/Group/0/HAnimHumanoid/0/HAnimJoint/0/HAnimSegment/0/HAnimSite/0/Transform/0/S
> hape/0/IndexedLineSet/0/$/containerField
> >"geometry"
>
> @6/X3D/Scene/0/Group/0/HAnimHumanoid/0/HAnimJoint/0/HAnimSegment/0/HAnimSite/0/Transform/0/S
> hape/0/IndexedLineSet/0/Coordinate/0/$/containerField
> >"coord"
> @4 /X3D/Scene/0/Group/0/HAnimHumanoid/0/Shape/0/$/containerField
> < "skin"
>
> @6/X3D/Scene/0/Group/0/HAnimHumanoid/0/Shape/0/Appearance/0/ImageTexture/0/$/containerField
> >"texture"
>
> @6/X3D/Scene/0/Group/0/HAnimHumanoid/0/Shape/0/IndexedFaceSet/0/$/containerField
> >"geometry"
>
> @6/X3D/Scene/0/Group/0/HAnimHumanoid/0/Shape/0/IndexedFaceSet/0/Coordinate/0/$/containerFiel
> d
> >"coord"
>
> @6/X3D/Scene/0/Group/0/HAnimHumanoid/0/Shape/0/IndexedFaceSet/0/TextureCoordinate/0/$/contai
> nerField
> >"texCoord"
>
> @6/X3D/Scene/0/Group/4/Transform/0/Shape/0/Appearance/0/ImageTexture/0/$/containerField
> >"texture"
>
> @6/X3D/Scene/0/Group/4/Transform/0/Shape/0/IndexedFaceSet/0/$/containerField
> >"geometry"
>
> @6/X3D/Scene/0/Group/4/Transform/0/Shape/0/IndexedFaceSet/0/Coordinate/0/$/containerField
> >"coord"
>
> @6/X3D/Scene/0/Group/5/Transform/1/Shape/0/IndexedLineSet/0/$/containerField
> >"geometry"
>
> @6/X3D/Scene/0/Group/5/Transform/1/Shape/0/IndexedLineSet/0/Coordinate/0/$/containerField
> >"coord"
>
> @6/X3D/Scene/0/Group/5/Transform/2/Shape/0/IndexedLineSet/0/$/containerField
> >"geometry"
>
> @6/X3D/Scene/0/Group/5/Transform/3/Shape/0/IndexedLineSet/0/$/containerField
> >"geometry"
>
>
>
> Note that most of these are new containerFields, but there are perhaps
> important differences earlier in the files.
>
>
>
> The only approach that I see might work would be to include mapToMethod.js
> in the JSON -> XML conversion. One might argue that containerFields may not
> be required to render XML. One needs to examine how well mapToMethod.js
> works in general.
>
>
>
> Indeed, how are the JSON files themselves different?
>
>
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20201122/bab663f8/attachment-0001.html>


More information about the x3d-public mailing list