[x3d-public] X3D Specifications ready for review: XML, ClassicVRML, and Compressed Binary Encodings

Don Brutzman don.brutzman at gmail.com
Mon Oct 6 10:16:38 PDT 2025


Glad you are a member!

Searching for "web3d license" instantly reveals

   - Web3D Consortium: License
   - https://www.web3d.org/license

More information about license can be found at

   - X3D Scene Authoring Hints: License
   -
   https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#license

Have fun with X3D! 😀

all the best, Don
-- 
X3D Graphics, Maritime Robotics, Distributed Simulation
Relative Motion Consulting  https://RelativeMotion.info


On Mon, Oct 6, 2025 at 8:25 AM John Carlson <yottzumm at gmail.com> wrote:

> Note that I’ve joined the Consortium.  I will try to add Web3D Consortium
> license to the enclosed links, if someone can give me a link to the recent
> license.  I did see a submission form, probably for conferences ???
>
> Also, it would be good to know any metadata required.
>
> My JSON schemas are here, but I am unaware of the correct metadata to add
> for licensing.
>
> https://github.com/coderextreme/x3dvalidate/tree/master/schemas
>
> Really, all the data is from X_ITE and X3DUOM, so I’m not even sure if I
> control the licensing.
>
> I think the schemas could be enhanced in a few areas, documentation,
> licensing, and ref naming.   Suggestions are welcome, in schema form.
> While Roy probably named his refs by hand, I’m looking for something
> automated.  Perhaps we could leverage autonaming using a web tool, but i
> doubt if that’s repeatable.  I believe the JSON schema community has
> addressed documentation, but I am blissfully unaware of such things.
>
> I do know that the specification currently includes iri-reference, so I’ll
> probably be looking at whether ajv-formats now includes iri-reference:
>
> “uri:A string instance is valid against this attribute if it is a valid
> URI, according to [RFC3986
> <https://json-schema.org/draft/2020-12/json-schema-validation#RFC3986>].
> uri-reference:A string instance is valid against this attribute if it is
> a valid URI Reference (either a URI or a relative-reference), according to [
> RFC3986
> <https://json-schema.org/draft/2020-12/json-schema-validation#RFC3986>].
> iri:A string instance is valid against this attribute if it is a valid
> IRI, according to [RFC3987
> <https://json-schema.org/draft/2020-12/json-schema-validation#RFC3987>].
> iri-reference:A string instance is valid against this attribute if it is
> a valid IRI Reference (either an IRI or a relative-reference), according
> to [RFC3987
> <https://json-schema.org/draft/2020-12/json-schema-validation#RFC3987>].
> uuid:A string instance is valid against this attribute if it is a valid
> string representation of a UUID, according to [RFC4122
> <https://json-schema.org/draft/2020-12/json-schema-validation#RFC4122>].”
>
>
>
> John
>
> On Sun, Oct 5, 2025 at 6:14 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> No need for response!  I’m realizing I should get the bboxSize for a
>> couple of humanoids in order to scale position interpolators.
>>
>> Since there are multiple drafts of JSON meta-schema (aka JSON schema), i
>> have been keeping track of the X3D JSON schema generation code versions.  I
>> personally would work from 2020-12 backwards if we want to cover all drafts.
>>
>>
>> https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema.py draft
>> 7.
>>
>>
>> https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema2019-09.py
>>
>>
>>
>> https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema2020-12.py
>>
>>
>> I believe Roy’s schema was draft 7, or I upgraded.
>>
>> Some of the draft 7 code was carried (updated) in other versions:
>>
>>
>> https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/geoSystem.schema
>>
>>
>> Autogeneration of this part of X3D JSON schema is highly desired, and
>> should be sought first.
>>
>> If X3DUOM v3.0 to v3.3 is also kept up to date, we should be able to
>> easily set up JSON schemas for several versions of X3D architecture as
>> well.  This probably means 20+ schemas to cover all cases.   At one point,
>> I was covering all recent X3D architecture versions, 3.0 through 4.0.
>>
>> This is a skeleton script to do that, for JSON draft schema 2020-12.
>>
>>
>> https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/generateSchemas.py
>>
>> I do realize that .xslt is good for XML formats, but I have a warm place
>> for ElementTree.  It’s not the same as Java XML parsing. Definitely worth
>> checking out!    Note that I don’t believe that ElementTree requires an
>> extra download at all!  BeautifulSoup, Pyxie, DOM and SAX appear to be
>> available as well.  Hmm!
>>
>> I, too, would enjoy the challenge of improving JSON schema, but I suspect
>> you will beat my fiddling!  I certainly couldn’t accomplish what you and
>> Holger did creating JSON files.   I’m only playing with one string!
>>
>> We should probably discuss componentized and/or profilized schemas.  Also
>> browser specific schemas (X3DUOM versions for specific browsers).   I can’t
>> really wrap my mind around the complexity, currently.   Extra help is
>> certainly welcome, but let’s focus on 1-2 versions first!  Note that my
>> code used to support v3.* and v4 of X3D, but now covers v4.0.
>>
>> We should probably have a face-to-face meeting about missing inheritance
>> in X3DUOM.  There might be something that’s not communicated over email
>> well.   I can also divert to sourceforge.
>>
>>
>> I will speak with my wife about rejoining the Consortium, as you
>> apparently invited me in another message.  My daughter is currently in
>> college and is planning study abroad.   My wife and I  are living on fixed
>> income.  I have a 2016 desktop which could be traded for, but it probably
>> doesn’t do Windows 11 or fancy gpus,  comes with a Nvidia GTX 980.   I have
>> run Linux on it.  It was designed for a 1080 or 1080 Ti.  It runs on a
>> Samsung SSD which I ran regression tests on, so I don’t know TTL, an expert
>> would know better.  I can at least install a version of Linux.  I upgraded
>> mainly for Windows 11 and to get a raytracing graphics card.
>>
>>
>> John
>>
>> On Sun, Oct 5, 2025 at 2:52 PM Don Brutzman <don.brutzman at gmail.com>
>> wrote:
>>
>>> Thanks for thinking ahead.  I will let you and mailing list know when
>>> I'm ready to engage on this topic - not now, first things first.
>>>
>>> all the best, Don
>>> --
>>> X3D Graphics, Maritime Robotics, Distributed Simulation
>>> Relative Motion Consulting  https://RelativeMotion.info
>>>
>>>
>>> On Sun, Oct 5, 2025 at 12:50 PM John Carlson <yottzumm at gmail.com> wrote:
>>>
>>>>
>>>> On Sun, Oct 5, 2025 at 1:19 PM Don Brutzman <don.brutzman at gmail.com>
>>>> wrote:
>>>>
>>>>> [cc: Dick and Joe]
>>>>>
>>>>> Thanks for helpful information John.  Again agreeing.  As recently
>>>>> repeated publicly several times, indeed for several years now:
>>>>>
>>>>>    - We are developing each specification in order.  Getting XML,
>>>>>    ClassicVRML and Compressed Binary ready and consistent is a big step, so
>>>>>    that the followin encoding specifications can have similar form and
>>>>>    corresponding functionality.
>>>>>
>>>>>
>>>> I don’t have a problem with waiting on JSON standards.  All that it
>>>> really affects is things like incorporation into Castle Engine/Viewer.  I
>>>> don’t really use X3D JSON for HAnim work, and am currently using Python,
>>>> XML and VRML.  X3DJSONLD has a critical foundation on JSON, but that should
>>>> be able to be easily transitioned off JSON, since it mainly relies on DOM.
>>>>
>>>>>
>>>>>    -
>>>>>    - Next encoding specifications are EXI, JSON, and Turtle (for
>>>>>    Semantic Web).
>>>>>    - We will autogenerate an X3D JSON Schema from X3DUOM, no doubt
>>>>>    starting with patterns you have established.
>>>>>    - We have a huge existing test suite of JSON models and will be
>>>>>    able to verify and validate thoroughly.
>>>>>    - We will align with whatever JSON Schema is most authoritative.
>>>>>    - I do not know what ISO will say about using a draft JSON schema
>>>>>    - that is not a standard.
>>>>>
>>>>>
>>>> Point them at the ECMAScript and JSON standards and point out that VRML
>>>> doesn’t have a schema.   If we can demonstrate effectively that XML Schema
>>>> can validate X3D JSON, that might be good enough.  JSON schema will be in
>>>> the standard, but informative, not authoritative.
>>>>
>>>>>
>>>>>    -
>>>>>    - It is worrisome and very strange that JSON schema is still draft
>>>>>    after so many years.  Why?  What is broken or missing?
>>>>>
>>>>> Just found a possible answer here
>>>>> <https://json-schema.org/blog/posts/future-of-json-schema>... will
>>>>> push that discussion to the list.
>>>>>
>>>>> Dick and I are proceeding at best possible speed, building consensus
>>>>> standards takes time.
>>>>>
>>>>> Thanks for your many efforts.  Onward we go...
>>>>>
>>>>> all the best, Don
>>>>> --
>>>>> X3D Graphics, Maritime Robotics, Distributed Simulation
>>>>> Relative Motion Consulting  https://RelativeMotion.info
>>>>>
>>>>>
>>>>> On Sun, Oct 5, 2025 at 2:51 AM John Carlson <yottzumm at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Don, here is an informative glTF (JSON) schema.  I believe their
>>>>>> preferred format is glb in the spec.  Since X3D JSON can be validated with
>>>>>> XML schema, there’s no need to holdback JSON development for
>>>>>> standardization.
>>>>>>
>>>>>>
>>>>>> https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#appendix-a-json-schema-reference
>>>>>>
>>>>>> The reason I wanted JSON schema is X3DJSONLD.* was under development,
>>>>>> and I needed some way to validate what was coming out of X3dToJson.xslt.
>>>>>> Other solutions involved converting JSON to DOM for validation , and were
>>>>>> developed once X3DJSONLD more mature.  X3DJSONLD in X3DJSAIL, X3DOM, X_ITE
>>>>>> and Castle assume DOM validation.  I don’t want to add a bunch of bloat for
>>>>>> another validator.  If people want to add JSON schema validation to those
>>>>>> tools, I do have a little expertise.  I do feel there might be some
>>>>>> pushback about it.
>>>>>>
>>>>>> While X3D JSON schema can catch certain things like an SFNode being
>>>>>> treated like an MFNode, and validation on the web is possible with XML
>>>>>> schema, XML schema endures as the golden standard, i haven’t heard that XML
>>>>>> schema is being sourced from X3DUOM.  It seems like we have 3 standards for
>>>>>> similar things.  Perhaps people should look at each other’s standards and
>>>>>> figure out how to make standards more effective, like detecting MFNode vs
>>>>>> SFNode in XML  conversion tools, and ordering of nodes in JSON schema.
>>>>>>
>>>>>> I think that maintaining fewer things will lead to more nimble
>>>>>> standardization.  I think that ensuring X3D to JSON (and more) stylesheets
>>>>>> work on the web and on the server is preferable over adding additional
>>>>>> schema.  Even doing something with SaxonC and Python would help Python JSON
>>>>>> output (beyond what Aaron is achieving), and add to better synchronization
>>>>>> between X3DPSAIL and X3DJSAIL.
>>>>>>
>>>>>> If need be, I can hand over my schema creation scripts for converting
>>>>>> to stylesheets.
>>>>>>
>>>>>> Again, last I heard about JSON schema standardization, they want to
>>>>>> self-publish.
>>>>>>
>>>>>> Since all tools I am aware of convert JSON to DOM,  XML validation is
>>>>>> preferable.  Otherwise, we should look at X3D JSON standardization through
>>>>>> API validation, since we have to do that anyway.
>>>>>>
>>>>>> I realize the web3d consortium has their own reasons for developing
>>>>>> their own schema (standards organizations develop test suites), I think
>>>>>> effort is better spent on APIs which consume and produce JSON.  Blender
>>>>>> seems like something obvious.
>>>>>>
>>>>>> Perhaps instead of developing solely a family of standards, Web3d
>>>>>> could develop a family of standards and then recommendations about the
>>>>>> standards, so standardization isn’t delayed for decade or more.
>>>>>> Recommendations could be like VRML to X3D DOM conversion.
>>>>>>
>>>>>>
>>>>>>
>>>>>> John
>>>>>>
>>>>>> On Sun, Oct 5, 2025 at 12:09 AM Don Brutzman <don.brutzman at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> thanks John.  next three standards will be EXI, JSON, and Turtle.
>>>>>>
>>>>>> hopefully JSON someday has an official schema specification to
>>>>>> finally... they are still stuck on 2022 draft IETF RFCs, not sure why.
>>>>>>
>>>>>>    - https://json-schema.org/specification
>>>>>>
>>>>>> all the best, Don
>>>>>>> --
>>>>>>> X3D Graphics, Maritime Robotics, Distributed Simulation
>>>>>>> Relative Motion Consulting  https://RelativeMotion.info
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Oct 4, 2025 at 1:53 PM John Carlson <yottzumm at gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sat, Oct 4, 2025 at 3:22 PM Don Brutzman via x3d-public <
>>>>>>>> x3d-public at web3d.org>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.
>>>>>>>>
>>>>>>>> Don:
>>>>>>>>
>>>>>>>> Any time you want help with validating JSON documents, let me know.
>>>>>>>>   I can always rev-up my x3droundtrip project as well!
>>>>>>>>
>>>>>>>> I also note that jsonlint provides schema validation that I
>>>>>>>> apparently missed!
>>>>>>>>
>>>>>>>> Here’s a version which supports
>>>>>>>> draft JSON Schema 2020-12:
>>>>>>>>
>>>>>>>> https://www.npmjs.com/package/@prantlf/jsonlint
>>>>>>>>
>>>>>>>> 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.
>>>>>>>>
>>>>>>>> I have not seen these features in ant, maven or gradle, but I have
>>>>>>>> seen that maven repositories do report vulnerabilities.
>>>>>>>>
>>>>>>>> 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.
>>>>>>>>
>>>>>>>> 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.
>>>>>>>>
>>>>>>>> John
>>>>>>>>
>>>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20251006/fbbeeb93/attachment-0001.html>


More information about the x3d-public mailing list