<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:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        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;}
/* List Definitions */
@list l0
        {mso-list-id:745149444;
        mso-list-type:hybrid;
        mso-list-template-ids:221426990 -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="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>I currently have at least 6 versions of X3DJSONLD.js (X3D JSON -> DOM aka JSONParser.js aka X3D JSON Loader): X3DJSONLD’s for conversions, X3DOM’s, X_ITE’s, X3DJSAIL’s Java and JavaScript versions, and an alpha C++ version.  I am considering separating X3DJSONLD.js into a separate package (probably called X3dJson2Dom) that the others will rely on, and have official releases, etc.  I need to know what is expected in this package.  Here are likely candidates:</p><p class=MsoNormal><o:p> </o:p></p><ol style='margin-top:0in' start=1 type=1><li class=MsoNormal style='mso-list:l0 level1 lfo1'>X3D JSON -> DOM translation (current, stays)</li><li class=MsoNormal style='mso-list:l0 level1 lfo1'>DOM Serialization to XML (current, may leave)</li><li class=MsoNormal style='mso-list:l0 level1 lfo1'>X3D JSON document validation (half present—currently relies on JQuery or http client or node to load Schemas—there are no current plans to bring to X3DOM or X_ITE, unless there is demand.  If there’s no demand, I currently plan to excise this function from X3DJSONLD.js, and move loadX3DJS() into loaderJQuery.js and convertJSON.js in X3DJSONLD…wow!).  The main conversion utility will be replaced with loadJsonIntoXml (probably will add a DOM function as well, and will move the Xml version out if DOM serialization gets moved out—I don’t really want to move DOM serialization out).</li><li class=MsoNormal style='mso-list:l0 level1 lfo1'>Proto Expansion of X3D JSON for X3DOM (comes before translation to DOM)</li><li class=MsoNormal style='mso-list:l0 level1 lfo1'>Script Preprocessor of X3D JSON for X3DOM (does not change X3D JSON or DOM, pure JS)</li><li class=MsoNormal style='mso-list:l0 level1 lfo1'>Inline URL loading (commented out—uses loadURLs, so loadURLs is currently unused, candidate for removal)</li><li class=MsoNormal style='mso-list:l0 level1 lfo1'>C++ version</li><li class=MsoNormal style='mso-list:l0 level1 lfo1'>Java version</li><li class=MsoNormal style='mso-list:l0 level1 lfo1'>DOM -> X3D JSON translation (is it possible to write a single set of functions to translate both ways???)</li><li class=MsoNormal style='mso-list:l0 level1 lfo1'>Browser functions</li></ol><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal>What would you like to see in this package, and would you accept maintenance separate from X3DOM, X_ITE, X3DJSAIL, and X3DJSONLD and other browsers for the C++ version?   What is currently in X3DJSONLD’s X3DJSONLD.js that is currently unacceptable?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/X3DJSONLD.js">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/X3DJSONLD.js</a></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Also, if you have experience creating an npm package and uploading it to npm sites, creating releases of software, CDN, testing X3DJSONLD.js, etc., I may want to call on you.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Jeff, can you look into creating this new repository, X3dJson2Dom, from the existing X3DJSONLD repository, without the supporting files? I think the essentials are X3DJSONLD.js, package.json, X3DJSONLD.java and the src/main/cplusplus folder.  Maybe create top level folders of src/js, src/java, src/cplusplus, then construct a build script (an npm script is okay) for Java (compile and create a jar on popular platforms).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>