[x3d-public] glTF files end in .gltf and .glb (binary)

Joseph D Williams joedwil at earthlink.net
Fri Feb 4 15:48:24 PST 2022


➢ Maybe we should figure out how to do JavaScript declaratively?

ISO/IEC 19775-2 Index page (web3d.org)

This is how it is done declaratively. There is a dedicated set of these defined for ECMAScript. I think I understand the idea of declaring something and the concept of somehow doing it programmatically instead of using a text file that is so simplethat all you have to do is put the nodes and statements in a reasonable human-readable order, so these are those interfaces, accessible using ECMAScript or java, or whatever. All you gotta do is implement the SAI that runs in some tool that can do what needs to be done when you ask it to create the browser, send and receive data to create and sustain the scene interactions with internal and external host or partner and other things maybe connected to the browser host, and finally, kill or replace the scene when appropriate. 

A big idea is that there should be enough in the SAI to build both a highly efficient x3d authortime and runtime. 





From: John Carlson
Sent: Friday, February 4, 2022 3:03 PM
To: Joseph D Williams
Cc: Michalis Kamburelis; X3D Graphics public mailing list
Subject: Re: [x3d-public] glTF files end in .gltf and .glb (binary)

Joe, what I do in X3D JSON validation is give the user a chance to cancel the load operation if the JSON file doesn’t validate.   No, I don’t validate #sourceCode yet.  Script.js expects the JavaScript in a particular way, not any JavaScript.   And yes, I have not yet figured out a way not to do evals.   I’m fairly sure X_ITE still does evals too.  X3DOM wins here.

Maybe we should figure out how to do JavaScript declaratively?

Hmm

On Fri, Feb 4, 2022 at 4:19 PM Joseph D Williams <joedwil at earthlink.net> wrote:
If encoding an entire scenegraph in .json, then it should have a suffix like .x3dj for an x3d file encoded in Json. A precise schema should not be a problem just that the x3d json  appears to read more like vrml classic in structure the last I saw (container field name precedes the node name)?
Anyway, then a gltf file intended to be used directly as a node or field in a node of the scene should be named as an ordinary gltf file. 
Again, I don’t see the need a json language binding, like xml or classic since I really don’t like the typical formatting for json and a complicated scene would look like lots of whitespace. 
Sure ,if you know that form it is not that much harder to edit the text, just that since we can show that x3d can be encoded in json, just a proof that x3d is mostly fine, and that json is mostly very able to encode all or parts of x3d nodes and structures, No big deal or great reason to need a standard canonical form for encoding x3d in json except to find potential problems in  transcoding, which might give a clue if something deep wrong in x3d encoding. 
Thanks, 
Joe
 
 
 
From: John Carlson
Sent: Friday, February 4, 2022 12:29 PM
To: Michalis Kamburelis
Cc: X3D Graphics public mailing list
Subject: Re: [x3d-public] glTF files end in .gltf and .glb (binary)
 
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.
 
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.
 
I would welcome SVG JSON and HTML JSON standardization at this point.
 
John
 
On Fri, Feb 4, 2022 at 2:09 PM John Carlson <yottzumm at gmail.com> wrote:
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.
 
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.
 
So the JSON standards world is pretty much a mess.   Good python tools that worked extremely quickly were displaced by extremely slow alternatives.
 
In hindsight, I wish we were still at draft07.   Lots of good tool support in many languages.
 
There’s one good thing that I treasure in all of this, and that’s the Ajv package.   Please fund if you can!
 
I do not know if glTF ASCII is going through the same schema pains we are.
 
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.
 
John 
 
On Fri, Feb 4, 2022 at 12:36 PM Michalis Kamburelis <michalis.kambi at gmail.com> wrote:
Indeed, glTF files should have .gltf or .glb extensions. (See
https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#file-extensions-and-media-types
, """JSON glTF files SHOULD use .gltf extension and model/gltf+json
Media Type."""")

While .gltf is also valid JSON, using a generic .json extension for
them feels "unnecessarily generic". It would be like using .xml
instead of .x3d for models in X3D XML encoding.

That being said, why do you validate with X3D JSON schema all *.json?
Shouldn't X3D JSON also have a specific extension, not use generic
.json?

Regards,
Michalis

pt., 4 lut 2022 o 18:21 John Carlson <yottzumm at gmail.com> napisał(a):
>
> 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.
>
> Thanks, John
>
> $ grep file: results.txt |grep -i /gltf|sort -u
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTest.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AntiqueCamera.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AttenuationTest.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/DamagedHelmet.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/DragonAttenuation.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/GlamVelvetSofa.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/Lantern.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/Suzanne.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/ToyCar.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/TransmissionTest.json
>  file: C:/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/WaterBottle.json
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220204/e92bb0ec/attachment.html>


More information about the x3d-public mailing list