[x3d-public] Moving away two language solutions for X3DJSAIL.

John Carlson yottzumm at gmail.com
Thu Apr 15 14:55:59 PDT 2021


Agreed that the Subject line seems incorrect.  I mean the X3DJSAIL 
solutions that use python+java and javascript+java.  This is for 
~/pythonSAI and ~/X3DJSONLD.  I didn't see a version of jjs in OpenJDK 
15, but jjs seems fine in OpenJDK 14, OpenJDK 14 is more up-to-date than 
GraalVM, I think, which is derived from Java 8/11.

It looks like one has to do a build for pyjnius on Linux.   So I've been 
looking for ways to deploy pyjnius to my local python 3 installation.    
I know I can set PYTHONPATH.

John

On 4/15/21 10:49 AM, Don Brutzman wrote:
> (Subject line seems incorrect, Java X3DJSAIL and Python x3d.py 
> X3DPSAIL are maintained and active)
>
> On 4/9/2021 3:51 AM, John Carlson wrote:
>>
>> I've been planning to deprecate pythonSAI.  This is the python API that
>> uses pyjnius to access X3DJSAIL.  This is because the web3d consortium
>> has come out with their own SAI candidate x3d.py, which is much better
>> documented and uses more features from X3DUOM.  Not only that, I don't
>> think that pyjnius works on Linux very well!  What I plan on doing is
>> moving my PythonSerializer.js towards using x3d.py.
>
> Yes, x3d.py (aka X3DPSAIL) is actively maintained and is autogenerated 
> from X3D Unified Object Model (X3DUOM).
>
> When there are utility methods of interest in Java X3DJSAIL that might 
> be suitable for python as well, we can translate and add them.
>
>> In general, there's some dissatisfaction with using non-Java languages
>> with X3DJSAIL.  Nashorn got tossed by Oracle, and the npm java package
>> likely requires an old version of python for node-gyp.
>
> Nashorn and jjs were deprecated for removal in JDK 15, and are gone in 
> the latest Java JDK 16.  Link from JDK15 release notes:
>
> * OpenJDK15 release notes
>   https://openjdk.java.net/projects/jdk/15/
>
> * JEP 372: Remove the Nashorn JavaScript Engine
>   https://openjdk.java.net/jeps/372
>
>> The good news is, we're coming out with new, one-language solutions.
>> Not only x3d.py, but there's X3DOM and X_ITE for JavaScript. Also, the
>> es6x3d project was started by me.  Es6x3d offers classes and new get/set
>> methods compatible with es6. Meanwhile GraalVM is still around in the
>> short term for Nashorn folks trying to migrate.  If you need a
>> conversion from X3D JSON or X3D XML to a particular programming language
>> or encoding and can't stomach XSLT, let me know!  I don't mind
>> volunteering on non-X3D projects, but I prefer ASCII or UTF-8 encodings!
>
> It will be good to finish our upgrade of X3D JSON Schema using X3DUOM 
> to match JSON draft-07 with testing by multiple tools. Let's persevere 
> please.
>
> X3DJSAIL has -toJSON output.  JSON output still needs to be written 
> for x3d.py, this is a recursive serializer for each node and so the 
> pattern for autogeneration isn't particularly difficult.
>
> Having an ECMAScript SAI usable with Node.js that is autogenerated 
> (i.e. always correct) similar to X3DJSAIL and X3DPSAIL would be good.
>
> Perhaps this could be a distillation of your work as a concise package 
> while innovative extensions continue.
>
>> I already have X3D JSON <-> STL and PLY -> X3D JSON in mini prototypes.
>
> Adding STL and PLY support to Java X3DJSAIL and x3d.py X3DPSAIL is 
> definitely a goal.  Hoping we can integrate in Java first, that is 
> where testing best occurs.
>
>> Is anyone doing AMF yet?  Looks like there's a lot more interest in STL
>> than AMF!
>
> There are some AMF conversion classes in Xj3D, written by Alan Hudson 
> I believe.  Some refreshes to the following codebase are underway and 
> we will soon test under OpenJDK 16.
>
> * Xj3D viewer: NPS source
>   https://savage.nps.edu/Savage/developers.html#Xj3D
>
>> For my STL -> JSON project, does anyone have experience with inverseCSG
>> or CSGNet?  Thanks! https://arxiv.org/pdf/1912.11393.pdf
>>
>> John
>
> the last update there appears to be 3 years ago.
>
> * https://github.com/Hippogriff/CSGNet
>
> all the best, Don



More information about the x3d-public mailing list