[x3d-public] X3D APIS for Qt, Python, ECMAScript

John Carlson yottzumm at gmail.com
Mon Mar 2 12:17:13 PST 2020


You might be considering this?

https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/DOM2JSONSerializer.js


That's how I translate DOM documents to JSON.

I am unclear on how to map X3D JSON onto any kind of class hierarchy, such
that X3D JSON dumps out with JSON.stringify.

This JS is not very well tested, but produced the same result as the
stylesheet on the JSON I tested.

John

On Mon, Mar 2, 2020 at 2:02 PM John Carlson <yottzumm at gmail.com> wrote:

> No, X3DJSONLD.ts is already part of X3DTSSAIL.
>
> I think what you folks want is in X3DTSSAIL, or something totally
> different from X3DJSONLD.  It would not be in the purpose of X3DJSONLD to
> provide X3DESAIL.
>
> If you want to pursue a JSON scenegraph, then either modify X3DJSAIL to
> provide it, or write X3duomToX3dESPackage.xslt  similar to the python
> stylesheet.  I am not a stylesheet programmer.  What I can do is provide a
> sample ECMAScript class implementing one part of X3DESAIL, so that the
> pattern may be followed.
>
> Here are the requirements I see:
>
> 1. Provide  a JSON scenegraph API
> 2. Provide a TypeScript scenegraph API
>
> May I suggest that we don't need a JSON API?  That's already in
> ECMAScript, guys.   What might be needed I think can be found in route.js
> under X3DJSONLD/src/main/node/route.js (check it out).
>
> For the TypeScript API, checkout the repository:
> https://github.com/coderextreme/JavaSceneAuthoringInterfaceLibrary when
> you run maven, it should leave files in target/ts.
>
> Also, please checkout the nashorn version of X3DJSAIL already on
> sourceforge.  *The thing that's missing here is a node.js version. I
> started something under www.web3d.org/x3d/stylesheets/node
> <http://www.web3d.org/x3d/stylesheets/node>, but it's incomplete. I have
> modifications that I haven't checked in yet.*
> This was something that skipped my mind.
>
> The basic interface is to have a "node" constructor that takes a object
> for attributes, and an array for children.
>
> Good luck!
>
> John
>
> On Mon, Mar 2, 2020 at 1:26 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Do we want to add X3DJSONLD.java to X3DTSSAIL?   Is that what I’m missing?
>>
>> On Mon, Mar 2, 2020 at 1:18 PM John Carlson <yottzumm at gmail.com> wrote:
>>
>>> Here is X3DTSSAIL:
>>>
>>> https://coderextreme.net/X3DTSSAIL.zip
>>>
>>> Does this satisfy the desire for ECMAscript, or do we want a native JSON
>>> scenegraph?   Can we add it to X3DJSAIL?   We should be able to extract
>>> JSON and parse JSON already?   I think?   Do you need examples?
>>>
>>> I will spend some time looking at x3d.py generation.
>>>
>>> John
>>>
>>> On Mon, Mar 2, 2020 at 8:44 AM Don Brutzman <brutzman at nps.edu> wrote:
>>>
>>>> Hi John.  Can we meet via phone some time this week to discuss?  Happy
>>>> to learn more and support as able.
>>>>
>>>> 1. X3D Unified Object Model (X3DUOM) is a thorough representation of
>>>> X3D scene graph.  If something needs to be added, can consider that.
>>>>
>>>> Qt is cross platform, seems to have C++ innards similar to primary
>>>> python distribution.
>>>>
>>>> I found your work as follows but not sure what to do with it:
>>>>
>>>> https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/examples/gui.py
>>>>
>>>> https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/examples/gui.x3d
>>>>
>>>> Wondering what the project's primary goal is, writing a new LGPL X3D
>>>> scene editor in Qt?  Or nonrendering API X3DQtSAIL?
>>>>
>>>> Or perhaps you are thinking of something that adds X3D to the following
>>>> project?
>>>>
>>>> * The Future of Qt 3D
>>>>    https://www.qt.io/blog/the-future-of-qt-3d
>>>>
>>>> * Qt 3D Studio 2.6 Released
>>>>    https://www.qt.io/blog/qt-3d-studio-2.6-released
>>>>
>>>> * Qt 3D Studio Manual
>>>>    https://doc.qt.io/qt3dstudio/index.html
>>>>    https://doc.qt.io/qt3dstudio/3d-assets.html
>>>>    https://doc.qt.io/qt3dstudio/graphics.html
>>>>
>>>> ---
>>>>
>>>> 2. Python concern: shouldn't your new work be a separate project to
>>>> avoid creating problems and synchronization difficulties in the current
>>>> project in the /stylesheets/python directory.  This would let x3d.py evolve
>>>> without unintended clobbers emerging in the future.
>>>>
>>>> Am also thinking we should finally rename the X3D Python Package to
>>>> X3DPSAIL, matching X3DJSAIL both in acronym and concept since it already
>>>> matches in functionality.  Probably long overdue.  We also now have time to
>>>> write a paper for Web3D 2020 since the conference was postponed to November.
>>>>
>>>> ---
>>>>
>>>> 3. Next: also had a old+new idea to consider following recent
>>>> discussion with Katie Unger of Synergy Software Design (cc:ed).  What if we
>>>> used X3DUOM and autogenerated an ECMAScript SAI for X3D called X3DESAIL
>>>> that patterned X3D scene graph accessors following your X3DJSONLD patterns,
>>>> was primarily oriented towards Node.js, and also added utility methods
>>>> facilitating use in combination with X3DOM X_ITE and Three.js.  That
>>>> harmonization might be something widely useful.
>>>>
>>>> TIA for your efforts, as always best wishes for your work.
>>>>
>>>> v/r Don
>>>>
>>>>
>>>> On 3/1/2020 3:02 PM, John Carlson wrote:
>>>> > I have added gui.x3d and gui.py as examples of translating Qt
>>>> Designer XML (I think) to "X3D"-like python.  This is after a "roll my own"
>>>> xmltopy.py.  There's still a lot of work to do, namely, we need to add some
>>>> text node processing to X3dToPython.xslt.   We probably want to create a
>>>> RpgToPython.xslt for that.
>>>> >
>>>> > I also added a build target for gui.py.
>>>> >
>>>> > Ideally, either Jeff or I will write the RpgToPython.xslt and
>>>> associated RPGuomToRpgPythonPackage.xslt.
>>>> >
>>>> > Any inputs everyone has are welcome, especially in the realm of
>>>> creating a user friendly editor for RPGUOM like Qt Designer/WxFormBuilder.
>>>> >
>>>> > Code is found here on sourceforge:
>>>> >
>>>> > x3d-code/www.web3d.org/x3d/stylesheets/python <
>>>> http://www.web3d.org/x3d/stylesheets/python>
>>>> >
>>>> > Thanks for all the contributions that made this project even possible!
>>>> >
>>>> > John
>>>> >
>>>> >
>>>> >
>>>> > If someone wants to contribute XMLSchemas or X3DUOM-like unified
>>>> object models which support Qt Designer and/or RPG object model, they would
>>>> be most welcome.
>>>> >
>>>> > I'll probably be working on an RPGUOM next.
>>>> >
>>>> > John
>>>>
>>>> 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
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200302/3eaeffa1/attachment-0001.html>


More information about the x3d-public mailing list