<div><div dir="auto">I suggest people run my unit tests and confirm that they are still working properly, and then go into seeing if we can see modifications on the original to object (called node I think).</div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 2, 2020 at 12:28 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">Here is the route code I actually wrote unit tests for.   It has a get proxy, but we might be able to unify proxy action and node with a different set/get proxy.   I recall that it didn’t appear that setters were working on the original JSON???  Or was it the getters that didn’t work?</div></div><div dir="auto"><br></div><div dir="auto">This should be standalone JS.</div><div dir="auto"><br></div><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/route.js" target="_blank">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/route.js</a></div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 2, 2020 at 12:08 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">I too am interested in Godot for our RPG project, but we are targeting non programmers.</div><div dir="auto"><br></div><div dir="auto">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.     </div></div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">I believe the first step of making a JSON scenegraph is editing the proxy code in route.js.</div><div dir="auto"><br></div><div dir="auto">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.</div><div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 2, 2020 at 10:31 AM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> Date: Mon, 2 Mar 2020 06:44:44 -0800<br>
> From: Don Brutzman <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
<br>
...<br>
<br>
> 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.<br>
<br>
Let's see how utility methods of a X3DESAIL could be useful.<br>
<br>
An EcmaScript Scene Authoring Library presumably would just use a JS<br>
object which corresponds to the JSON encoding for its internal, in<br>
memory representation of a scene graph. So it would be straightforward<br>
to write back out JSON for loading into x3dom and x_ite. It would also<br>
very be useful to generate xml encoding since John indicated limited<br>
availability to maintain the json loaders John generously provided for<br>
x3dom and x_ite. This way X3DESAIL could be used as a json loader.<br>
<br>
Both x3dom and x_ite have their own in memory representations of the<br>
scene graph and its state (stacks, execution contexts, viewpoint<br>
offsets, time, events ..). For X3DESAIL to become useful in managing<br>
and accessing a running scene, it would need a fuller model of the<br>
running scene graph which seems unlikely.<br>
<br>
For three.js, it should be possible to generate a limited, more<br>
static, js code encoding which three.js can render. In effect, this<br>
would mean implementing a limited x3d browser using three.js. Did you<br>
have more specific ideas in that regard ?<br>
<br>
I became interested in how Godot (<a href="http://godotengine.org" rel="noreferrer" target="_blank">godotengine.org</a>), a completely free,<br>
MIT licensed, multi-platform, open game engine, and X3D could mesh.<br>
Godot has in some ways a similar scene graph to x3d in that it allows<br>
for multiparenting (unlike three,js), has signals (events) and is<br>
flexible enough for protos, eg. there is little difference between<br>
native nodes and custom scripted nodes. It supports multiple scripting<br>
languages (C#, and GDScript builtin) including Ecmascript (by an<br>
extension). There is a potential for an EcmaScript SAI and a script<br>
node for a godot based X3D browser. Perhaps X3DESAIL could be useful<br>
there as well.<br>
<br>
-Andreas<br>
<br>
> TIA for your efforts, as always best wishes for your work.<br>
><br>
> v/r Don<br>
><br>
><br>
> On 3/1/2020 3:02 PM, John Carlson wrote:<br>
> > 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.<br>
> ><br>
> > I also added a build target for gui.py.<br>
> ><br>
> > Ideally, either Jeff or I will write the RpgToPython.xslt and associated?RPGuomToRpgPythonPackage.xslt.<br>
> ><br>
> > Any inputs everyone has are welcome, especially in the realm of creating a user friendly editor for RPGUOM like Qt Designer/WxFormBuilder.<br>
> ><br>
> > Code is found here on sourceforge:<br>
> ><br>
> > x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/python" rel="noreferrer" target="_blank">www.web3d.org/x3d/stylesheets/python</a> <<a href="http://www.web3d.org/x3d/stylesheets/python" rel="noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/python</a>><br>
> ><br>
> > Thanks for all the contributions?that made this project even possible!<br>
> ><br>
> > John<br>
> ><br>
> ><br>
> ><br>
> > 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.<br>
> ><br>
> > I'll probably be working on an RPGUOM next.<br>
> ><br>
> > John<br>
><br>
> all the best, Don<br>
> --<br>
> Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>
> X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
><br>
><br>
><br>
> ------------------------------<br>
><br>
> Subject: Digest Footer<br>
><br>
> _______________________________________________<br>
> x3d-public mailing list<br>
> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
><br>
><br>
> ------------------------------<br>
><br>
> End of x3d-public Digest, Vol 132, Issue 3<br>
> ******************************************<br>
<br>
<br>
<br>
-- <br>
Andreas Plesch<br>
Waltham, MA 02453<br>
</blockquote></div></div>
</div>
</blockquote></div></div>
</blockquote></div></div>