[x3d-public] Production HAnim X3D JSON seems to still work

Joseph D Williams joedwil at earthlink.net
Mon Nov 1 15:45:07 PDT 2021


This is fun and innovative and proves depth of x3d but not exactly what I really would like to see. Have the scene defined by and .x3d file. Then, for example, import the skeleton or geometries using json files, then serialize to  x3d xml canonical. I think you have pretty much proven that json can have capabilities to serve as an encoding for x3d, but I don’t think json needs to be promoted as a prime transport syntax, like xml and Classic. More like gltf might serve for certain common components, mainly as a transport scheme that aligns with typical industry data packages. 

Thanks for all, 
Joe

From: John Carlson
Sent: Monday, November 1, 2021 1:38 PM
To: Joseph D Williams; Brutzman, Donald (Don) (CIV); x3d-public at web3d.org; hanim at web3d.org
Subject: Production HAnim X3D JSON seems to still work

I don't have any checked in code working, but the last production release seems to work:
https://coderextreme.net/X3DJSONLD/src/main/html/joeandjin.html
So if you have pressing work, I can get you a copy of the website.
Sorry, I don't have releases, I got caught with Ajv not working on draft 2020-12.   See attached image for production website.
This is with X3DOM and X_ITE.

John
On 11/1/21 12:36, Joseph D Williams wrote:
1. get HAnim working
 
Fine, how about looking at the joekick model? Or, the LOA4 in the current spec, Annex A
1. JSON is loaded through a URL on the web page.
The encoding is not the issue since a typical scene may consume x3d xml x3dclassic, strings, binaries, compressed, encrypted, with standard and custom subtypes.  This point is, _if_ the tool that creates and runs the x3d scene can produce the x3d text user code in canonical form, then it has  to be xml or classic, right. And, ecma or java. The tool can export code or data  however it wants including all or parts of its internal forms, but if the current user asks for canonical form or viewsource of an x3d scene, then the text must be 19776-n and 19977-n and I think would actually require the xml in order to get direct authortime validation. 
All Standards | Web3D Consortium
I sent this to hanim because we are looking at the hanim models in the archive. The quick way to start with hanim is to pick an loa4 because joints not animated are ignored. 
All Good, 
Joe
 
 
From: John Carlson
Sent: Sunday, October 31, 2021 10:41 PM
To: Joseph D Williams; Brutzman, Donald (Don) (CIV); x3d-public at web3d.org
Subject: Re: [x3d-public] JSON Schema meeting minutes
 
Joe, there are some ways of loading JSON through the runtime in X3DOM (which uses JSONParser.js), but typically, JSON is loaded through a URL on the web page. I don't want to overburden my customers by forcing them to drop into JavaScript.   There's also a different interface for X_ITE as well, and also one can load JSON through a URL on the web page.
I think there may still be some issues with HAnim, which need to be addressed (skeleton field).  I will work with you to get HAnim working with X3DOM and X_ITE.  I have many, may issues with Java code generated from JSON in X3DJSONLD package.   Fixing those may help or hinder us from accomplishing our goals.
Thanks!
John
On 10/31/21 20:45, Joseph D Williams wrote:
Does anyone want to discuss SAI for building a scenegraph from X3DJSON?  What approaches are out there?
 
Just wondering, or waking up, why would there be a special SAI for use with json? All I thought I needed was a way to reliably import/export nodes and parameters ilnto a standard scenegraph using standard SAI interfaces. 
Sure, using external programming interfaces to build a scene by authoring or importing nodes and statements and structures is possible, but regardless the scenegraph is built from nodes and statements that may be emitted from and external and internal scripts activated when the scene is initialized using the spec SAI. 
 
At this point I still think of the json as a way to store some data and some organized way for import into the x3d scenegraph using the spec interfaces for external and external programming. Bite my lip, but why think of a scenegraph built entirely for json? How can I say no way, too verbose😊I don’t think there needs to be a canonical form for a scene built from json, like for x3d xml and x3d Classic. I think it is more appropriate to think of the Json as imported into or from the scene and integrated into the scenegraph to be accessible by SAI using the existing SAI with the canonical user code in XML or Classic (same interfaces for both).
 
Thanks, 
Joe
 
 
From: Joseph D Williams
Sent: Saturday, October 30, 2021 3:52 PM
To: John Carlson; Brutzman, Donald (Don) (CIV); x3d-public at web3d.org
Subject: Re: [x3d-public] JSON Schema meeting minutes
 
1. Is there a modeling language which encompasses everything we want to do with schemas and semantics?
 
We have a modeling language that encompasses objects and object interactions in real time with specific control of the time. At the most abstract is it metaontologies connected to metadata connecting to real and virtual objects with interactive event processing?  
 
2. textual SysML
 
Is any of this usable in x3d? Ports, parts, and connectors to start. If it works then writing this language could be a guide to showing flows and interactions in simulations and realtime? 
 
For me, the JSON should be standardized when it can be clearly shown to be an accurate set of rules when transcoding between the XML, the Classic, and the JSON, given the idea that the XML is the defining schema. That is, for a given set of data, equivalent results can be produced to and from equivalent data in other standard forms. 
 
Now, for the SAI, are we past just system of defining and validating syntax and data structures for textual x3dscenegraphs and now are looking for connects between these great achievements and some way to abstractly define and validate event processing by the scene object and internal and external objects composing the scene from internal and external events? Then not only can be validate the user code but also validate event processing without actually having to run the thing. 
 
