[x3d-public] JSON Schema meeting minutes

John Carlson yottzumm at gmail.com
Tue Oct 26 00:02:53 PDT 2021


Joe, we should OK with restricting certain nodes from having @USE, but a 
complete list would be welcome, or we can discover these things one at a 
time.

I don't believe it's syntax (JSON), rather some kind of X3D semantics we 
are quibbling about.  If you can find the desired syntax or semantics 
for the X3D JSON Schema that will help with your example, please point 
it out. Note that for Interpolators, X3DUOM has USE fields, so the the 
USE fields should probably be removed from there, which probably means 
they should be removed from the XML Schema and the X3D standard, as you 
mention.  This may mean breaking examples (which might be a good thing).

In my schema generation, I merely have been taking Roy's example and 
slowly extending it as the JSON Schema drafts change. I have not done 
any extensive research into the JSON Schema--yes, I've been to an 
opthamologist, even the eye school at UCB.

Again, we probably need a full on implementation/SAI to discover such 
things, if not something like schematron.  Here we go: 
https://www.npmjs.com/package/jsontron .  I believe many of these sorts 
of things are added to adjunct JSON schema capabilities.  If we can find 
better tools than jsonschemafriend (Java), Ajv (JavaScript), and 
jsonschema (Python), let's use them!  This list piques my interest: 
https://json-schema.org/implementations.html#web-ui-generation

We also lack the capability in the XMLSpy generated JSON schema to 
restrict USE from being used with other fields.  How much we can fiddle 
with this remains a question (JSON to JSON?).  There are rules 
hard-coded into X3D JSON schema generation that do not appear in X3DUOM 
(oops!).

If we could generate @geoSystem schema rules from X3DUOM, that would be 
really cool.

Here is some very interesting syntax from the XMLSpy converted schema:

  "..X3DNodeMixedContent.2": {
                         "additionalProperties": false,
                         "properties": {
                                 "$": {
                                         "type": [
                                                 "string",
                                                 "number",
                                                 "boolean"
                                         ]
                                 },

[snip]

                        },
                         "type": [
                                 "object",
                                 "string",
                                 "number",
                                 "boolean"
                         ]
                 },

AFAIK, X3DNodeMixedContent is not found in X3DUOM!  X3D XSD, yes!

Thanks!

John

On 10/25/21 10:03 PM, Joseph D Williams wrote:
>
> Hi Don and All,
>
>   * The USE pattern we were working on in the X3D JSON Schema was
>     common to all nodes,
>
> Then I think this could result in patterns that are not ‘standard’ or 
> acceptable or usable syntax. As I read the example for hanimdisplacer 
> which sort of matches construction of an interpolator node it appeared 
> that I could put a USE in there to reference another displacer, I 
> guess in order to use the same points and displacements(?) as one 
> already defined. Maybe I am reading it wrong but I still can’t think 
> of any example of displacer or any other interpolator where a USE is 
> appropriate.
>
> And, for hanim, I predict still no ‘standard’ humanoid is able to have 
> a USE included in Joint, Segment, or Site nodes of a ‘standard’ 
> skeleton, although contained nodes of those nodes may use previously 
> defined stuffs.
>
> So, is the USE really common to all nodes? If so, then I want 
> extension to be able to USE just a field of another node, such as 
> using a common key time sequence in a set of interpolators.
>
> Respectfully seeking the Universal Pattern(s) …
>
> All Best,
>
> Joe
>
> *From: *Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>
> *Sent: *Monday, October 25, 2021 12:10 AM
> *To: *Joseph D Williams <mailto:joedwil at earthlink.net>; John Carlson 
> <mailto:yottzumm at gmail.com>
> *Cc: *X3D Public Mailing List (x3d-public at web3d.org) 
> <mailto:x3d-public at web3d.org>
> *Subject: *RE: [x3d-public] JSON Schema meeting minutes
>
> 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 <https://faculty.nps.edu/brutzman>
>
> *From: *Joseph D Williams <mailto:joedwil at earthlink.net>
> *Sent: *Sunday, October 24, 2021 5:12 PM
> *To: *John Carlson <mailto:yottzumm at gmail.com>; Brutzman, Donald (Don) 
> (CIV) <mailto:brutzman at nps.edu>
> *Cc: *X3D Public Mailing List (x3d-public at web3d.org) 
> <mailto: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 <mailto:yottzumm at gmail.com>
> *Sent: *Sunday, October 24, 2021 11:44 AM
> *To: *Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>
> *Cc: *X3D Public Mailing List (x3d-public at web3d.org) 
> <mailto: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 
> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcoderextreme%2FX3DJSONLD%2Ftree%2Fmaster%2Fsrc%2Fmain%2Fschema&data=04%7C01%7Cbrutzman%40nps.edu%7C51fbb182092b4d5bb02c08d9974c199c%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637707175517256956%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=ZcklHNEBEtinlpnaTacqhx6dQUY2X0MYdh7vhMIRo1M%3D&reserved=0>
>
> 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:
>
>       * 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
>
>       * 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/20211026/f3852910/attachment-0001.html>


More information about the x3d-public mailing list