<div dir="auto">There may be a point of confusion between X3DJSONLD.js (and other languages) and the rest of X3DJSONLD.   The former is the JSON to DOM document load and export class.   There are additional parts of X3DJSONLD which start with the JSON encoding and produce SAI compatible language binding examples: In the past these were reliant on X3DJSAIL, but I’ve been working on a new x3djsonld.py which skips the DOM step and relies on x3d.py, and is still pretty much a WIP.</div><div dir="auto"><br></div><div dir="auto">To be clear, X3DJSONLD will probably never be SAI, except as a way to load JSON into a scenegraph, a single, uninteresting method or two.</div><div dir="auto"><br></div><div dir="auto">If you are interested in developing a JavaScript/ECMAScript/TypeScript SAI, I suggest you look at my es6x3d repository on GitHub.  But I would recommend you look at X_ITE and X3DOM first.</div><div dir="auto"><br></div><div dir="auto">FYI </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 4, 2022 at 2:28 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto">One thing I tried to adopt when developing X3DJSONLD was a “standards neutral” approach.   That means it would be applicable for X3D, XSeen, glTF, SVG, HTML, etc.  in the spirit of D3.js.   So it isn’t an SAI interface.  Someone else should work on that who already has a scenegraph built.</div><div dir="auto"><br></div><div dir="auto">X3D JSON schema is a patch in X3DJSONLD at this point, if the XML/DOM output isn’t validated.   I have not heard of XML validation in X3DOM or X_ITE.</div><div dir="auto"><br></div><div dir="auto">I would welcome SVG JSON and HTML JSON standardization at this point.</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 4, 2022 at 2:09 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto">We use .json because we started that way, not for any reasonable reason.   I agree we should put in effort to change, I think some things like this may currently be hard-coded into X3DOM at this point.</div><div dir="auto"><br></div><div dir="auto">We don’t have any X3D JSON standard at this point, so often we make decisions that may require a lot of rework, such as changing property names for cross language compatibility, or simple decisions, like changing default field values.   Ultimately we’ll settle on a standard, but everything is pretty much up in the air, probably because we’re waiting for a JSON Schema standard.   Tools are starting to fail behind the drafts of the JSON schema standards, for example, there is no Java implementation of the 2020-12 draft that I know of.   We thought we had a good Java tool, but in hindsight, we probably jumped the gun.</div><div dir="auto"><br></div><div dir="auto">So the JSON standards world is pretty much a mess.   Good python tools that worked extremely quickly were displaced by extremely slow alternatives.</div><div dir="auto"><br></div><div dir="auto">In hindsight, I wish we were still at draft07.   Lots of good tool support in many languages.</div><div dir="auto"><br></div><div dir="auto">There’s one good thing that I treasure in all of this, and that’s the Ajv package.   Please fund if you can!</div><div dir="auto"><br></div><div dir="auto">I do not know if glTF ASCII is going through the same schema pains we are.</div><div dir="auto"><br></div><div dir="auto">Also Andreas did some good work in the JSON loading in SAI for X3DOM.  I suggest adopting it for the JavaScript and perhaps other language bindings.</div><div dir="auto"><br></div><div dir="auto">John </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 4, 2022 at 12:36 PM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Indeed, glTF files should have .gltf or .glb extensions. (See<br>
<a href="https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#file-extensions-and-media-types" rel="noreferrer" target="_blank">https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#file-extensions-and-media-types</a><br>
, """JSON glTF files SHOULD use .gltf extension and model/gltf+json<br>
Media Type."""")<br>
<br>
While .gltf is also valid JSON, using a generic .json extension for<br>
them feels "unnecessarily generic". It would be like using .xml<br>
instead of .x3d for models in X3D XML encoding.<br>
<br>
That being said, why do you validate with X3D JSON schema all *.json?<br>
Shouldn't X3D JSON also have a specific extension, not use generic<br>
.json?<br>
<br>
Regards,<br>
Michalis<br>
<br>
pt., 4 lut 2022 o 18:21 John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> napisał(a):<br>
><br>
> I believe glTF files end in .gltf and .glb (binary), not .json.   Please confirm and update glTF .json files found in archives.  See files below in X3dForAdvanceModeling.   They do no pass X3D JSON schema.<br>
><br>
> Thanks, John<br>
><br>
> $ grep file: results.txt |grep -i /gltf|sort -u<br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTest.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTest.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AntiqueCamera.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AntiqueCamera.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AttenuationTest.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AttenuationTest.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/DamagedHelmet.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/DamagedHelmet.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/DragonAttenuation.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/DragonAttenuation.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/GlamVelvetSofa.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/GlamVelvetSofa.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/Lantern.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/Lantern.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/Suzanne.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/Suzanne.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/ToyCar.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/ToyCar.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/TransmissionTest.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/TransmissionTest.json</a><br>
>  file: C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/WaterBottle.json" rel="noreferrer" target="_blank">www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/WaterBottle.json</a><br>
> _______________________________________________<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></div>
</blockquote></div></div>
</blockquote></div></div>