<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;}
.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><div class=WordSection1><p class=MsoNormal>I am changing the imports in the Python API to narrow the amount of 1) memory consumed, I think 2) reduce namespace hogging. 3) increase the number of file descriptors used, perhaps</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am not sure about performance or not, but the old way of doing it remains, so we can test.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thus the front of your code will look something like</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>import classpath</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.X3DObject import X3DObject as X3D</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.headObject import headObject as head</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.metaObject import metaObject as meta</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.SceneObject import SceneObject as Scene</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.ProtoDeclareObject import ProtoDeclareObject as ProtoDeclare</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.ProtoInterfaceObject import ProtoInterfaceObject as ProtoInterface</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.ProtoBodyObject import ProtoBodyObject as ProtoBody</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.ProtoInstanceObject import ProtoInstanceObject as ProtoInstance</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.ISObject import ISObject as IS</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.connectObject import connectObject as connect</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.fieldObject import fieldObject as field</p><p class=MsoNormal>from org.web3d.x3d.jsail.Core.fieldValueObject import fieldValueObject as fieldValue</p><p class=MsoNormal>from org.web3d.x3d.jsail.Shape.ShapeObject import ShapeObject as Shape</p><p class=MsoNormal>from org.web3d.x3d.jsail.Geometry3D.SphereObject import SphereObject as Sphere</p><p class=MsoNormal>from org.web3d.x3d.jsail.Geometry3D.CylinderObject import CylinderObject as Cylinder</p><p class=MsoNormal>from org.web3d.x3d.jsail.Geometry3D.BoxObject import BoxObject as Box</p><p class=MsoNormal>from org.web3d.x3d.jsail.Grouping.TransformObject import TransformObject as Transform</p><p class=MsoNormal>…</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>And the rest should remain the same.  We still need to generate the example source files with from’s… and classpath import.  This is going to be a trick if I pull this off. I think the trick will be figuring out some logic to find the correct package hierarchy for imports, hopefully for JavaScript, like creating a JSON object which has a key of class name, and a value of the fully qualified class name that I can use to easily look up element tags from an X3D DOM data structure.  I already have a shell script that does this to write the python classes, I just need to play with it some to create the JSON.   Great!</p></div></body></html>