<div dir="ltr"><div>Thanks for steady interest and many efforts on JSON for X3D.</div><div><br></div><div>Here is a summary of plans and path taken, repeatedly announced and unchanged for several years:</div><div><div></div><div><ul><li>We are developing each X3D file-encoding specification in order. Getting XML, ClassicVRML and Compressed Binary ready and consistent is a big step, so that the follow-on file-encoding specifications can have similar form and corresponding functionality.</li><li>Next encoding specifications are EXI, JSON, and Turtle (for Semantic Web).</li><li>We will autogenerate an X3D JSON Schema from X3DUOM, no doubt starting with patterns John has established.</li><li>We have a huge existing test suite of JSON models and will be able to verify and validate thoroughly.</li><li>We will align with whatever JSON Schema is most authoritative.</li><li>I do not know what ISO will say about using a draft JSON schema - that is not a standard.</li><li>It is worrisome and very strange that the JSON schema is still draft after so many years. Why? What is broken or missing?</li></ul><div>Just found a possible response to their "draft version" problem here;</div></div></div><div><ul><li>Jason Desrosiers, "Towards a stable JSON Schema" - 20 OCT 2022</li><li>Why is it a "draft"?, The real problem, Our solution, Standards considerations, The bottom line</li><li><a href="https://json-schema.org/blog/posts/future-of-json-schema">https://json-schema.org/blog/posts/future-of-json-schema</a></li></ul><div>Worth reading. The JSON-Schema group is a "collective" and so not sure what any of that actually means, even if they have some sponsorship and are doing the right things from an open technical perspective. (A good question to apply is "what happens if politically things go very wrong - community schism, hostile industry player, etc.?") Still seems like a pretty shaky business but Web3D and X3D will press on.</div></div><div><br></div><div>Having the weight of Web3D Consortium as a formal Standards Development Organization (SDO) and Class A Liaison at International Standards Organization is a powerful thing. Membership has value! If anyone has not yet joined, protecting and advancing your intellectual investment, please consider doing so.</div><div><ul><li>Join the Web3D Consortium</li><li><a href="https://www.web3d.org/membership/join">https://www.web3d.org/membership/join</a></li></ul><div>Be careful having fun with X3D JSON! 🤔 </div></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, Oct 4, 2025 at 2:47 PM John Carlson via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</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 dir="auto">Read through some of this as well, <div><a href="https://www.web3d.org/x3d/stylesheets/X3dToJson.html" target="_blank">https://www.web3d.org/x3d/stylesheets/X3dToJson.html</a></div><div dir="auto"><br></div><div dir="auto">Note that in addition to X3DOM and X_ITE, there is also a prototype JSON .x3dj loader (JSON to DOM to XML) for Castle:<div><a href="https://github.com/coderextreme/jsonmodelviewer/" target="_blank">https://github.com/coderextreme/jsonmodelviewer/</a></div><div dir="auto"><br></div><div dir="auto">But typically, a Pascal programmer would leverage this on their project, it’s not in the main model viewer yet that I know of. Note that Castle, in the past, has had special URLs, indicating a X3dToCastle.xslt or special flags to add Castlisms. But I think this is unnecessary for the base model viewer.</div><div dir="auto"><br></div><div dir="auto">Further work would involve direct JSON to scenegraph conversion (first attempt failed).</div></div><div dir="auto"><br></div><div dir="auto">John </div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 4, 2025 at 3:52 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</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><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 4, 2025 at 3:22 PM Don Brutzman via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">If progress continues as planned, we should be able to have a draft XML DTD/Schema (and hopefully JSON Schema too) in the spring in order to start building, validating, and evaluating models with such new features.</span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">Don:</span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">Any time you want help with validating JSON documents, let me know. I can always rev-up my x3droundtrip project as well!</span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">I also note that jsonlint provides schema validation that I apparently missed!</span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">Here’s a version which supports <div dir="auto" style="font-family:arial,sans-serif"><span style="font-family:arial,sans-serif;font-size:19px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;background-color:rgba(0,0,0,0);border-color:rgb(34,34,34);color:rgb(34,34,34);display:inline">draft </span><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">JSON Schema 2020-12:</span></div></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><div style="font-family:arial,sans-serif"><a href="https://www.npmjs.com/package/@prantlf/jsonlint" style="font-family:arial,sans-serif" target="_blank">https://www.npmjs.com/package/@prantlf/jsonlint</a></div><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">If you can work with uncertainties in npm (check package.json and package-lock.json dependencies and pinned versions, make sure you’re not running postinstall scripts). Note that npm already checks for vulnerabilities. And if you have GitHub, it also checks for issues in the package*.json files.</div><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">I have not seen these features in ant, maven or gradle, but I have seen that maven repositories do report vulnerabilities.</div><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">One issue I haven’t resolved is choosing emoji’s versus X3D URNs in url fields. It’s a matter of iri-reference verses uri-reference in the format properties in the schema.</div><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">Note that I think you’ll probably find many issues with MFNode vs SFNode in X3dToJson.xslt which I haven’t reported. Most of my XML to JSON conversions have migrated to Holger’s x3d-tidy.</div></span></div></div></div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">John </div><br></span></div></div></div>
</blockquote></div></div>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div>