<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;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.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;}
--></style></head><body lang=EN-US link=blue vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Hi John,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> X3DJSAIL seems to have an X3DUOM programmer's interface,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The x3d programming interface is called the SAI and has two features. First, the external sai which can, under control of an external host of connection, can create and interface with scene(s) using exactly the same x3d user code as Second, the internal sai which can create and control the scene by direct interface with the scene graph and interface with the external host or connection, and so on or vice-versa. So, I guess, if sail generates or supports code that can use the ‘external’ sai controls and/or generate or support code that can be used as an internal Script node then the sail can implement x3d sai behaviors using x3d object model.  </p><p class=MsoNormal>Joe</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>Thursday, April 29, 2021 2:05 AM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>[x3d-public] X3DUOM is part of X3DJSAIL</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I'm not sure if I should announce this or not, but here goes!</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>X3DJSAIL seems to have an X3DUOM programmer's interface, so potentially, </p><p class=MsoNormal>one wouldn't have to touch XML at all, just Java (not sure about Python </p><p class=MsoNormal>at this point).  Right now, most of the code is generated from JAXB, but </p><p class=MsoNormal>I could see more possibilities if code could be weaved (ala Aspects), or </p><p class=MsoNormal>subclassed.  For example, one could write a Java program to generate </p><p class=MsoNormal>JSON schemas or ... my mind's brain dead for tonight, I'll let other </p><p class=MsoNormal>people chime in for uses of a Java-based X3DUOM programmer interface.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Goodnight everyone!</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><o:p> </o:p></p><p class=MsoNormal>_______________________________________________</p><p class=MsoNormal>x3d-public mailing list</p><p class=MsoNormal>x3d-public@web3d.org</p><p class=MsoNormal>http://web3d.org/mailman/listinfo/x3d-public_web3d.org</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>