[x3d-public] Python X3D package synopsis, TODO items

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Tue Aug 20 08:01:39 PDT 2019


Your assessment is correct.  Export methods are needed.  Will work on it, might take a week or two.  Thanks for the priority.

The implementation will likely perform depth-first traversal of the scene graph, so it will be integral to the design pattern.

I will add .x3d validation of serialization outputs to the build script so that we have a high level of Quality Assurance (QA) for this functionality.

Already doing toX3D, toClassicVRML, toVRML97() and toHtmlX3dom/toHtmlX_ITE in X3DJSAIL, will be taking a similar approach in X3DJSAIL.

Just updated the TODO list, further requests welcome.

	Python X3D Package x3d.py: TODO
	https://www.web3d.org/x3d/stylesheets/python/python.html#TODO

Have fun with Python X3D!   8)


On 8/19/2019 1:14 PM, Andreas Plesch wrote:
>  From what I understand, it is possible to construct a full, in memory representation of an X3D scenegraph with x3d.py. It may also be possible to modify an existing, in memory Python representation using x3d.py. Since renderers/browsers only understand vrml/x3d encodings, I am looking for a method to serialize the Python x3d.py in memory representation. The Pyjnius based Python encoding had such a method but I cannot find anything for x3d.py. Is there way to generate xml from a x3d.py constructed scene ?
> 
> Thanks, Andreas
> 
> 
>     Date: Thu, 15 Aug 2019 07:03:31 +0000
>     From: "Brutzman, Donald (Don) (CIV)" <brutzman at nps.edu <mailto:brutzman at nps.edu>>
>     To: John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>>
>     Cc: X3D Graphics public mailing list <x3d-public at web3d.org <mailto:x3d-public at web3d.org>>
>     Subject: Re: [x3d-public] Possible new method suggester service based
>              on X3DUOM; Python X3D package synopsis
>     Message-ID: <9ab68137-764a-a81a-0868-6bee9b49893c at nps.edu <mailto:9ab68137-764a-a81a-0868-6bee9b49893c at nps.edu>>
>     Content-Type: text/plain; charset="utf-8"
> 
>     Hi John.  Yes this diversity of mapToMethod copies has made things a bit confusing, not least of which are the obscure names themselves.  If recalling correctly, I believe that the "mapToMethod" sources were a key part of our herculean only-80%-successful Pyjnius attempts to implement an X3D Python implementation in Java.
> 
>     Meanwhile together with Loren Peitso I've implemented a full Python X3D package in python, x3d.py, that is much more pythonic and applies a design that abandoned all overtones of prior java/javascript APIs for X3D.   It is generated from X3DUOM and has fairly thorough smoke tests. Have also written a new X3dToPython.xslt spreadsheet which turned out to be pretty easy to adapt.  Python is quite strict, which is also good.  This has been applied to full X3D Examples Archives to good effect, the vast majority self-validate satisfactorily. So, if it survives upcoming scrutiny, we might be back on the playing field aiming for wide deployment and usage of X3D Python.
> 
>     Recent X3DUOM work added "field" and "IS" to X3DUOM and X3D XML Schema, which was relatively straightforward and sensible.  However that took several weeks of refactoring for X3DJSAIL to cope with, that was deployed during the past week.  All Java smoke tests again pass.
> 
>     Current deployed Python X3D package x3d.py build is 0.0.2 and trying to finish deployment of 0.0.3 to PyPi.  Will pst report multiple X3DUOM/X3DJSAIL/X3D Schema/X3D Ontology updates when that finishes, fingers crossed, hopefully this week.  You now have most details in this message; current workload here remains immense so i will be staying relatively quiet while working over next few weeks.
> 
>     Links:
> 
>     https://www.web3d.org/x3d/content/examples/X3dResources.html#Programming
>     https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/build.xml
>     https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToPython.xslt
>     https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3duomToX3dPythonPackage.xslt
> 
>     https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/
>     https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/x3d.py
>     https://pypi.org/project/x3d
> 
>     Apologies for relative quietness on all this work - certainly not a secret but recent months have been way busy... most of this was announced on x3d-public and in slideset in time for Web3D 2019 and SIGGRAPH 2019 conferences.  Small incremental progress continuing.
> 
>     Effective PyPi distribution can eventually lead to Anaconda and Jupyter Notebook distributions too, so there will be no shortage of future Python X3D work to pursue!
> 
>     Please start looking it over when possible.  Will also be discussing in Japan with Masaki Aono at upcoming ISO SC224 meeting for X3D-related specifications.  At recent SIGGRAPH meeting of Web3D Korea Chapter, Myeong Won Lee also demoed a native Python X3D player, that would certainly be interesting to align and bundle together if appropriate.
> 
>     Suggested path forward for the next month:  as the release unfolds, let's review closely and do a lot more README activity, and then work on making this pure-python candidate answer requirements as best possible.  Your list below can certainly help.
> 
>     When time permits, for thoroughness we can also see how prior work on pynius/nashorn/etc. efforts can be aligned or settled in an archival status.  there is a lot of goodness in that work we did, hopefully we can at least document that for potential further progress someday.  if nothing else certainly there are more Python X3D alternatives to compare now.  We'll see.
> 
>     p.s. am noticing warnings in current Java 12 build outputs that say jjs may get moved in future releases.  Rust never sleeps...
> 
>     Hope all this helps.  Thanks for all efforts to get this far, onward we go together.  Have fun with X3D!  8)
> 
> 
>     On 8/12/2019 12:13 PM, John Carlson wrote:
>      > I have discovered I have **many** mapToMethod2.js spread all over the place on sourceforge, GitHub, etc.
>      >
>      > Can we create a service for providing the contents of mapToMethod.js and mapToMethod2.js served up as an interweaved JSON object?
>      >
>      > I suggest working on the java/nashorn branch to provide this on a JavaScript server using node.js and/or php.? Does anyone want to be maintainer of the server? We can deploy to Heroku as an example.
>      >
>      > I have many setIS moved to mapToMethod.js from mapToMethod2.js.? Many things need to be retested.
>      >
>      > I noticed that http was replaced in many places with https (not a problem that I know of).
>      >
>      > Once we fix mapToMethod*.js, we can move to fieldTypes.js.
>      >
>      > Steps:
>      >
>      >  1. Define use cases/user stories
>      >  2. Design and Document API
>      >  3. Implement reference implementation
>      >  4. Test reference implementation
>      >  5. Rewrite clients to use services
>      >  6. Test clients
>      >  7. Deploy to production node.js and php servers.
>      >
>      > I need help with 1 and 2.
>      >
>      > Is there an easier way to accomplish maintain a single master?
>      >
>      > Thanks,
>      >
>      > John
> 
> Andreas Plesch
> Waltham, MA 02453
> 
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> 


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