[X3D-Ecosystem] C/C++/C# standard open source? Stylesheets for Python?
Don Brutzman
don.brutzman at gmail.com
Mon Jan 26 13:51:37 PST 2026
Regarding C/C++/C# open source, no such library has yet been shared. As
with our autogenerated Java and Python libraries, these are strong
candidates for autogeneration once proper design patterns are written.
Once written, library testing using the X3D Example Archives would be
essential for success and straightforward to perform.
Regarding X3D loaders in Python for X3DPSAIL, none has been written yet.
Please be aware that .x3d files are written in valid XML. Refreshed TODO
list:
- Python X3D Package x3d.py, X3D Python Scene Access Interface Library
(X3DPSAIL)
- The x3d.py Python X3D Package supports programmers with Python
interfaces and objects for standards-based X3D programming, all as open
source.
- https://www.web3d.org/x3d/stylesheets/python/python.html#TODO
🔖 <https://www.web3d.org/x3d/stylesheets/python/python.html#TODO> TODO
[image: to top] <https://www.web3d.org/x3d/stylesheets/python/python.html#>
Lots! Much progress continues. For a release-summary log, please see history
log for this page
<https://sourceforge.net/p/x3d/code/32962/log/?path=/www.web3d.org/x3d/stylesheets/python/python.html>
.
- *TODO:* clean up x3d.html
<https://www.web3d.org/x3d/stylesheets/python/x3d.html> documentation
autogenerated by pydoc <https://docs.python.org/3/library/pydoc.html>.
- *TODO:* We need a "Getting Started" tutorial on this page. This is
a good opportunity... who wants to help?!
- *TODO:* utility support for loaders from XML (.x3d or .xml),
ClassicVRML (.x3dv), VRML97 (.wrl), and JSON (.json or .x3dj) files.
- *TODO:* distribution support for Jupyter Notebook
<https://jupyter.org/> (initial example works), Apache Zeppelin
<https://zeppelin.apache.org/> notebook, Anaconda
<https://www.anaconda.com/> distribution of Python, and other
data-science platforms.
To facilitate library review, I was recently able to autogenerate Python
documentation for x3d.py using the pydoc tool.
- https://www.web3d.org/x3d/stylesheets/python/x3d.html
Please note that each X3D node has the following methods listed.
Methods defined here:
> *HTML5*(self, indentLevel=0)
> Provide HTML5 output serialization using modified
> XML encoding with no singleton self-closing elements.
> *JSON*(self, indentLevel=0, syntax='JSON')
> Provide X3D <https://www.web3d.org/x3d/stylesheets/python/x3d.html#X3D>
> output serialization using JSON encoding (usable for .json file suffix).
> *VRML*(self, indentLevel=0, VRML97=False)
> Provide X3D <https://www.web3d.org/x3d/stylesheets/python/x3d.html#X3D>
> output serialization using VRML encoding (usable for .x3dv or .wrl file suffix).
> *XML*(self, indentLevel=0, syntax='XML')
> Provide Canonical X3D
> <https://www.web3d.org/x3d/stylesheets/python/x3d.html#X3D>
> output serialization using XML encoding (usable for .x3d file suffix).
Am thinking the HTML5 method is no longer needed, this was written when
X3DOM had trouble with self-closing elements.
Thanks for all efforts that might improve x3d.py.
all the best, Don
--
X3D Graphics, Maritime Robotics, Distributed Simulation
Relative Motion Consulting https://RelativeMotion.info
On Sun, Jan 25, 2026 at 4:18 AM John Carlson <yottzumm at gmail.com> wrote:
> I guess I didn't send this earlier.
>
> I did see the standards progress page. For C/C++/C#, are any libraries
> open source? I’m thinking COIN 3D, OpenInventor, H3D. Maybe others. I
> see there’s an ISO documentation for each language, but apparently the
> standard isn’t open source???? I’m looking for opportunities for X3DJSONLD
> serialization. OpenInventor (COIN 3D) looks super complex.
>
> For X3DPSAIL, can you point me at an example of loading XML or DOM into a
> scenegraph? Maybe I missed something???? I’m looking for something like
> CreateX3DFromString()??? I realized I can create Python from XML, just
> like my tools can go from JSON to DOM to Python; but my toolchain isn’t
> Python. Running stylesheets in Python would be a great example.
>
> Looking here:
>
>
> https://www.web3d.org/x3d/stylesheets/python/examples/PythonX3dSmokeTests.py
>
>
> On Sun, Jan 25, 2026 at 12:19 AM Don Brutzman <don.brutzman at gmail.com>
> wrote:
>
>> Standards planning status appears on the following page.
>>
>> - X3D Standards Progress | Web3D Consortium
>> <https://www.web3d.org/x3d/progress>
>> - https://www.web3d.org/x3d/progress
>>
>> Scroll past overview prose to find links to each version completed, in
>> progress and planned.
>>
>> all the best, Don
>> --
>> X3D Graphics, Maritime Robotics, Distributed Simulation
>> Relative Motion Consulting https://RelativeMotion.info
>>
>>
>> On Fri, Jan 23, 2026 at 7:44 PM John Carlson via X3D-Ecosystem <
>> x3d-ecosystem at web3d.org> wrote:
>>
>>> A quick search reveals this page:
>>>
>>> https://wiki.web3d.org/wiki/index.php/X3D_Python_Language_Binding
>>>
>>>
>>> This link on the page is dead?
>>>
>>> https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019777
>>>
>>>
>>> Btw: both 19776-4 and 19776-5 are titled JSON encoding?????
>>> ==================================
>>>
>>> I could start writing a Python binding standard? Except we have three
>>> versions, one based on GraalPy/X3DJSAIL and one based on “normal”
>>> python-X3DPSAIL, and if course H3D, which AFAIK, has C++ underneath? I
>>> believe CGE may also have plans for Python.
>>>
>>> GraalPy examples are here:
>>>
>>>
>>> https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/graalpy/net/coderextreme
>>>
>>> Python examples are on the X3D archives, some duplicated here:
>>>
>>>
>>> https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/python/net/x3djsonld/data
>>>
>>> It seems like the pure python implementation (pythonic) has more sway
>>> and implementations, so I am willing to capitulate, even though, in my
>>> experience, X3DJSAIL generates better JSON! It was never really my idea to
>>> go with a pure python version though, but I don’t know how to install
>>> GraalPy in Blender! I will pay anyone $100 if they can make blender run
>>> GraalPy for import/export addons on Windows! I’m guessing X3DPSAIL can run
>>> stylesheets as well? Perhaps it’s time to convert stylesheets to pure
>>> Java, with a stylesheet of course!
>>>
>>> As far as support, GraalPy is supported by Oracle, and Python is
>>> supported by Microsoft (Does Guido still work there?).
>>>
>>> It would be very nice to have a renderer for X3DJSAIL and X3DPSAIL (see
>>> previous post)!
>>>
>>> Has anyone used Xj3D from GraalPy?
>>>
>>> ==================================
>>>
>>>
>>> On Fri, Jan 23, 2026 at 8:52 PM John Carlson <yottzumm at gmail.com> wrote:
>>>
>>>> Apologies, I just noticed I meant X3D python binding.
>>>>
>>>> On Fri, Jan 23, 2026 at 8:50 PM John Carlson <yottzumm at gmail.com>
>>>> wrote:
>>>>
>>>>> What’s the status of the Python encoding standard? Would my
>>>>> participation help?
>>>>>
>>>>> Instead of spending time on Blender currently, my thought is to go
>>>>> back to developing an “X3D” JSON to CGE scenegraph converter, as that can
>>>>> be developed beyond DOM loading. Does anyone know a good Pascal LLM? I
>>>>> do find begin/end rather tedious.
>>>>>
>>>>> If there’s a lot of demand for a Blender HAnim export currently, I
>>>>> will reconsider. Or X3D to glTF conversion.
>>>>>
>>>>> John
>>>>>
>>>> --
>>> X3D-Ecosystem mailing list
>>> X3D-Ecosystem at web3d.org
>>> http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-ecosystem_web3d.org/attachments/20260126/906bec3f/attachment-0001.html>
More information about the X3D-Ecosystem
mailing list