[x3d-public] JSON to DOM inquiry (for XML schema)

John Carlson yottzumm at gmail.com
Thu Dec 14 10:23:36 PST 2023


Don, Holger,

https://github.com/create3000/x3d-tidy/issues/14

There's either an issue with x3d-tidy moving an IS statement (node?) to the
bottom of the Transform children in JSON output (.x3dj), or XML Schema
improperly expecting IS statements to appear at the top of Transform
children.  See link with data files.

X3dToJson.xslt is OK.

Hopefully, you guys can follow up on this.   I have no clue where to look
this up in the standard, I'm guessing the XML encoding, but I don't think
I've peeked much at that, and I don't know if the XML encoding standard is
up to date, so I'm relying on XML document validation with Java.

AFAIK, my XML schema is up-to-date with sourceforge.

Here are schema errors:

    [apply] Error: URI=file:/C:/Users/john/x3dschema/examples/BoxEm.xml
Line=70: The content of element type "Transform" must match
"(IS?,(MetadataBoolean|MetadataDouble|MetadataFloat|MetadataInteger|MetadataSet|MetadataString|ProtoInstance)?,(GeoPositionInterpolator|GeoTouchSensor|GeoProximitySensor|HAnimDisplacer|NurbsPositionInterpolator|NurbsOrientationInterpolator|NurbsSurfaceInterpolator|BooleanFilter|BooleanSequencer|BooleanToggle|BooleanTrigger|IntegerSequencer|IntegerTrigger|TimeTrigger|ColorInterpolator|CoordinateInterpolator|CoordinateInterpolator2D|CylinderSensor|KeySensor|LoadSensor|LocalFog|NormalInterpolator|OrientationInterpolator|PlaneSensor|PositionInterpolator|PositionInterpolator2D|ProximitySensor|ScalarInterpolator|Script|SphereSensor|StringSensor|TimeSensor|TouchSensor|VisibilitySensor|GeoViewpoint|Background|Fog|NavigationInfo|TextureBackground|Viewpoint|OrthoViewpoint|EspduTransform|SignalPdu|ReceiverPdu|TransmitterPdu|DISEntityManager|GeoLocation|GeoLOD|GeoTransform|HAnimJoint|HAnimSegment|HAnimSite|HAnimHumanoid|HAnimMotion|CADAssembly|CADLayer|CADPart|CollidableShape|CollisionSensor|RigidBodyCollection|Anchor|Billboard|Collision|Group|Inline|LOD|StaticGroup|Switch|Transform|DirectionalLight|SpotLight|PointLight|IsoSurfaceVolumeData|SegmentedVolumeData|VolumeData|Shape|Sound|SpatialSound|GeoMetadata|WorldInfo|Analyser|AudioClip|AudioDestination|BiquadFilter|BufferAudioSource|ChannelMerger|ChannelSelector|ChannelSplitter|Convolver|Delay|DynamicsCompressor|Gain|ListenerPointSource|MicrophoneSource|MovieTexture|OscillatorSource|Sound|SpatialSound|StreamAudioDestination|StreamAudioSource|WaveShaper|ColorChaser|ColorDamper|CoordinateChaser|CoordinateDamper|OrientationChaser|OrientationDamper|PositionChaser|PositionChaser2D|PositionDamper|PositionDamper2D|ScalarChaser|ScalarDamper|TexCoordChaser2D|TexCoordDamper2D|ClipPlane|TransformSensor|ViewpointGroup|LinePickSensor|PointPickSensor|PrimitivePickSensor|VolumePickSensor|PickableGroup|EaseInEaseOut|SplinePositionInterpolator|SplinePositionInterpolator2D|SplineScalarInterpolator|SquadOrientationInterpolator|ProtoDeclare|ExternProtoDeclare|ROUTE|EXPORT|IMPORT|TextureProjectorParallel|TextureProjector|ProtoInstance)*)".
    [apply] Invalid C:\Users\john\x3dschema\examples\BoxEm.xml
    [apply] org.xml.sax.SAXParseException; cvc-complex-type.2.4.a: Invalid
