[x3d-public] Meeting minutes for ECMAScript/TypeScript/JSON support. Modern shading languages for glTF?

John Carlson yottzumm at gmail.com
Tue Mar 30 19:08:58 PDT 2021


Note, A.1 first half is complete.  Progressing with A.4.

A.

1.  We will work towards testing the X3D JSON Schemas with draft-07 of 
the JSON Schema (one of the widest implementations of JSON Schema, and 
most recent one for Python).   This will be our primary short term 
type-checking mechanism beyond X3DJSAIL-X3DJSONLD and x3d.py. (other 
type-safe mechanisms appear to be burdensome for entire X3D standard, 
investigations into profiles welcome).

2.  We will investigate JSON 5, but we see no reason to support 
something which is not even on a standards track when our current tools 
are focused on the JSON schema RFCs.  Is there a JSON 5 schema?

3.  XMLSpy is an important tool for JSON.

4.  We will test draft-07 based X3D JSON generated schemas and the hand 
generated schema (draft-06?) against each other in the JavaScript 
environment.

5.  We will support the Java everit JSON validator with draft-07 schema, 
and test it.  John will run everit code against the JSON examples in the 
archives.

6.  We will attempt to resolve differences between JavaScript and Java 
validators, make contacts with JSON schema validator source code authors 
to ensure equivalent errors are reported.

7.  We will likely finish the X3D JSON encoding standard (but that 
wasn't mentioned in meeting today).

8.  We will continue to support auto-generating the X3D JSON schemas, 
versions 3.0-3.3, and 4.0.

Note that we have packages for JSON -document to DOM document we can 
test, including X3DJSONLD.js (found in X3DOM, X_ITE and X3DJSONLD), 
X3DJSONLD.java (found in X3DJSAIL source code), and X3DJSONLD.cpp 
(standalone, source code available in X3DJSONLD, binaries for Kubuntu 
Groovy Gorilla available).   Further languages are upon request.  These 
modules take JSON and produce a DOM document.

B. After that:

1.  We will support the X3D SAI update with feedback from the 
ECMAScript/TypeScript community (Andreas, can we count on you to help on 
X3D SAI standard feedback for JavaScript?  I'm thinking of your X_ITE 
DOM code which I have not analyzed or even looked at).

2.  If there is demand, we will write/generate a typesafe ECMAScript SAI 
based on X3D SAI and use similar patterns to other X3D language bindings.

3.  If there is demand, we will modify the generator in item B.2 for the 
ECMAScript SAI to create a TypeScript SAI (funding required, GSoC?).

4.  We will watch to see what 3D TypeScript libraries become important 
and figure out if we can support them with X3D JSON import/export.  
Likely of all things, this is the most important for X3D adoption in 
ECMAScript/TypeScript.   Watch for more developments in and beyond 
Three.JS, PLY and STL in the X3DJSONLD package.   Thus after JSON 
standardization, this will likely become John's highest priority. 
Similar to how Michalis has converted formats to X3D, I want to support 
dispersion of X3D JSON to many ECMAScript/JavaScript/TypeScript 3D 
libraries and more programming languages beyond Java, JavaScript and 
Python.  We will use Don's X3dToJSON.xslt to provide a bridge between 
Michalis' code and my code (unless some other ECMAScript translation 
from X3D to JSON suddenly appears).

============================================

C. I am interesting in hearing about possible X3D JSON extensions for 
newer shading languages coming out.  What shading languages are 
supported in glTF?  Do they support raytracing?  I don't have a 
raytracing card yet.   I am considering upgrading Mac Mini.

D. We do not see on the fly modification of JSON necessary except for 
Protos and Scripts  (consider source JSON immutable).   Those should be 
supported by the X3D browsers, not X3DJSONLD.  X3DJSONLD has an example 
Script preprocessor, but it's pretty much deprecated in favor of X_ITE's 
example.

Be excellent to each other!

John




More information about the x3d-public mailing list