<div dir="ltr">1.   We will only be promoting highly experimental use of a typesafe ES6 API on the server, at least until we research minifying or client-side caching methods. 16MB is too large for downloads. Reducing the implementations in interface code may help.  We can also research interfaces with TypeScript.<div><br></div><div>2.  Don asked for examples of the ProtoExpander running. Note that 8 of these do not generate good JavaScript, with the script processor. I did not want to present JavaScript examples, because the API is extremely experimental, but here goes:</div><div><br></div><div>Generated (run through protoexpander) examples are here:</div><div><br></div><div><a href="https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/ppp">https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/ppp</a> </div><div><br></div><div>the *.json file have been run  through the ProtoExpander (no Protos are present) and still contain the old script, I believe.  The *.js is expanded script, with major modifications.<br></div><div><br></div><div>Here's the original source. Note the files in the ppp file are ones with Protos originally in them:</div><div><br></div><div><a href="https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/data">https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/data</a><br></div><div><br></div><div>If you want try this yourself, use code similar to this script:</div><div><br></div><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/shell/runppp.sh">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/shell/runppp.sh</a> </div><div><br></div><div>(use this script at your own risk--I don't know all the places it dumps files).</div><div><br></div><div>Here's an experimental script with XML processing:</div><div><br></div><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/CompleteXMLPrototypeExpander.js">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/CompleteXMLPrototypeExpander.js</a> </div><div><br></div><div>I haven't run this for a long time.</div><div><br></div><div>Here's the ProtoPreProcessor file which runs the Proto Expander on a list of files:</div><div><br></div><div> <a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/PPP.js">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/PPP.js</a><br></div><div><br></div><div>Debugging is more helpful than "This doesn't work!"</div><div><br></div><div>Here's my current version of the ProtoExpander:</div><div><br></div><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/PrototypeExpander.js">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/PrototypeExpander.js</a></div><div><br></div><div>Thanks!</div><div> </div><div>John <br></div><div><br></div><div><br></div><div><br></div></div>