[x3d-public] @channels in HAnimMotion JSON. MFString again

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Sat Sep 2 16:41:52 PDT 2023


John:  our work is well documented, stable and tested, online at

 

*	X3D to JSON Stylesheet Converter
*	https://www.web3d.org/x3d/stylesheets/X3dToJson.html

 

BTW, as a convenience to X3D-Edit authors, this link is one of many available in X3D-Edit under the menu list

 

*	(NetBeans menu) X3D-Edit > X3D Work  in Progress > etc.

 

I believe we have already achieved precise, unambiguous coverage of X3D 4.0 Architecture in JSON.  All of the examples appear to be converting correctly, all of the ModelName.json examples are already published.  They also all pass offline JSONLint testing. For example:

 

*	X3D for Web Authors (X3D4WA) Examples Archive
*	https://www.web3d.org/x3d/content/examples/X3dForWebAuthors
*	https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldIndex.html
*	https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.x3d
*	https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.json

 

There does seem to be a problem with the online JSONLint Editor no longer working for us, reporting “unable to connect” – not sure why. 

 

*	https://jsonlint.com/?json=https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.json

 

Web3D Consortium work on the corresponding specification has been announced and planned for some time, hopefully occurring in 2024.

 

X3D Working Group deliberations have already decided on using the .json extension, in order to support maximum interoperability.

 

Our biggest gap remains lack of a testable and final (or near-final) JSON Schema.  Once JSON Schema is nearing stability as an IETF RFC, and we can validate scenes with Java-based validator, you still have my long-standing offer to autogenerate an authoritative X3D JSON Schema using X3DUOM that is maintainable and testable.

 

*	https://json-schema.org
*	https://json-schema.org/implementations.html#validator-java

 

This state of affairs is hopefully familiar, the archives will show that I have responded with multiple emails over the past few years with this exact same information.

 

Appreciate everyone’s patience and endurance.  This is the exact same path that has led to success with X3D Java and X3D Python and X3D Turtle.  We’ve seen wonderful confirmation and refinement with VRML97/ClassicVRML examples when recently integrating view3dscene validation.

 

I hope that things are clearly explained here.  Detailed perhaps, but not unusual.

 

So, hope you have fun with X3D JSON today, and have fun with schema-validated X3D JSON in the future.

 

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: Saturday, September 2, 2023 1:22 PM
To: X3D Graphics public mailing list <x3d-public at web3d.org>
Subject: Re: [x3d-public] @channels in HAnimMotion JSON. MFString again

 

I have a solution.  There will be 2 JSON extensions.  One for web, with .x3dj, and one for server-side, with .json.

 

We can discuss whether we want 2 schemas, or 3 (+1) schemas for each MFString field, etc.

 

John

 

On Sat, Sep 2, 2023 at 2:37 PM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com> > wrote:

So no one wants have a frank conversation about this?

 

We need to figure out a solution to MFString in JSON.  We can’t do onesies twosies.

 

My web page now uses Holger’s Browser.toJSONString().  No other solution works half decently on the web for converting XML to JSON in a browser.  X_ITE creates JSON arrays for MFStrings.

 

I have brought up this issue many, many times.  Our current Saxon/XSLT solution does not work in a web client.  The Saxon JavaScript version just isn’t there.  I am not going to write server side code.

 

I am converting XML to JSON over from stylesheets to x3d-tidy, even though Saxon itself works perfectly well in X3D-Edit and in my RunSaxon.java.  Ideally, we could match a web solution with a server-side solution.

 

At this point, I am following Holger’s lead because there’s no Saxon solution for web clients.

 

Are we killing X3D JSON? Then let’s be upfront about it and not talk in smoke-filled rooms.

 

John

 

 

 

On Sat, Sep 2, 2023 at 2:58 AM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com> > wrote:

 

The @channels field value in the translated JSON appears as a JSON string, not as  a JSON array.  Here we have the MFString problem again.

 

It appears that we have different ideas of what "MF" means.  To me, MF means a JSON array in JSON.  Holger's x3d-tidy tool and X_ITE renders MFStrings as arrays.  I created a special case NavigatorInfo at type.  Can we convert all MFStrings to JSON strings on output, please?  I think that would make everyone happy?

 

If our tools don't agree, that will confuse people.

 

There's could be issues around MFStrings in Text/fontStyle still. and other places, like urls...do you want those rendered as strings or arrays.

 

I'm going to proceed with modifying my schema generator, I'll keep a backup of current stuff.

 

John

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230902/6df2c7ee/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5464 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230902/6df2c7ee/attachment-0001.p7s>


More information about the x3d-public mailing list