<div dir="auto">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. <span style="font-size:inherit;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)">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.</span><div style="font-size:inherit"><br style="font-size:inherit"></div></div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">I could also try to guide people how to use my code to produce JavaScript app code based on X3DOM or X_ITE. <span style="font-size:inherit;float:none;display:inline!important;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)">I am particularly interested in aspects where renderers are involved. If someone has an example with JavaScript application programming </span><span style="font-size:inherit;float:none;display:inline!important;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)">rendering with X_ITE or X3DOM </span><span style="font-size:inherit;float:none;display:inline!important;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)">and SAI, that would be a great place to start. There have been attempts which stopped at PROTOs. Assistance is welcome!</span><br></div><div dir="auto"><br></div><div dir="auto">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. <span style="font-size:inherit;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)">Part of the issue is that setters and adders don’t currently return the Self/This/Result. They aren’t even functions! </span>My current JSON to scenegraph loader is currently stopped at statement handling and DEF/USE, if people want to help. </div><div dir="auto"><br></div><div dir="auto">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!</div><div dir="auto"><br></div><div dir="auto">John<br></div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Fri, Feb 6, 2026 at 7:14 PM Don Brutzman via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr"><div dir="ltr"><div><br></div><div><ul dir="auto"><li>Full expressive power that supports all model capabilities of the X3D Architecture,
equivalently matching XML, ClassicVRML, JSON, Compressed Binary Encoding, EXI, Turtle, and Java.<br></li></ul></div></div></div><br>
</blockquote></div></div>