<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1148009238;
        mso-list-type:hybrid;
        mso-list-template-ids:-131461360 -1 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Outstanding:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Figure out a way to run “npm install” from ant. It should be first in the build.all</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Please help.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Friday, September 14, 2018 8:18 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: PyJNIus and X3DJSAIL examples</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve added the pip installs and the python X3DUOM calls. I’ve upgraded the schemas as well.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Friday, September 14, 2018 8:02 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: PyJNIus and X3DJSAIL examples<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here is my first attempt at providing a build.xml script for pythonSAI which may be adapted for x3d/content folders:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="https://github.com/coderextreme/pythonSAI/blob/master/build.xml">https://github.com/coderextreme/pythonSAI/blob/master/build.xml</a> target build.all has 3 sections:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ol style='margin-top:0in' start=1 type=1><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>RunSaxon to convert X3D XML to X3D JSON (replace with your favorite converter)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Json2py.js to convert X3D JSON to python (replace with X3dToPython.xslt)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Python to run the python (figure out a short way to call it)<o:p></o:p></li></ol><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>These all work on files in the current folder. But in particular the second one uses a JavaScript program and PythonSerializer.js to convert JSON to python.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Please provide feedback on needed changes to generated python files.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>You may use the build.xml under the provided license, since it’s based on yours.  Please double check that the license is complete.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Pull requests are welcome.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am trying to duplicate what I do in https://github.com/coderextreme/pythonSAI/blob/master/make.sh, but will probably add python installation found there in make.sh to build.xml in the future (or you can).   I think someone who hasn’t installed python etc yet should write that part of the script (add the execs to pip installer).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Anyway this is a start that you can start adding to your x3d/content scripts, after making the included files less concrete.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Collaboration on build.xml welcome.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a><br><b>Sent: </b>Friday, September 14, 2018 5:40 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: PyJNIus and X3DJSAIL examples<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John this all sounds great!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Might you write an Ant build.xml target to create PyJNIus build, then i can integrate into the build process?  Or just provide scripts of whatever sort, and I can create the Ant targets.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>i think that after the current round of X3dToJava.xslt improvements and corresponding strict validation of values in field/fieldValue elements, that will be an excellent stable point to test from.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Can you create a HelloWorld.py corresponding to HelloWorld.x3d .json .java etc. that we can use to consider design patterns.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There will be more work to do (of course) but those constructs will move us quite far ahead and prepare the decks for action.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Am hoping that I might be able to help focus on this in a few more weeks, maybe a month from now.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks for your steady work on these possibilities.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 9/13/2018 9:18 AM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> I am somewhat back on my feet after a hospitalization and I’m ready to contribute to PyJNIus and X3DJSAIL examples.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Please review some PyJNIus .py examples @ https://github.com/coderextreme/pythonSAI and provide feedback.  One thing I’d like to see is some chaining of methods.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Is X3dToPython.xslt in the works yet? Can we try to produce similar code? It should be a fairly simple port.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> One next step is to run the converter/serializer on the x3d resources examples.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Do we want to integrate the pythonSAI into X3DJSAIL similar to how we did Nashorn?<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> I am willing to discuss this tomorrow.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Thanks,<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> John<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don<o:p></o:p></p><p class=MsoNormal>-- <o:p></o:p></p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<o:p></o:p></p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>