[x3d-public] JSON to DOM inquiry (for XML schema)

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Thu Dec 14 00:30:35 PST 2023


John, I’m not working on any of these things you are discussing. Sorry but I don’t have time to shift attention in directions other than our current tasks.

Repeating the unchanging rationale for working group efforts:


  *   When an approved JSON Schema exists, we can update X3D JSON Schema and include that in a future specification.
  *   When tools for an approved JSON Schema exists, we can use them to make sure everything works.

Until those fine milestones occur, all use of X3D JSON is voluntary, welcome, informal, and unspecified.  Hope this helps clarify things for you.

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, December 13, 2023 7:11 PM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; X3D Graphics public mailing list <x3d-public at web3d.org>
Subject: JSON to DOM inquiry (for XML schema)

Don, I am developing these ideas. I have to talk to a teddy bear to develop them.   There are new thoughts being introduced.  The previous email was to get the engine going.

Don, JSON has a specification and a standard.  There is no Classic VRML schema, just a grammar.  Similarly, there is JSON grammar that is standardized.  If you point at the XML Schema for classic VRML, why can’t we do the same for JSON?  It’s been shown that we can create DOM documents from JSON documents, why not validate the DOM documents against XML Schema?  If someone could point me at a way to validate DOM documents in Java with XML Schema, it would probably take me 1-4 days to start validating X3D JSON with XML schema.  I think that having a single schema, and 2 object models is OK!  I’ll just have to figure out how to validate DOM documents on the web.   The biggest win of putting JSON into DOM documents is that potentially, all the goodness of X3D-Edit could be applied to the JSON documents (I just realized this.  I now feel like a genius!).  I’ve basically been a DOM proponent for quite a while now, all my X3DJSONLD.* programs use it except for x3djsonld.py (poorly named).  I’m not aware that DOM is popular in Python.

Since the last JSON schema draft proposal was 2020-12, I have not seen any progress on core JSON schema validation standardization.  If you want me to try some newer implementations, which ones?  Your requirements are probably stricter than mine.  If we wait for a JSON schema standard, we’ll be waiting for implementations again.  Probably by the time the JSON schema standard comes out, JSON will be deprecated (note that Microsoft is highlighted on the JSON schema page, not a company strong on open standards).

Perhaps DOM document validation with X3DJSAIL (by way of scenegraph) still needs some effort?  Maybe we can skip that with a DOM XML schema validator?  I realize we need teamwork to finish off the X3DJSAIL/X3DJSONLD pair.  For me, to get access to X3DJSAIL outputs and validation without resorting to XML or Java source code, and for you, to get X3D JSON converted to whatever you target.

Pretending that JSON schema did not exist, what would your approach be for JSON?

Just point in the direction you want me to go.  I have a feeling that JSON isn’t going anywhere soon.  My alternative to JSON is VRML.  Should I create a VRML loader for X3DOM?  Joe?

John

On Wed, Dec 13, 2023 at 4:28 PM Brutzman, Donald (Don) (CIV) <brutzman at nps.edu<mailto:brutzman at nps.edu>> wrote:
John you’ve asked questions like this for years and the responses remain the same.


  1.  We cannot specify a formal validation of JSON until there is a formal JSON schema.  After many years they are still at Internet-Draft stage.

  *   https://json-schema.org/specification
  *   https://json-schema.org/draft/2020-12/json-schema-core


  1.  X3DJSAIL is not a specification, it is a programming library.

  *   X3D Java Scene Access Interface Library (X3DJSAIL)
  *   https://www.web3d.org/specifications/java/X3DJSAIL.html


  1.  For use in other tools, we would need to validate X3D JSON using an authoritative schema and a reliable library.  Looks like there has been progress:

  *   https://json-schema.org/implementations

Once we have a stable path forward for JSON schema validation, adapting X3DUOM conversion to create a version of your X3D JSON Schema seems like a reasonable step.

I again recommend that you track the JSON Schema site to be aware of formal status and implementation progress.

Web3D Recommended Practices are likely to be limited to only list potential nodes for X3D4 and HAnim2, as future specification candidates, not for anything we might like under the bright sun.

Hope this helps.  Wishing you best progress.

