[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