<div dir="ltr">JSON import/export has been shown in the X3DJSONLD app.   We have partial working c/c++ (X3DJSONLD) based on examples found on sourceforge, which I presume work.   We have a new C/C++/C# interface that needs to be tested.  We don't know if any new/upated examples are forthcoming from Myeong.<div><br></div><div>So I'm trying to get up to speed on C/C++ way of programming to the interfaces that Myeong provided.  I am hoping that someone picks up the C# examples.</div><div><br></div><div>I'll speak with you in private, Joe, probably sometime today.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 22, 2022 at 3:42 PM Joseph D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_-8280597912172071801WordSection1"><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li class="gmail-m_-8280597912172071801MsoListParagraph" style="margin-left:0in">then we can convert X3D models<u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">OK, seems now I see (at least) two big ‘convert’ works. <u></u><u></u></p><p class="MsoNormal">One is simply to show that x3d canonical syntax can be represented in various alternative encodings, one being json, and that the encoding can then have a schema in that encoding, and that the encoding can be returned to canonical x3d syntax for validation. <u></u><u></u></p><p class="MsoNormal">Two is to validate new scripting languages and how they can be used in an x3d script node. <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Funny enough, I think Two is the most simple, just show working code to show functionality of the SAI for important browser and scene context using a scripting language other than ECMAScript or java, the same way that ECMAScript and java works in an execution context. C and Cwhatever have been and are important. Especially when developing complex prototypes when you needed max simulation power for graphics and math algorithms. Much of this need is now exposed in the html browser by the gl, and along with the incredible speedups of java and ECMAScript running in the html browser making x3d in html almost as many possibilities as running x3d ‘standalone’ browser directly in our www. However, when doing complicated stuff, like stuff that performs complex realistic behaviors, authors may still need to go deeper and faster into the C. <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">The One has plenty of examples, simply present a systematic determination of best practice conversion of an existing, known to be validated canonical xml encoding into the alternate syntax, for example json, then back. That is what was done for the xmlization of vrml. In a way, this is also the thing for gltf2 also. However, the gltf2 has its own schema for each of its features, and may not apply directly or completely to any x3d nodes, so are distinct from any json schema that may be derived directly from xml schema (if possible?). <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">However, my overall feeling is that Yes, x3d should formulate a specific standard for importing data for any field of any node using a json form where the x3d user code for the field of the node names the json file and the field to be imported for that field. The author should have control of those names and one json file may contain named data for more than one field of an x3d node, and/or contain named data fields used in more than one x3d node.  <u></u><u></u></p><p class="MsoNormal">This is general purpose json import/export for x3d not necessarily related to gltf2. The gltf forms serve special cases where an independent standards body has decided to define some general-purpose data items commonly used in industrial graphics operations using json form. Of course x3d finds these gltf mostly very useful because, of course, they carry data used in everyday x3d. <u></u><u></u></p><p class="MsoNormal">The general case of json import/export where the author decides how to actually obtain/deliver authortime/runtime json data structures from/to a json file for some purpose whenever from wherever adds json power (whatever that may turn out to be) in x3d. <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks, <u></u><u></u></p><p class="MsoNormal">Joe<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:brutzman@nps.edu" target="_blank">Brutzman, Donald (Don) (CIV)</a><br><b>Sent: </b>Monday, March 21, 2022 1:56 AM<br><b>To: </b><a href="mailto:joedwil@earthlink.net" target="_blank">Joseph D Williams</a>; <a href="mailto:yottzumm@gmail.com" target="_blank">John Carlson</a>; <a href="mailto:x3d-public@web3d.org" target="_blank">X3D Graphics public mailing list</a><br><b>Cc: </b><a href="mailto:brutzman@nps.edu" target="_blank">Brutzman, Donald (Don) (CIV)</a><br><b>Subject: </b>RE: [x3d-public] C# opportunities, X3DJSONLD/JS or XSLT</p></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Yes that is the spirit, one conversion at a time, one step at a time.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">As shown and reported repeatedly with JSON Java Python Turtle etc., reinforcing John’s p:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="1" type="a"><li class="gmail-m_-8280597912172071801MsoListParagraph" style="margin-left:0in">first need a codebase to run models and to test them,<u></u><u></u></li><li class="gmail-m_-8280597912172071801MsoListParagraph" style="margin-left:0in">this should match a draft specification,<u></u><u></u></li><li class="gmail-m_-8280597912172071801MsoListParagraph" style="margin-left:0in">then we can write a converter,<u></u><u></u></li><li class="gmail-m_-8280597912172071801MsoListParagraph" style="margin-left:0in">then we can convert X3D models and test them in new language,<u></u><u></u></li><li class="gmail-m_-8280597912172071801MsoListParagraph" style="margin-left:0in">then we get each one working and matching/improving the draft language specification for X3D<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Once this process is established satisfactorily for a few X3D models, then the conversion-validation tasks can be added to our build scripts for 3900+ X3D Examples models.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Each of those model conversions occurs one at a time.  Each of the successes or failures are reviewed one at a time.  Each bug that occurs is corrected and improved one at a time.  Rinse lather repeat.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Library authors and users then have an extremely high level of confidence that the code works, and a thorough build log reveals any bugs that still need fixing.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Proven process for success.  Have fun with X3D!  8)<u></u><u></u></p><div><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, Navy robotics https://</span> <span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" target="_blank">faculty.nps.edu/brutzman</a><u></u><u></u></span></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal"><b>From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> <b>On Behalf Of </b>Joseph D Williams<br><b>Sent:</b> Sunday, March 20, 2022 5:16 PM<br><b>To:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>>; X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br><b>Subject:</b> Re: [x3d-public] C# opportunities, X3DJSONLD/JS or XSLT<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li class="gmail-m_-8280597912172071801MsoListParagraph" style="margin-left:0in">The goal is to convert 3000+ xml documents to c#.<u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Please show me the first one you wish to convert. <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks,<u></u><u></u></p><p class="MsoNormal">Joe<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal"><b>From: </b><a href="mailto:yottzumm@gmail.com" target="_blank">John Carlson</a><br><b>Sent: </b>Sunday, March 20, 2022 12:52 PM<br><b>To: </b><a href="mailto:x3d-public@web3d.org" target="_blank">X3D Graphics public mailing list</a><br><b>Subject: </b>[x3d-public] C# opportunities, X3DJSONLD/JS or XSLT<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">There is an opportunity for a C#/JavaScript/XSLT programmer to contribute to X3D.<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">We would like to serialize SAI C# code from DOM documents, using JavaScript.  There are examples to follow, including Java, C and C++ serializers (perhaps c/c++ are incomplete)<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Alternatively, we could write XSLT instead of JavaScript.  We have many examples to follow, including Python.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Alternatively, we could write C# instead of XSLT or JavaScript.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">The goal is to convert 3000+ xml documents to c#.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">John<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p></div></div></blockquote></div>