That is where the sysML comes in, maybe, is laying out the hierarchy and structures of the processes and flows in a project. Like showing that these two things are things and when this thing is started, then this other thing also should start, and if one takes too long then this should happen. I think the x3d scengraph can precisely document timing and event flows that the user has defined, so a competent x3d authoring system should be able to validate the syntax and structures and event flows and timing within the  scenegraph at any operating point.  
 
Joe 
 
From: John Carlson
Sent: Friday, October 29, 2021 3:18 PM
To: Brutzman, Donald (Don) (CIV); x3d-public at web3d.org
Subject: Re: [x3d-public] JSON Schema meeting minutes
 
Note that encodings, bindings and schemas are different things, except that bindings are starting to look a lot like encodings now.  JSON schema has not yet achieved standardization, we are using draft 2020-12, and it looks a bit like the JSON schema crew are having a bit of an issue getting a standards body to endorse it.   Since both glTF and X3D could make use of a JSON schema standard, I recommend that either Khronos and/or Web3d consortium suggest a standards body to the JSON schema folks.  Something like ECMA seems like a natural fit.
 
Note that X3D JSON schema depends on JSON schema for vocabulary.
 
In the early days of X3DJSON I looked for something that would convert XML schema to JSON schema, but it looked like any tool were were going to use would not match what we were creating with X3D JSON.  I don’t know if there’s sufficient umph in XMLSpy to do it, but we might consider a post-processing tool.
 
I may still have code around that converts xsd to owl to vowl if anyone is interested.
 
Another place we might place effort is a validating API for X3D JSON.  I view that as a valuable task, but I don’t have the personal passion or brainpower to push it through.   First things first.  You probably shouldn’t write parser without a specification.
 
This is pretty much the 5th JSON schema draft we’ve developed for, not counting all the X3D versions.
 
We have X3DJSONLD deployed in 2 browsers and on sourceforge.   Does anyone want to discuss SAI for building a scenegraph from X3DJSON?  What approaches are out there?
 
What’s worrying me is the lack of expressively in X3DUOM compared to other schemas  (geoSystem, oneOf).   Perhaps we should convert to a textual SysML?   Is there a modeling language which encompasses everything we want to do with schemas and semantics?
 
John
 
Sent from my iPad
 
On Oct 25, 2021, at 2:10 AM, Brutzman, Donald (Don) (CIV) <brutzman at nps.edu> wrote:
 
Hi Joe.  The USE pattern we were working on in the X3D JSON Schema was common to all nodes, not just HAnim nodes.  So no change of functionality expected.
 
We are always striving for consistent expressive power for all the different language bindings and file encodings.
 
We have 3950 X3D Examples to test.  More are always welcome for the archives if you think that further coverage is needed of some capability.
 
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: Joseph D Williams
Sent: Sunday, October 24, 2021 5:12 PM
To: John Carlson; Brutzman, Donald (Don) (CIV)
Cc: X3D Public Mailing List (x3d-public at web3d.org)
Subject: RE: [x3d-public] JSON Schema meeting minutes
 
Hi John, Getting this to work will help. Are you looking for examples to validate, beginning with a .x3d file? 
If I can include USE in the HanimDisplacer pt. then I can include USE as Interpolator key and value fields(?)
Including a USE in any of the HAnim… nodes Joints, Segments, Sites is not going to work unless, well, I can’t really see how it would work in a ‘standard’ humanoid.
 
Thanks,
Joe
 
 
From: John Carlson
Sent: Sunday, October 24, 2021 11:44 AM
To: Brutzman, Donald (Don) (CIV)
Cc: X3D Public Mailing List (x3d-public at web3d.org)
Subject: Re: [x3d-public] JSON Schema meeting minutes
 
Don, schema is here, python seems to be working with added metaschema checks.

https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/schema
 
Next on agenda is bpy to JSON conversion, possibly with added GUI/X3D conversion tool.
 
John
 
Sent from my iPad
 
On Oct 18, 2021, at 5:09 PM, Brutzman, Donald (Don) (CIV) <brutzman at nps.edu> wrote:
 
John and I reviewed his latest schema today and discussed various design considerations.
 
His latest version, generated by a Python program reading X3DUOM, is found as follows:
 
1. https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/x3d-4.0-JSONSchema.json
 
Looking at the result in Firefox was helpful because that has a great way to look at JSON which allowed us to iconize/expand (fold/unfold) as needed.  Excerpt follows.
 
The result looks great.  One refinement John will handle: for nodes with a USE field, no -children nodes are permitted.
 
Once he has the next version, I will check it into the specifications directory (next to X3D XML Schema and XML DOCTYPE).
 
At that point we are ready to begin further validation efforts using multivarious tools against the many X3D examples in JSON, such as
 
2. https://savage.nps.edu/Savage/GroundVehicles/Jeep/Jeep.json
 
Testing without regex patterns is good for now.  A prior version had acceptable regex, so that appears to be do-able.
 
Having fun with X3D JSON!  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
 
 
 
 
 
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20211101/85c13f8e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Lu0tCDDx0pExEAkb.png
Type: image/png
Size: 109265 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20211101/85c13f8e/attachment.png>


More information about the x3d-public mailing list