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

John Carlson yottzumm at gmail.com
Mon Mar 2 10:08:33 PST 2020


I too am interested in Godot for our RPG project, but we are targeting non
programmers.

I echo your desire for a JSON scenegraph with proxies for routes.   I think
a small addition of a get proxy to X3DJSONLD’s route.js may get us to that
target.   The advantage of that is we’d be able to use paths to objects in
the route.

I busted my brain over the JSON PrototypeExpander for X3D.   I suggest
further work on this for XML objects would be a good extension for X3DOM.
In other words, we can convert JSON PROTOs to XML, and then bring them
through a new HTML PROTO expander, and the JSON one will be deprecated.
Also, there needs to be a disciplined set of test cases for the proto
expander.   I can’t just take an adhoc set of examples, we need
mathematical rigor in the unit tests.   This is the first step for any work
on the proto expander.

I believe the first step of making a JSON scenegraph is editing the proxy
code in route.js.

route.js provides both a two level and a path oriented approach to routes.
  I have already suggested adding a path oriented route extension to X3d,
but I haven’t written up the text yet.   Suggestions on where to add the
text to the standard are welcome.   Also, I believe this will require an
MFScalar type similar to MFString.

On Mon, Mar 2, 2020 at 10:31 AM Andreas Plesch <andreasplesch at gmail.com>
wrote:

> > Date: Mon, 2 Mar 2020 06:44:44 -0800
> > From: Don Brutzman <brutzman at nps.edu>
>
> ...
>
> > 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.
>
> Let's see how utility methods of a X3DESAIL could be useful.
>
> An EcmaScript Scene Authoring Library presumably would just use a JS
> object which corresponds to the JSON encoding for its internal, in
> memory representation of a scene graph. So it would be straightforward
> to write back out JSON for loading into x3dom and x_ite. It would also
> very be useful to generate xml encoding since John indicated limited
> availability to maintain the json loaders John generously provided for
> x3dom and x_ite. This way X3DESAIL could be used as a json loader.
>
> Both x3dom and x_ite have their own in memory representations of the
> scene graph and its state (stacks, execution contexts, viewpoint
> offsets, time, events ..). For X3DESAIL to become useful in managing
> and accessing a running scene, it would need a fuller model of the
> running scene graph which seems unlikely.
>
> For three.js, it should be possible to generate a limited, more
> static, js code encoding which three.js can render. In effect, this
> would mean implementing a limited x3d browser using three.js. Did you
> have more specific ideas in that regard ?
>
> I became interested in how Godot (godotengine.org), a completely free,
> MIT licensed, multi-platform, open game engine, and X3D could mesh.
> Godot has in some ways a similar scene graph to x3d in that it allows
> for multiparenting (unlike three,js), has signals (events) and is
> flexible enough for protos, eg. there is little difference between
> native nodes and custom scripted nodes. It supports multiple scripting
> languages (C#, and GDScript builtin) including Ecmascript (by an
> extension). There is a potential for an EcmaScript SAI and a script
> node for a godot based X3D browser. Perhaps X3DESAIL could be useful
> there as well.
>
> -Andreas
>
> > 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
> >
> >
> >
> > ------------------------------
> >
> > Subject: Digest Footer
> >
> > _______________________________________________
> > x3d-public mailing list
> > x3d-public at web3d.org
> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> >
> >
> > ------------------------------
> >
> > End of x3d-public Digest, Vol 132, Issue 3
> > ******************************************
>
>
>
> --
> Andreas Plesch
> Waltham, MA 02453
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200302/ba275aa7/attachment-0001.html>


More information about the x3d-public mailing list