[x3d-public] X3D roadmap for multiple languages and specifications

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Thu Jun 13 05:17:24 PDT 2019


On 6/12/2019 5:48 PM, John Carlson wrote:
> See important changes in Oracle’s Java 8 license, as of April 2019
> 
> https://java.com/en/download/release_notice.jsp

Thanks for noting this John.

> Should we switch en masse to OpenJDK?

No sudden movements please.  Step by step wins the race.

NPS team will continue to progress incrementally and we are glad to further extend and refine the X3DJSAIL build as needed as Java continues to evolve.  "Write once, run everywhere" remains a touchstone design principle.

Hopefully OpenJDK works out of the box for X3DJSAIL - we are focused on tasks at hand and haven't experimented with it yet.  Test reports and configuration suggestions welcome, if additional information is available we will be happy to add it to the X3DJSAIL documentation.

==================================================
https://www.web3d.org/specifications/java/X3DJSAIL.html

X3D Java Scene Access Interface Library (X3DJSAIL) supports programmers with standards-based X3D Java interfaces and objects, all as open source.
==================================================

> Or another language (Python, TypeScript, ECMAScript?)
> 
> I would vote TypeScript for types.

Anybody can do anything they want.  Microsoft TypeScript is not an open standard and is not on Web3D Consortium's official roadmap for X3D.

==================================================
X3D Specification Relationships
https://www.web3d.org/specifications/X3dSpecificationRelationships.png
https://www.web3d.org/specifications/X3dSpecificationRelationships.pdf

==================================================
https://en.wikipedia.org/wiki/Microsoft_TypeScript
Microsoft TypeScript is an open-source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript, and adds optional static typing to the language. TypeScript is designed for development of large applications and transcompiles to JavaScript.
==================================================

> Python for ducktyping

Getting closer every week.

> ECMAScript for web.

Adding stable JSON validation using "draft-08" json schema is the identified and important next step for that.

Wondering what your release and adoption plans are for X3DJSONLD?  Will there be an announcement for Web3D/SIGGRAPH 2019 conferences?

As we conquer Java Python JSON EMCAScript C C++ C# codebase implementations of X3D Scene Access Interface (SAI), and add EXI compression encoding support to our libraries as well, we will have an amazingly broad foundation for X3D models being used anywhere.  X3D Unified Object Model (X3DUOM) helps us keep them aligned precisely.  If we hit our declared goals this year, then 2020 will become very interesting.

Gravitational center of all this work is implementing and writing up ISO specifications for X3D version 4.

==================================================
https://www.web3d.org/x3d4

X3D® Version 4 (x3dv4) is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.
==================================================

> Are Go, Rust options too?

==================================================
https://en.wikipedia.org/wiki/Go_(programming_language)

Go, also known as Golang,[14] is a statically typed, compiled programming language designed at Google[15] by Robert Griesemer, Rob Pike, and Ken Thompson.[12] Go is syntactically similar to C, but with memory safety, garbage collection, structural typing,[6] and CSP-style concurrency.

==================================================
https://en.wikipedia.org/wiki/Rust_(programming_language)

Rust is a multi-paradigm system programming language[14] focused on safety, especially safe concurrency.[15][16] Rust is syntactically similar to C++,[17] but is designed to provide better memory safety while maintaining high performance.
==================================================

If X3D SAI codebases for C C++ and C# are established, they are relevant.  Update reports expected at the conferences next month.

WEB3D 2019.
The 24th International ACM Conference on 3D Web Technology.
Los Angeles July 26 – July 28. Co-Located with  SIGGRAPH2019.
http://web3d2019.web3d.org

> Wondering!
> 
> John

Having X3D SAI implementations and specifications in the roadmap languages certainly brings many targets for achievement into reach someday.

I am wondering who else is helping the X3D Community and X3D Working Group on these magnificent tasks.

Moving ahead effectively in multiple directions at once, for a solid landing on X3Dv4, is our central challenge.

Thanks for your strategic thinking and many insights John.  All in, onward we go.

Have fun with X3D!  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 http://faculty.nps.edu/brutzman


More information about the x3d-public mailing list