all the best, Don
--
Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu<mailto: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<mailto:yottzumm at gmail.com>>
Sent: Wednesday, December 13, 2023 2:12 PM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org<mailto:x3d-public at web3d.org>>
Cc: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu<mailto:brutzman at nps.edu>>; GPU Group <gpugroup at gmail.com<mailto:gpugroup at gmail.com>>; consortium at web3d.org<mailto:consortium at web3d.org>; x3d at web3d.org<mailto:x3d at web3d.org>
Subject: Re: [x3d-public] X3D Working Group meeting 8 DEC 2023: proposed charter improvements

Can we make an effort for X3DJSAIL validation of JSON as a Web3D Consortium Recommended Practice, and extend the CommandLine Java program for JSON validation?  I know there’s x3dvalidate and online X3DJSONLD validation.  I’m looking for a multiple goal approach.  I’m not saying that there’s only one way to skin a cat.  I know I probably overhyped JSON schema in the past.

Since we probably won’t see Java in a browser soon, and Oracle is pushing JavaScript forward through support of GraalVM, it seems like combining JavaScript and Java, yet again, a good thing.  It makes me wonder if we can fit a JavaScript interpreter into a Java native image.  Has anyone explored WASM binaries for Java?

John

On Wed, Dec 13, 2023 at 11:29 AM Brutzman, Donald (Don) (CIV) via x3d-public <x3d-public at web3d.org<mailto:x3d-public at web3d.org>> wrote:
Doug, thanks for feedback.  This is close to what you said a week ago.  Not sure if we are connecting correctly.

We are currently working on a working group charter, which sets out shared goals and requirements.  So far these seem pretty clear and well defined.  “Good” goals means that success can be measured by demonstrated results, draft specification prose, and eventual consensus.

If I am following your line of thinking, then topics like CALL FOR NEW FEATURES, PRE-DRAFT, etc. etc. sound like procedures for the group to follow.  That might be valuable, if doable.  However we are not looking at coordination of working-group activities right now as part of a charter.

Once we have a renewed charter, if someone wants to lead such coordination steps as a working process for meeting policy requirements, then OK by me.  Seems premature to lay all that out, a group should be free to flexibly execute as they work on achieving goals and requirements.  Future leadership activity will no doubt be welcome by everyone.

Following our first exemplar (probably Image Atlas) as a Web3D Recommended Practice, also must note that it won’t be me who is choreographing such new-node activities.  I will be focused primarily on Specification Synchronization with Dick Puk.  ISO participants recently approved my relieving Dick as SC24 WG6 convener, so I can confirm that a lot of updates to existing specifications (SAI programming language bindings and file encodings) are needed before any X3D 4.1 new-specification efforts are possible.

Please advise if this makes sense to you.  Good discussion topic for next week’s X3D Working Group meeting 22 DEC 2023 (no meeting this Friday due to NPS graduation).  Alternatively am always happy to discuss with you directly if that helps us.

p.s. For thoroughness, your prior note and my prior response follow.  Please permit me to recap my earlier responses here since the points remain relevant.


  *   [x3d-public] [x3d] X3D working group meeting: charter review for 2024
  *   https://web3d.org/pipermail/x3d-public_web3d.org/2023-December/020100.html
  *   https://web3d.org/pipermail/x3d-public_web3d.org/2023-December/020103.html

First was the past/present/future synopsis, describing what works.  Wording has been further refined as we’ve continued.

Next was that the doors remain open.  The x3d-public at web3d.org<http://web3d.org/> <mailto:x3d-public<mailto:x3d-public> at web3d.org<http://web3d.org/>>  mailing list will remain our primary path for sharing new ideas.  The x3d at web3d.org<http://web3d.org/> <mailto:x3d<mailto:x3d> at web3d.org<http://web3d.org/>>  mailing list is always available as well for Web3D Consortium members who want to share and discuss ideas privately and confidentially.

