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

John Carlson yottzumm at gmail.com
Wed Mar 4 10:53:38 PST 2020


This appears as an JavaScript SAI example.  Is this what we want to use as
our base?  My understanding is that X_ITE implements this.

https://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/ECMAScriptSaiAddDynamicRoutesIndex.html


On Wed, Mar 4, 2020 at 12:12 PM John Carlson <yottzumm at gmail.com> wrote:

> Again, we need an Hello World for JavaScript SAI so our X3dToES5.xslt can
> be modeled properly.
>
> On Wed, Mar 4, 2020 at 11:59 AM Don Brutzman <brutzman at nps.edu> wrote:
>
>> 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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200304/00f11a75/attachment-0001.html>


More information about the x3d-public mailing list