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

Don Brutzman brutzman at nps.edu
Wed Mar 4 09:59:18 PST 2020


this is a general question, i'm a javascript user/tester but no expert in some of those deep waters!

On 3/3/2020 10:20 AM, John Carlson wrote:
> Don, would this be an appropriate set of calls for  a node.js scenegraph?
> 
>              new TouchSensor({"@description":"within ProtoBody"},[,
>                new IS({},[,
>                  new connect({"@nodeField":"description","@protoField":"description"},[]),
>                  new connect({"@nodeField":"enabled","@protoField":"enabled"},[])])])])]),
> 
> Or should i append the @, -, etc in the constructor?
> 
> John
> 
> On Mon, Mar 2, 2020 at 2:24 PM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
> 
>     Also, see this example of the beginnings of a class hierarchy for X3DESAIL, plus a scenegraph (combined for efficiency).
> 
>     https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/node/examples/HelloWorldProgramOutput.js
> 
>     Good luck!
> 
> 
>     On Mon, Mar 2, 2020 at 2:17 PM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
> 
>         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 <mailto: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 <mailto: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 <mailto: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 <mailto: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> <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 <mailto: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
> 

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



More information about the x3d-public mailing list