Next was the list of existing approved policy requirements that must be met.  These are all controlled by Web3D Consortium Board of Directors.  Membership has value!


  *   Web3D Standards Adoption Process
  *   https://www.web3d.org/standards/adoption-process


  *   Web3D Contribution Submission Guidelines
  *   https://www.web3d.org/standards/contribution-guidelines

  *   Join Web3D Consortium
  *   https://www.web3d.org/join
  *   “Web3D Consortium members agree to follow the rules, policies, and restrictions as specified in the following documents:”


  *   By-Laws
  *   Intellectual Property Rights (IPR) Policy
  *   (part of Member Agreement)
  *   https://www.web3d.org/sites/default/files/page/Join%20the%20Web3D%20Consortium/Web3D_IPR.pdf

So, happy days: we have a proven process that works.  We have good goals emerging for steady (indeed compelling) progress in the coming year.  Perhaps best, we have X3D 4.0 !!  8)

I hope that all this works for you too.  Again thanks for your careful consideration.

all the best, Don
--
Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu<mailto: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: GPU Group <gpugroup at gmail.com<mailto:gpugroup at gmail.com>>
Sent: Monday, December 11, 2023 9:15 AM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org<mailto:x3d-public at web3d.org>>
Cc: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu<mailto:brutzman at nps.edu>>; consortium at web3d.org<mailto:consortium at web3d.org>; x3d at web3d.org<mailto:x3d at web3d.org>
Subject: Re: [x3d-public] X3D Working Group meeting 8 DEC 2023: proposed charter improvements

> What else do you need?
Process improvements. Your asking 'what else do you need?' is a process step I haven't explicitly seen before, I think that's a good step.
There could be 'CALL FOR's that notify sleepy browser / tool makers to wake up on a topic and contribute before some regrettable decision is baked into specifications. CALL FOR NEW FEATURES 2 years before next draft would allow browser / tool developers to compare notes in a PRE-DRAFT and list new features and nodes, and give 2 years for other browser / tool developers to implement. Then each implementation is noted on PRE-DRAFT to see which ones have traction. (versus last-minute scramble to find a second implementation or ignoring that PROCESS REQUIREMENT while writing draft specification).

> Extensibility mechanisms for X3D can implement new capabilities
I find PROTOs awkward and find it easier to implement new builtins. A CALL FOR PROTO DESIGN PATTERNS, EXAMPLES AND ANALYSIS OF PROTO SYSTEM SHORTCOMINGS, AND EXTENSIONS TO EXTENSIBILITY could expand web3d power and attractiveness
Design patterns - I'm thinking of how to design builtin nodes so as to make extensibility easier. A CALL could bring forth examples of builtin nodes that don't map to a PROTO implementation, and analysis of those shortcomings may produce design patterns to improve current PROTO mechanism and suggest new extensibility mechanisms / extensions to extensions.
-Doug Sanden

On Mon, Dec 11, 2023 at 9:43 AM Brutzman, Donald (Don) (CIV) via x3d-public <x3d-public at web3d.org<mailto:x3d-public at web3d.org>> wrote:
Attendees Anita Havele, Vince Marchetti, Dick Puk, Don Brutzman.

The X3D Working Group meets each Friday 09-1000 pacific (12-1300 eastern).


  *   https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09
  *   https://zoom.us/j/148206572  Password 483805
  *   https://www.web3d.org/member/teleconference-information

We again looked at updating the X3D Working Group Charter for 2024.  Current charter is online at


  *   https://www.web3d.org/working-groups/x3d

First section with suggested edits follows.  None of the current charter words are incorrect, am looking to simplify and make clearer:


Overview:

The Extensible 3D (X3D) Graphics Working Group forms the core of the provides the core technical foundation for all working groups within the Web3D Consortium. It is responsible for the development of specification of core technologies for the X3D suite of Specifications, and the integration of the maximum interoperability with related specifications for non-core technologies, and coordinating the technical aspects of all Web3D working group efforts broad deployment of interactive X3D models. The X3D Graphics Standards: Specification Relationships<https://www.web3d.org/specifications/X3dGraphicsStandardsRelationships.png> graphic nicely diagram illustrates these capabilities the interaction and relationships between the various X3D specifications.

Interest in metaverse and augmented reality, improvements in high-quality audio and visual fidelity on any computer platform, and new support for multiple file encodings and programming languages including JSON and streaming binary are driving the broad deployment of interactive X3D4 models across the Web into new domains of real-time 3D human interaction development of the next revision of the standard. The Working Group is looking for people to help with these and other technical fields in creating the X3D V4.0 standard.

