[x3d-public] Follow-up of available programming models

John Carlson yottzumm at gmail.com
Fri Feb 6 20:40:31 PST 2026


I would also like to suggest that there are other ways to use X3D from
other programming languages, including JRuby, Clojure (lein), GraalPy and
GraalJs.   I have JavaScript which transpiles JSON to the above.  Since
Java (Graal) supports all of the above, it’s fairly easy to graft X3D
scenes written in those programming languages on top of X3DJSAIL and Java.
I realize that I’ve left out Scala.  If we had some enthusiastic Ruby
programmers, I bet we could make the JRuby code more rubiesque.  Obviously,
I can provide a class mapping interface, and you can program in these
languages yourself.


There’s also a compiled .dll that is available on sourceforge for X3D C++
binding; there are also other C++ bindings.  If people are generally
interested in C++, I have 2 serializers that convert JSON to C++ and
furthermore, to DOM, which can work with X3DJSAIL well.  I have less
confidence with the C++ because I’ve never linked the object files to the
.dll, but I recall round-tripping the DOM back to XML or JSON.  AFAIK, C++
is the only one of the above that does rendering.

I could also try to guide people how to use my code to produce JavaScript
app code based on X3DOM or X_ITE.  I am particularly interested in aspects
where renderers are involved.   If someone has an example with JavaScript
application programming rendering with X_ITE or X3DOM and SAI, that would
be a great place to start.   There have been attempts which stopped at
PROTOs.  Assistance is welcome!

I did try something with Pascal, but I got “too many variables” or “too
long” as it was a single function.  Someone could modify that to use
variants/variant records.  Part of the issue is that setters and adders
don’t currently return the Self/This/Result.  They aren’t even functions!  My
current JSON to scenegraph loader is currently stopped at statement
handling and DEF/USE, if people want to help.

I am eager to show my transpilers work with other languages, realizing I am
an application programmer, not a library or API programmer.   I have made
an attempt at a Go API, but I am having issues building applications for
the SAI, due to transpiling issues.  I believe the GO API is based on
X3DPSAIL, but separate.  If someone wants to enhance the API with current
version of X3DPSAIL, cool!

John

On Fri, Feb 6, 2026 at 7:14 PM Don Brutzman via x3d-public <
x3d-public at web3d.org> wrote:

>
>
>    - Full expressive power that supports all model capabilities of the
>    X3D Architecture, equivalently matching XML, ClassicVRML, JSON, Compressed
>    Binary Encoding, EXI, Turtle, and Java.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20260206/f49fda58/attachment.html>


More information about the x3d-public mailing list