[x3d-public] XML3D 5.0 and X3D V4.0

Kristian Sons kristian.sons at dfki.de
Thu Nov 26 23:14:32 PST 2015

Dear X3D community,

I am happy to announce that we released version 5.0 of XML3D. It is a 
major clean-up of things we learned within releases 4.0-4.9 since 2012. 
Moreover, it includes feedback from the community, further streamlines 
the abstract model and integrates some CSS properties. Finally, and 
maybe most important, we have a reasonably complete specification:

What's that got to do with X3D? Well we think that XML3D 5.0 includes 
some concepts that might be interesting to consider for X3D V4.0. We 
would like to highlight some aspects we focused on in the design of 
XML3D, but also some hurdles we had to overcome and that might be good 
to avoid for a web-integrated version of X3D.

So starting from the X3DOM integration model (DOM API, DOM events, HTML 
elements as texture source and additional more efficient means to 
represent and transmit data), we think that (at least) the following 
amendments are essential for a web-integrated X3D V4.0:

- _Streamline the model_: X3D has way to many nodes. Same is true for 
X3DOM. In particular if compared to HTML. The Web Components initiative 
has been started to be able build and encapsulate functionality that can 
be derived from existing functionality (similar to Prototypes). It 
includes Custom Elements which are motivated to "Rationalize the 
platform." Same should apply to X3D. Many nodes can be implemented with 
few lines of JavaScript or WebComponents. A similar discussion on 
"convenience nodes" was already started on this mailing list [1].
In XML3D, we expose data processing to the user to build higher-level 
functionality from basic blocks. In the end, we have only like 5 real 
scene elements (mesh, model, light, view and group).

_ Support CSS_: X3DOM has some support for CSS 3D transforms, but 
otherwise no CSS properties are supported (for elements other than the 
X3D element). Support at least "display", "visibility", "z-index" and 
other useful properties.

- _Resolve the DAG conflicts_: There are still unsolved issues how to 
solve inconsistencies between the DOM tree and the X3D DAG 
representation! I brought up the issue on the mailing list [2] and there 
were three (valid) solution sketched how it could be resolved (I prefer 
the web-like way of dangling references). How ever the final solution 
looks like, it needs to be defined.

- _Strip Routes and Sensors_: Routes are a nice concept, but we do not 
need an additional event system in the web. I think everything can be 
solved with DOM events, observers and there are enough APIs to generate 
time events.

- _Strip Prototypes_: See above: The four technologies behind 
WebComponents provide similar functionality.

- _Strip Programmable shaders_: The consortium resisted from adding 
platform-specific elements for so long. This component is horrible. It 
ties the scene not only to a specific graphics API, but also to a 
specific implementation and to a specific rendering algorithm (you can't 
use a single shader for forward & deferred shading). Better use shade.js ;)

These are just recommendations from our lessons-learned. They should not 
be regarded as criticism. Some are really essential to solve (DAG), 
others would make the next version of X3D leaner and closer to web 
concepts. On the other hand, if applied, the result would be very 
similar to XML3D ;) But well, that is what we worked on over the last years.

Kind regards,

[1] http://web3d.org/pipermail/x3d-public_web3d.org/2015-July/003474.html
[2] http://web3d.org/pipermail/x3d-public_web3d.org/2015-April/003310.html


Kristian Sons
Deutsches Forschungszentrum für Künstliche Intelligenz GmbH, DFKI
Agenten und Simulierte Realität
Campus, Geb. D 3 2, Raum 0.77
66123 Saarbrücken, Germany

Phone: +49 681 85775-3833
Phone: +49 681 302-3833
Fax:   +49 681 85775–2235
kristian.sons at dfki.de

Geschäftsführung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender)
Dr. Walter Olthoff

Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313

More information about the x3d-public mailing list