The wide-spread adoption of WebGL in all browsers is driving X3D into the future. The next generation of X3D (V4.0) will be embedded in the browser and support full interaction with the web page. It will include all of the features of X3D that are currently available plus new rendering, interaction, and device support all running in your browser, whether it is on your desktop or your phone. In addition to X3D continuing to work in non-browser environments.

Condensed:

The Extensible 3D (X3D) Graphics Working Group provides the core technical foundation for all working groups within the Web3D Consortium. It is responsible for development of the X3D suite of specifications, maximum interoperability with related technologies, and coordinating the broad deployment of interactive X3D models. The X3D Graphics Standards: Specification Relationships<https://www.web3d.org/specifications/X3dGraphicsStandardsRelationships.png> diagram illustrates these capabilities.

Interest in metaverse and augmented reality, improvements in high-quality audio and visual fidelity on any computer platform, and new support for multiple file encodings and programming languages including JSON and streaming binary are driving the broad deployment of interactive X3D4 models across the Web into new domains of real-time 3D human interaction.


[The next proposed sections are updates from last week’s meeting and email discussion.]

X3D Working Group priorities for 2024 follow.


  1.  Specifications Synchronization.  Update, review, implement and advance all corresponding X3D specifications for file encodings and language encodings, continuing rigorous attention to detail through Web3D Consortium, W3C, US INCITS H3, and ISO/IEC standards development organizations (SDOs).
  2.  Implementations.  Provide a technical forum that encourages the greatest possible development for functionally complete X3D4 applications, authoring tools, and model converters such as Blender and MeshLab.  Pay special attention to implementations using Humanoid Animation (HAnim), glTF model import, Web Audio API and MIDI 2.0 capabilities for integrated spatial auralization, projective texture mapping, HTML5 integration, XML, JSON/JavaScript, Java, Python, C/C++/C#, compressed binary formats, and additional new X3D 4.0 features.
  3.  Publications.  Demonstrate how X3D can make 3D Graphics part of the modern Web by integrating with key infrastructure such as Web3D Conference series, Wikipedia, and other major publication resources.
  4.  Innovation Foundation.  Show how Extensibility mechanisms for X3D can implement new capabilities in a standards-compatible way.  Much is possible, model correctness is validatable, and few barriers to exploration exist.
  5.  Metaverse.  Support 3D Web Interoperability and Metaverse Standards Register groups in the Metaverse Standards Forum (MSF), implementing shared use cases to provide helpful feedback on successes and next-step goals.

These renewed priorities fit well as next steps in a quarter century of stable evolution using Virtual Reality Modeling Language (VRML) and X3D.


  *   Past as Prologue.  The X3D Working Group carefully follows Web3D policies and procedures, integrating much public/private comment that is well documented in X3D email archives and Mantis issue tracker.  Both backwards compatibility and forwards extensibility have been carefully preserved throughout, enabling effective reuse of every VRML97 and X3D model for the past quarter century. Seventh in a specification series starting with VRML97, successful completion of the X3D 4.0 Architecture once again proves that this collaborative process is effective.



  *   Present, 2024.  There is much capability in X3D 4.0 already that deserves broader implementation and exposure in high-capability models. Consequently we are deliberately not pursuing X3D 4.1 specification improvements with ISO/IEC in 2024.  Meanwhile we do encourage Innovation by emphasizing X3D extensibility mechanisms:  Inline, Script, Prototype, software libraries supporting source-code implementations that generate X3D, etc. etc.  New candidate nodes (such as Image Atlas) that rise to the level of broad usefulness can be formally considered as contributions to Web3D Recommended Practice.


  *   Future, 2025+.  Once all of the corresponding X3D specifications have been updated to match X3D 4.0 architecture, development of a future X3D 4.1 specification revision will be possible.


What’s missing?  What’s unclear and might be better expressed?  What else do you need?

All improvements are welcome, a big year awaits us…

Thanks for considering the possibilities.  Have fun with X3D!  8)


all the best, Don
--
Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu<mailto: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

_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org
_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20231214/29a4a996/attachment-0001.html>


More information about the x3d-public mailing list