<html xmlns:v="urn:schemas-microsoft-com:vml" 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;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle19
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Hi John. Each programming language has a great variety of features and alternatives like you suggest. It is easy to get overwhelmed by overlapping jargon and complexity. The key qualities needed are clarity and re-usability, I think. This provides us a straight path through all of it.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Our next working group focus will be using X3D4 Architecture for updating the abstract API defined by 19775-2 Scene Access Interface (SAI), and then further rippling across all our various programming-language specifications: Javascript Java Python C C++ C# whatever. We will also update specification documents for file encodings that support JSON (subset of Javascript), EXI compression, Turtle, whatever.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Am expecting this to be pretty repetitive and do-able, which is good. Thus an author’s X3D4 model can be consistent and clearly understandable and equivalently re-usable across all of these programming dialects and file formats. Then gurus and plain folks can just re-use interactive X3D graphics models, which is what everyone really wants.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Classic stumbling blocks like “this programming language is better than that one” are perhaps simply boring, from a shared group perspective. Let’s make the best of each world available and easy, however each set of experts want to do it.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Onward we go. However you like to have fun… have fun with X3D! 8)<o:p></o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>all the best, Don<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>-- <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>X3D graphics, virtual worlds, Navy robotics https://</span> <span style='font-size:10.0pt;font-family:"Courier New"'>faculty.nps.edu/brutzman<o:p></o:p></span></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> x3d-public <x3d-public-bounces@web3d.org> <b>On Behalf Of </b>John Carlson<br><b>Sent:</b> Thursday, June 23, 2022 7:03 PM<br><b>To:</b> X3D Graphics public mailing list <x3d-public@web3d.org><br><b>Subject:</b> [x3d-public] Potentially important work: Java/Python/JavaScript encoding parsers<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We all know about SAI bindings and X3D encodings.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Can I suggest an alternative? Has anyone considered limited parsers for X3D Java/Python/JavaScript SAI examples? That is, don’t use a full parser/compiler to read examples, use a limited one to reduce the attack surface of SAI examples.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I believe there is precedent for this. In the early 1990’s Tim Sullivan of Independence technologies devised a way to either compile or interpret specialized apps, like CRUD forms. It was called iScreen, and one could use a variety of toolkits, SunView, XView and Motif to write cross-platform apps. I took the idea and we developed a programming language that could be written and read from flat files and C++ variables. We had a primitive parser, or you could compile the program with a full blown C++ parser and link it to a virtual machine. Today, Cameron Browne is using a “class grammar” in his Ludii project.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>The point is to treat X3D examples half like programs and half like program encodings. One should be able to “compile” an encoding example to native code. This is probably a lot like JIT compiling.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Does X3D have a native JIT compiler? Java? Can we improve on code we produce from X3dToJava.xslt to do something even faster? Can we strip away the object model, or compile the object model to native code?<o:p></o:p></p></div></div></body></html>