[x3d-public] Future of X3D presentation - event model harmonization

Don Brutzman brutzman at nps.edu
Wed Jun 14 12:41:09 PDT 2017

On 6/13/2017 4:41 PM, Andreas Plesch wrote:
> Date: Tue, 13 Jun 2017 09:30:36 -0700
> [...]
> Thanks for sharing this thoughtful presentation. The sketch of an integrated event model is particularly interesting and I may redraw it in an attempt to learn about its workings.
> The sketch is also interesting as it must have come as something of a relief to an audience listening to what must have been the most text heavy presentation at a meeting on 3d graphics ;)
> -Andreas

Thank you for flagging this important item Andreas.

Here is prose with corresponding figure attached:
6. HTML5/DOM integration.
The question is often asked, what we mean by HTML/DOM integration? Given years of experience with plugins, an earlier VRML97 External Authoring Interface (EAI), and multiple JavaScript players Cobweb and X3DOM, there is no shortage of both similarities and differences. Lots of work keeps sorting out and solving issues (i.e. the essence of an X3D Specification). Here are a few items:
1. HTML global event handlers are supported.
2. X3D specific event handlers are supported.
3. CSS is supported (there have been no significant discussions on this yet, though)
4. The use of DEF for X3D usage and ID for HTML usage are both supported.
5. When X3D is embedded into an HTML web page (as opposed to referenced as an external file) all the nodes in the scene appear in the DOM just like regular HTML elements. They can, therefore, be accessed using typical HTML approaches.
6. In principle, all nodes in the standard, including scripts and prototypes, can be supported.
7. Not a goal: Specifying precisely how an implementation must be constructed.
One short description of current views on how the integration is achieved is that there can be two parallel sets of nodes – one in the DOM, and an X3D scene graph – that will maintain bidirectional synchronization. This is effectively what both X3DOM and Cobweb do. While there are still issues to resolve, we don’t see any “show stoppers.” The HTML5/DOM specifications provide guidelines on how such content can be achieved.
The following diagram shows an initial approach that looks to correlate and compose the existing event models of HTML/DOM browsers and X3D players. It is a starting point. Much further cross-comparison (of multiple specifications and implementations) is likely to produce excellent changes and improvements.

The X3D event model is well defined.  Of interest is that we reconciled internal/external authoring interfaces by careful harmonization of event models:  all events within a single-timestamp event cascade get honored, but precise order of execution is up to the player (i.e. nondeterministic).

X3D Abstract Specification, 4.4.8 Event model

Conceptually similar things happen with an HTML player.  We need to find that documentation next: compare/contrast/align/improve/harmonize.

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 http://faculty.nps.edu/brutzman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ComposingEventModelsBetweenHtmlDomPageAndX3dScene1200x927.jpg
Type: image/jpeg
Size: 288385 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170614/57735d88/attachment-0001.jpg>

More information about the x3d-public mailing list