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

John Carlson yottzumm at gmail.com
Mon Mar 2 08:39:42 PST 2020


Note that I have not seriously edited this message.

Also present in PySide2 distribution:

pyside2-uic which converts xml produced by pyside2-designer to python!
Thanks Jeff H. for pointing that out.   Note that it would be instructive
if we could contribute our python to xml converter to Qt.   This would be a
second XML target.

However, I found Quarter in the Coin3d repositories—qt/openinventor toolkit
bridge.

Anyway, I want to move far, far away from C++ if possible.

So there might be a way to create a scene graph with pyside2-designer.  I
was able to bring in one of my python RPG classes inherited from QLabel.
Woohoo!  So it seems possible to bring x3d.py under the designer’s wing to
possibly build scenegraphs with a different xml schema.   This would be
different xml and python than is currently produced with X3D.

We would be using the X3DUOM .xsd I believe, to create an allied object
model for RPGs.   I don’t think we want to mess with the X3D standard.

I’m not really thinking about creating an API standard out of X3DJSONLD
unless there is a true demand.   Too prototypy.   In other words,
 X3DJSONLD should remain as is, primarily a generic JSON <-> DOM converter.

If you want to discuss separating out other components of X3DJSONLD, I’m
open to that, but first I need to discuss the various components of
X3DJSONLD it would seem?

I do think we can take products out of X3DJSONLD and move them to
sourceforge, X3DOM, or X_ITE, namely X3DJSONLD.js, PrototypeExpander.js.
Indeed, there is already an X3DJSONLD.java which uses Java DOM.   There is
still my Script.js  which might be integrated with a little elbow grease.

I have already offered to port X3DJSONLD.js to other languages such as C++
and python, I think this may be the best move as opposed to hauling around
a huge JavaScript library ”X3DESAIL” which no one will use because load
times in browsers will be to slow, although this may be ameliorated by
properly constructed imports and modules.

As no one has seemed to have attempted to use my TypeScript/Jsweet version
of X3DJSAIL, I think there is little interest in the community in a
TypeScript or JavaScript version.   There isn’t so much work that there’s a
need for someone to start looking at the Jsweet version.   No need to start
a brand new project.   In my mind, X3DESAIL already exists, and people
should attempt to get it working.

I also think we should enhance JSON routes with get/set proxies.   I
believe this is near completion.   I do not know what might occur if we add
a get proxy, whether we can use the original object for getting updated
values.

As you may see, I have a different set of priorities for X3DJSONLD.

I would be willing to work on X3DESAIL if the primary lingua Franca was
JSON and not XML.

I really need someone to provide technical leadership since my ideas seem
broken lately.

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/5ba5afa3/attachment-0001.html>


More information about the x3d-public mailing list