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

John Carlson yottzumm at gmail.com
Tue Mar 3 10:22:42 PST 2020


I currently add @, - in the constructor.

On Tue, Mar 3, 2020 at 12:20 PM John Carlson <yottzumm at gmail.com> 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> 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> 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> 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/20200303/dfc13704/attachment-0001.html>


More information about the x3d-public mailing list