content was found starting with element 'IS'. One of '{Background,
ColorInterpolator, CoordinateInterpolator, DirectionalLight, Group,
NavigationInfo, NormalInterpolator, OrientationInterpolator,
PositionInterpolator, ScalarInterpolator, Shape, TimeSensor, Transform,
Viewpoint, WorldInfo, Anchor, BooleanFilter, BooleanSequencer,
BooleanToggle, BooleanTrigger, CylinderSensor, Inline, IntegerSequencer,
IntegerTrigger, KeySensor, PlaneSensor, PointLight, ProximitySensor,
SphereSensor, SpotLight, StringSensor, Switch, TimeTrigger, TouchSensor,
AudioClip, Billboard, Collision, Fog, LoadSensor, LocalFog, LOD, Script,
Sound, VisibilitySensor, CoordinateInterpolator2D, PositionInterpolator2D,
ClipPlane, EaseInEaseOut, LinePickSensor, PickableGroup, PointPickSensor,
PrimitivePickSensor, VolumePickSensor, SplinePositionInterpolator,
SplinePositionInterpolator2D, SplineScalarInterpolator,
SquadOrientationInterpolator, StaticGroup, TextureProjector,
TextureProjectorParallel, CADAssembly, CADLayer, CADPart, OrthoViewpoint,
ViewpointGroup, ColorChaser, ColorDamper, CoordinateChaser,
CoordinateDamper, OrientationChaser, OrientationDamper, PositionChaser,
PositionChaser2D, PositionDamper, PositionDamper2D, ScalarChaser,
ScalarDamper, TexCoordChaser2D, TexCoordDamper2D, TextureBackground,
CollidableShape, CollisionSensor, RigidBodyCollection, ParticleSystem,
TransformSensor, IsoSurfaceVolumeData, SegmentedVolumeData, VolumeData,
Analyser, AudioDestination, BiquadFilter, BufferAudioSource, ChannelMerger,
ChannelSelector, ChannelSplitter, Convolver, Delay, DynamicsCompressor,
Gain, ListenerPointSource, MicrophoneSource, OscillatorSource,
SpatialSound, StreamAudioDestination, StreamAudioSource, WaveShaper,
EspduTransform, ReceiverPdu, SignalPdu, TransmitterPdu, DISEntityManager,
GeoLocation, GeoLOD, GeoMetadata, GeoPositionInterpolator,
GeoProximitySensor, GeoTouchSensor, GeoViewpoint, GeoTransform,
HAnimHumanoid, HAnimJoint, HAnimSegment, HAnimSite, HAnimMotion,
NurbsOrientationInterpolator, NurbsPositionInterpolator,
NurbsSurfaceInterpolator, NurbsSet, ProtoInstance, ROUTE,
ExternProtoDeclare, ProtoDeclare, IMPORT, EXPORT}' is expected.

So something good came out of my XML schema validation work!

Thanks,

John

On Thu, Dec 14, 2023 at 9:56 AM John Carlson <yottzumm at gmail.com> wrote:

