[x3d-public] Python X3D package synopsis

Andreas Plesch andreasplesch at gmail.com
Mon Aug 19 13:14:19 PDT 2019


>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
renderes/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>
> To: John Carlson <yottzumm at gmail.com>
> Cc: X3D Graphics public mailing list <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>
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190819/ec228a47/attachment.html>


More information about the x3d-public mailing list