> I got DOM validation working!  That which must not be named provided some
> assistance.
>
> Changes to DocumentBuilderFactory were:
>
> +               dbf.setNamespaceAware(true);
> +               dbf.setValidating(true);
>
> Changes to X3DJSONLD.java included:
>
> -               str = str.replace("?>", "?>\n<!DOCTYPE X3D PUBLIC
> \"ISO//Web3D//DTD X3D "+version+"//EN\" \"
> http://www.web3d.org/specifications/x3d-"+version+".dtd\">");
> +               str = str.replace("?>", "?>\n<!DOCTYPE X3D PUBLIC
> \"ISO//Web3D//DTD X3D "+version+"//EN\" \"
> https://www.web3d.org/specifications/x3d-"+version+".dtd\">");
>
> I've also re-enabled the errorHandler.
>
> Next, validating DOM generated from JSON working.  XML from JSON
> already has started validating, so I'm a bit puzzled, since I create the
> XML from the DOM!
>
> I do see many validation errors from XML generated from JSON, so another
> treasure trove to explore as well!
>
> John
>
>
> On Thu, Dec 14, 2023 at 9:19 AM John Carlson <yottzumm at gmail.com> wrote:
>
>> Don, many thanks for work you’ve already done.  At this point, I’d just
>> like help with DOM validation with XML Schema, no JSON required.
>> Specifically, I am looking for help with Java-based validation.
>>
>> I do not have a lot of time either, use of my hands on a keyboard is
>> counter-indicated.  I am starting to work on strengthening.
>>
>> Obviously, this looks non-X3D specific, so I will probably post to Stack
>> Overflow or that which must not be named.
>>
>> John
>>
>> On Thu, Dec 14, 2023 at 2:30 AM Brutzman, Donald (Don) (CIV) <
>> brutzman at nps.edu> wrote:
>>
>>> John, I’m not working on any of these things you are discussing. Sorry
>>> but I don’t have time to shift attention in directions other than our
>>> current tasks.
>>>
>>>
>>>
>>> Repeating the unchanging rationale for working group efforts:
>>>
>>>
>>>
>>>    - When an approved JSON Schema exists, we can update X3D JSON Schema
>>>    and include that in a future specification.
>>>    - When tools for an approved JSON Schema exists, we can use them to
>>>    make sure everything works.
>>>
>>>
>>>
>>> Until those fine milestones occur, all use of X3D JSON is voluntary,
>>> welcome, informal, and unspecified.  Hope this helps clarify things for you.
>>>
>>>
>>>
>>> all the best, Don
>>>
>>> --
>>>
>>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>>> brutzman at nps.edu
>>>
>>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>>> +1.831.656.2149
>>>
>>> X3D graphics, virtual worlds, navy robotics
>>> https://faculty.nps.edu/brutzman
>>>
>>>
>>>
>>> *From:* John Carlson <yottzumm at gmail.com>
>>> *Sent:* Wednesday, December 13, 2023 7:11 PM
>>> *To:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; X3D Graphics
>>> public mailing list <x3d-public at web3d.org>
>>> *Subject:* JSON to DOM inquiry (for XML schema)
>>>
>>>
>>>
>>> Don, I am developing these ideas. I have to talk to a teddy bear to
>>> develop them.   There are new thoughts being introduced.  The previous
>>> email was to get the engine going.
>>>
>>>
>>>
>>> Don, JSON has a specification and a standard.  There is no Classic VRML
>>> schema, just a grammar.  Similarly, there is JSON grammar that is
>>> standardized.  If you point at the XML Schema for classic VRML, why can’t
>>> we do the same for JSON?  It’s been shown that we can create DOM documents
>>> from JSON documents, why not validate the DOM documents against XML
>>> Schema?  If someone could point me at a way to validate DOM documents in
>>> Java with XML Schema, it would probably take me 1-4 days to start
>>> validating X3D JSON with XML schema.  I think that having a single schema,
>>> and 2 object models is OK!  I’ll just have to figure out how to validate
>>> DOM documents on the web.   The biggest win of putting JSON into DOM
>>> documents is that potentially, all the goodness of X3D-Edit could be
>>> applied to the JSON documents (I just realized this.  I now feel like a
>>> genius!).  I’ve basically been a DOM proponent for quite a while now, all
>>> my X3DJSONLD.* programs use it except for x3djsonld.py (poorly named).  I’m
>>> not aware that DOM is popular in Python.
>>>
>>>
>>>
>>> Since the last JSON schema draft proposal was 2020-12, I have not seen
>>> any progress on core JSON schema validation standardization.  If you want
>>> me to try some newer implementations, which ones?  Your requirements are
>>> probably stricter than mine.  If we wait for a JSON schema standard, we’ll
>>> be waiting for implementations again.  Probably by the time the JSON schema
>>> standard comes out, JSON will be deprecated (note that Microsoft is
>>> highlighted on the JSON schema page, not a company strong on open
>>> standards).
>>>
>>>
>>>
>>> Perhaps DOM document validation with X3DJSAIL (by way of scenegraph)
>>> still needs some effort?  Maybe we can skip that with a DOM XML schema
>>> validator?  I realize we need teamwork to finish off the X3DJSAIL/X3DJSONLD
>>> pair.  For me, to get access to X3DJSAIL outputs and validation without
>>> resorting to XML or Java source code, and for you, to get X3D JSON
>>> converted to whatever you target.
>>>
>>>
>>>
>>> Pretending that JSON schema did not exist, what would your approach be
>>> for JSON?
>>>
>>>
>>>
>>> Just point in the direction you want me to go.  I have a feeling that
>>> JSON isn’t going anywhere soon.  My alternative to JSON is VRML.  Should I
>>> create a VRML loader for X3DOM?  Joe?
>>>
>>>
>>>
>>> John
>>>
>>>
>>>
>>> On Wed, Dec 13, 2023 at 4:28 PM Brutzman, Donald (Don) (CIV) <
>>> brutzman at nps.edu> wrote:
>>>
>>> John you’ve asked questions like this for years and the responses remain
>>> the same.
>>>
>>>
>>>
>>>    1. We cannot specify a formal validation of JSON until there is a
>>>    formal JSON schema.  After many years they are still at Internet-Draft
>>>    stage.
>>>
>>>
>>>    - https://json-schema.org/specification
>>>    - https://json-schema.org/draft/2020-12/json-schema-core
>>>
>>>
>>>
>>>    1. X3DJSAIL is not a specification, it is a programming library.
>>>
>>>
>>>    - X3D Java Scene Access Interface Library (X3DJSAIL)
>>>    - https://www.web3d.org/specifications/java/X3DJSAIL.html
>>>
>>>
>>>
>>>    1. For use in other tools, we would need to validate X3D JSON using
>>>    an authoritative schema and a reliable library.  Looks like there has been
>>>    progress:
>>>
>>>
>>>    - https://json-schema.org/implementations
>>>
>>>
>>>
>>> Once we have a stable path forward for JSON schema validation, adapting
>>> X3DUOM conversion to create a version of your X3D JSON Schema seems like a
>>> reasonable step.
>>>
>>>
>>> I again recommend that you track the JSON Schema site to be aware of
>>> formal status and implementation progress.
>>>
>>>
>>>
>>> Web3D Recommended Practices are likely to be limited to only list
>>> potential nodes for X3D4 and HAnim2, as future specification candidates,
>>> not for anything we might like under the bright sun.
>>>
>>>
>>>
>>> Hope this helps.  Wishing you best progress.
>>>
>>>
>>>
>>> all the best, Don
>>>
>>> --
>>>
>>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>>> brutzman at nps.edu
>>>
>>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>>> +1.831.656.2149
>>>
>>> X3D graphics, virtual worlds, navy robotics
>>> https://faculty.nps.edu/brutzman
>>>
>>>
>>>
>>> *From:* John Carlson <yottzumm at gmail.com>
>>> *Sent:* Wednesday, December 13, 2023 2:12 PM
>>> *To:* Extensible 3D (X3D) Graphics public discussion <
>>> x3d-public at web3d.org>
>>> *Cc:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; GPU Group <
>>> gpugroup at gmail.com>; consortium at web3d.org; x3d at web3d.org
>>> *Subject:* Re: [x3d-public] X3D Working Group meeting 8 DEC 2023:
>>> proposed charter improvements
>>>
>>>
>>>
>>> Can we make an effort for X3DJSAIL validation of JSON as a Web3D
>>> Consortium Recommended Practice, and extend the CommandLine Java program
>>> for JSON validation?  I know there’s x3dvalidate and online X3DJSONLD
>>> validation.  I’m looking for a multiple goal approach.  I’m not saying that
>>> there’s only one way to skin a cat.  I know I probably overhyped JSON
>>> schema in the past.
>>>
>>>
>>>
>>> Since we probably won’t see Java in a browser soon, and Oracle is
>>> pushing JavaScript forward through support of GraalVM, it seems like
>>> combining JavaScript and Java, yet again, a good thing.  It makes me wonder
>>> if we can fit a JavaScript interpreter into a Java native image.  Has
>>> anyone explored WASM binaries for Java?
>>>
>>>
>>>
>>> John
>>>
>>>
>>>
>>> On Wed, Dec 13, 2023 at 11:29 AM Brutzman, Donald (Don) (CIV) via
>>> x3d-public <x3d-public at web3d.org> wrote:
>>>
>>> Doug, thanks for feedback.  This is close to what you said a week ago.
>>> Not sure if we are connecting correctly.
>>>
>>>
>>>
>>> We are currently working on a working group charter, which sets out
>>> shared goals and requirements.  So far these seem pretty clear and well
>>> defined.  “Good” goals means that success can be measured by demonstrated
>>> results, draft specification prose, and eventual consensus.
>>>
>>>
>>>
>>> If I am following your line of thinking, then topics like CALL FOR NEW
>>> FEATURES, PRE-DRAFT, etc. etc. sound like procedures for the group to
>>> follow.  That might be valuable, if doable.  However we are not looking at
>>> coordination of working-group activities right now as part of a charter.
>>>
>>>
>>>
>>> Once we have a renewed charter, if someone wants to lead such
>>> coordination steps as a working process for meeting policy requirements,
>>> then OK by me.  Seems premature to lay all that out, a group should be free
>>> to flexibly execute as they work on achieving goals and requirements.
>>> Future leadership activity will no doubt be welcome by everyone.
>>>
>>>
>>>
>>> Following our first exemplar (probably Image Atlas) as a Web3D
>>> Recommended Practice, also must note that it won’t be me who is
>>> choreographing such new-node activities.  I will be focused primarily on
>>> Specification Synchronization with Dick Puk.  ISO participants recently
>>> approved my relieving Dick as SC24 WG6 convener, so I can confirm that a
>>> lot of updates to existing specifications (SAI programming language
>>> bindings and file encodings) are needed before any X3D 4.1
>>> new-specification efforts are possible.
>>>
>>>
>>>
>>> Please advise if this makes sense to you.  Good discussion topic for
>>> next week’s X3D Working Group meeting 22 DEC 2023 (no meeting this Friday
>>> due to NPS graduation).  Alternatively am always happy to discuss with you
>>> directly if that helps us.
>>>
>>>
>>>
>>> p.s. For thoroughness, your prior note and my prior response follow.
>>> Please permit me to recap my earlier responses here since the points remain
>>> relevant.
>>>
>>>
>>>
>>>    - [x3d-public] [x3d] X3D working group meeting: charter review for
>>>    2024
>>>    -
>>>    https://web3d.org/pipermail/x3d-public_web3d.org/2023-December/020100.html
>>>    -
>>>    https://web3d.org/pipermail/x3d-public_web3d.org/2023-December/020103.html
>>>
>>>
>>>
>>> First was the past/present/future synopsis, describing what works.
>>> Wording has been further refined as we’ve continued.
>>>
>>>
>>>
>>> Next was that the doors remain open.  The x3d-public at web3d.org
>>> <mailto:x3d-public at web3d.org>  mailing list will remain our primary
>>> path for sharing new ideas.  The x3d at web3d.org <mailto:x3d at
>>> web3d.org>  mailing list is always available as well for Web3D
>>> Consortium members who want to share and discuss ideas privately and
>>> confidentially.
>>>
>>>
>>>
>>> Next was the list of existing approved policy requirements that must be
>>> met.  These are all controlled by Web3D Consortium Board of Directors.
>>> Membership has value!
>>>
>>>
>>>
>>>    - Web3D Standards Adoption Process
>>>    - https://www.web3d.org/standards/adoption-process
>>>
>>>
>>>
>>>    - Web3D Contribution Submission Guidelines
>>>    - https://www.web3d.org/standards/contribution-guidelines
>>>
>>>
>>>    - Join Web3D Consortium
>>>    - https://www.web3d.org/join
>>>    - “Web3D Consortium members agree to follow the rules, policies, and
>>>    restrictions as specified in the following documents:”
>>>
>>>
>>>
>>>    - By-Laws
>>>    - Intellectual Property Rights (IPR) Policy
>>>    - (part of Member Agreement)
>>>    -
>>>    https://www.web3d.org/sites/default/files/page/Join%20the%20Web3D%20Consortium/Web3D_IPR.pdf
>>>
>>>
>>>
>>> So, happy days: we have a proven process that works.  We have good goals
>>> emerging for steady (indeed compelling) progress in the coming year.
>>> Perhaps best, we have X3D 4.0 !!  8)
>>>
>>>
>>>
>>> I hope that all this works for you too.  Again thanks for your careful
>>> consideration.
>>>
>>>
>>>
>>> all the best, Don
>>>
>>> --
>>>
>>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>>> brutzman at nps.edu
>>>
>>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>>> +1.831.656.2149
>>>
>>> X3D graphics, virtual worlds, navy robotics
>>> https://faculty.nps.edu/brutzman
>>>
>>>
>>>
>>> *From:* GPU Group <gpugroup at gmail.com>
>>> *Sent:* Monday, December 11, 2023 9:15 AM
>>> *To:* Extensible 3D (X3D) Graphics public discussion <
>>> x3d-public at web3d.org>
>>> *Cc:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>;
>>> consortium at web3d.org; x3d at web3d.org
>>> *Subject:* Re: [x3d-public] X3D Working Group meeting 8 DEC 2023:
>>> proposed charter improvements
>>>
>>>
>>>
>>> > What else do *you* need?
>>>
>>> Process improvements. Your asking 'what else do you need?' is a process
>>> step I haven't explicitly seen before, I think that's a good step.
>>>
>>> There could be 'CALL FOR's that notify sleepy browser / tool makers to
>>> wake up on a topic and contribute before some regrettable decision is baked
>>> into specifications. CALL FOR NEW FEATURES 2 years before next draft would
>>> allow browser / tool developers to compare notes in a PRE-DRAFT and list
>>> new features and nodes, and give 2 years for other browser / tool
>>> developers to implement. Then each implementation is noted on PRE-DRAFT to
>>> see which ones have traction. (versus last-minute scramble to find a second
>>> implementation or ignoring that PROCESS REQUIREMENT while writing draft
>>> specification).
>>>
>>>
>>>
>>> > Extensibility mechanisms for X3D can implement new capabilities
>>>
>>> I find PROTOs awkward and find it easier to implement new builtins. A
>>> CALL FOR PROTO DESIGN PATTERNS, EXAMPLES AND ANALYSIS OF PROTO SYSTEM
>>> SHORTCOMINGS, AND EXTENSIONS TO EXTENSIBILITY could expand web3d power and
>>> attractiveness
>>>
>>> Design patterns - I'm thinking of how to design builtin nodes so as to
>>> make extensibility easier. A CALL could bring forth examples of builtin
>>> nodes that don't map to a PROTO implementation, and analysis of those
>>> shortcomings may produce design patterns to improve current PROTO mechanism
>>> and suggest new extensibility mechanisms / extensions to extensions.
>>>
>>> -Doug Sanden
>>>
>>>
>>>
>>> On Mon, Dec 11, 2023 at 9:43 AM Brutzman, Donald (Don) (CIV) via
>>> x3d-public <x3d-public at web3d.org> wrote:
>>>
>>> Attendees Anita Havele, Vince Marchetti, Dick Puk, Don Brutzman.
>>>
>>>
>>>
>>> The X3D Working Group meets each Friday 09-1000 pacific (12-1300
>>> eastern).
>>>
>>>
>>>
>>>    -
>>>    https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09
>>>    - https://zoom.us/j/148206572  Password 483805
>>>    - https://www.web3d.org/member/teleconference-information
>>>
>>>
>>>
>>> We again looked at updating the X3D Working Group Charter for 2024.
>>> Current charter is online at
>>>
>>>
>>>
>>>    - https://www.web3d.org/working-groups/x3d
>>>
>>>
>>>
>>> First section with suggested edits follows.  None of the current charter
>>> words are incorrect, am looking to simplify and make clearer:
>>>
>>>
>>>
>>>
>>>
>>> Overview:
>>>
>>>
>>>
>>> *The Extensible 3D (X3D) Graphics Working Group forms the core of the
>>> provides the core technical foundation for all working groups within the
>>> Web3D Consortium. It is responsible for the development of specification of
>>> core technologies for the X3D suite of Specifications, and the integration
>>> of the maximum interoperability with related specifications for non-core
>>> technologies, and coordinating the technical aspects of all Web3D working
>>> group efforts broad deployment of interactive X3D models. The **X3D
>>> Graphics Standards: Specification Relationships
>>> <https://www.web3d.org/specifications/X3dGraphicsStandardsRelationships.png>**
>>> graphic nicely diagram illustrates these capabilities the interaction and
>>> relationships between the various X3D specifications.*
>>>
>>>
>>>
>>> *Interest in metaverse and augmented reality, improvements in
>>> high-quality audio and visual fidelity on any computer platform, and new
>>> support for multiple file encodings and programming languages including
>>> JSON and streaming binary are driving the broad deployment of interactive
>>> X3D4 models across the Web into new domains of real-time 3D human
>>> interaction development of the next revision of the standard. The Working
>>> Group is looking for people to help with these and other technical fields
>>> in creating the X3D V4.0 standard.*
>>>
>>>
>>>
>>> *The wide-spread adoption of WebGL in all browsers is driving X3D into
>>> the future. The next generation of X3D (V4.0) will be embedded in the
>>> browser and support full interaction with the web page. It will include all
>>> of the features of X3D that are currently available plus new rendering,
>>> interaction, and device support all running in your browser, whether it is
>>> on your desktop or your phone. In addition to X3D continuing to work in
>>> non-browser environments.*
>>>
>>>
>>>
>>> Condensed:
>>>
>>>
>>>
>>> *The Extensible 3D (X3D) Graphics Working Group provides the core
>>> technical foundation for all working groups within the Web3D Consortium. It
>>> is responsible for development of the X3D suite of specifications, maximum
>>> interoperability with related technologies, and coordinating the broad
>>> deployment of interactive X3D models. The X3D Graphics Standards:
>>> Specification Relationships
>>> <https://www.web3d.org/specifications/X3dGraphicsStandardsRelationships.png>
>>> diagram illustrates these capabilities.*
>>>
>>>
>>>
>>> *Interest in metaverse and augmented reality, improvements in
>>> high-quality audio and visual fidelity on any computer platform, and new
>>> support for multiple file encodings and programming languages including
>>> JSON and streaming binary are driving the broad deployment of interactive
>>> X3D4 models across the Web into new domains of real-time 3D human
>>> interaction.*
>>>
>>>
>>>
>>>
>>>
>>> [The next proposed sections are updates from last week’s meeting and
>>> email discussion.]
>>>
>>>
>>>
>>> X3D Working Group priorities for 2024 follow.
>>>
>>>
>>>
>>>    1. *Specifications Synchronization*.  Update, review, implement and
>>>    advance all corresponding X3D specifications for file encodings and
>>>    language encodings, continuing rigorous attention to detail through Web3D
>>>    Consortium, W3C, US INCITS H3, and ISO/IEC standards development
>>>    organizations (SDOs).
>>>    2. *Implementations*.  Provide a technical forum that encourages the
>>>    greatest possible development for functionally complete X3D4 applications,
>>>    authoring tools, and model converters such as Blender and MeshLab.  Pay
>>>    special attention to implementations using Humanoid Animation (HAnim), glTF
>>>    model import, Web Audio API and MIDI 2.0 capabilities for integrated
>>>    spatial auralization, projective texture mapping, HTML5 integration, XML,
>>>    JSON/JavaScript, Java, Python, C/C++/C#, compressed binary formats, and
>>>    additional new X3D 4.0 features.
>>>    3. *Publications*.  Demonstrate how X3D can make 3D Graphics part of
>>>    the modern Web by integrating with key infrastructure such as Web3D
>>>    Conference series, Wikipedia, and other major publication resources.
>>>    4. *Innovation Foundation*.  Show how Extensibility mechanisms for
>>>    X3D can implement new capabilities in a standards-compatible way.  Much is
>>>    possible, model correctness is validatable, and few barriers to exploration
>>>    exist.
>>>    5. *Metaverse*.  Support 3D Web Interoperability and Metaverse
>>>    Standards Register groups in the Metaverse Standards Forum (MSF),
>>>    implementing shared use cases to provide helpful feedback on successes and
>>>    next-step goals.
>>>
>>>
>>>
>>> These renewed priorities fit well as next steps in a quarter century of
>>> stable evolution using Virtual Reality Modeling Language (VRML) and X3D.
>>>
>>>
>>>
>>>    - *Past as Prologue*.  The X3D Working Group carefully follows Web3D
>>>    policies and procedures, integrating much public/private comment that is
>>>    well documented in X3D email archives and Mantis issue tracker.  Both
>>>    backwards compatibility and forwards extensibility have been carefully
>>>    preserved throughout, enabling effective reuse of every VRML97 and X3D
>>>    model for the past quarter century. Seventh in a specification series
>>>    starting with VRML97, successful completion of the X3D 4.0 Architecture
>>>    once again proves that this collaborative process is effective.
>>>
>>>
>>>
>>>    - *Present, 2024*.  There is much capability in X3D 4.0 already that
>>>    deserves broader implementation and exposure in high-capability models.
>>>    Consequently we are deliberately *not* pursuing X3D 4.1
>>>    specification improvements with ISO/IEC in 2024.  Meanwhile we do encourage
>>>    *Innovation* by emphasizing X3D extensibility mechanisms:  Inline,
>>>    Script, Prototype, software libraries supporting source-code
>>>    implementations that generate X3D, etc. etc.  New candidate nodes (such as *Image
>>>    Atlas*) that rise to the level of broad usefulness can be formally
>>>    considered as contributions to Web3D Recommended Practice.
>>>
>>>
>>>
>>>    - *Future, 2025+*.  Once all of the corresponding X3D specifications
>>>    have been updated to match X3D 4.0 architecture, development of a future
>>>    X3D 4.1 specification revision will be possible.
>>>
>>>
>>>
>>>
>>>
>>> What’s missing?  What’s unclear and might be better expressed?  What
>>> else do *you* need?
>>>
>>>
>>>
>>> All improvements are welcome, a big year awaits us…
>>>
>>>
>>>
>>> Thanks for considering the possibilities.  Have fun with X3D!  8)
>>>
>>>
>>>
>>>
>>>
>>> all the best, Don
>>>
>>> --
>>>
>>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>>> brutzman at nps.edu
>>>
>>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>>> +1.831.656.2149
>>>
>>> X3D graphics, virtual worlds, navy robotics
>>> https://faculty.nps.edu/brutzman
>>>
>>>
>>>
>>> _______________________________________________
>>> x3d-public mailing list
>>> x3d-public at web3d.org
>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>
>>> _______________________________________________
>>> 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/20231214/f54172dd/attachment-0001.html>


More information about the x3d-public mailing list