[x3d-public] V4.0 Open discussion/workshop on X3D HTML integration
Michael Aratow
maratow at noegenesis.com
Wed Jun 8 06:16:22 PDT 2016
Leonard
Thank you for that concise, clear and pragmatic summary of a possible
bright future for an X3D V4.
From a user and business standpoint, your approach puts X3D out in
front and provides a path towards wide adoption and sustainability.
I fully support your strategy.
Mike Aratow
Member of the Board and Co-Chair Medical Working Group
On 6/7/16 9:29 PM, Leonard Daly wrote:
>
> Wednesday (8 June 2016) X3D WG call is dedicated to discussion X3D V4.
> Several people (including myself) have commented on the ideas over the
> last couple of years. I am going to state my current position here. I
> don't think it differs much from my position a year ago; however, I'm
> sure there have been some clarifications.
>
> tl;dr
>
> X3D needs to run in the HTML5/DOM environment. A few nodes need to
> be removed, but all capabilities remain.
>
> Preliminary proposed V4 document at:
> http://tools.realism.com/specification/x3d-v40
>
>
> I am going to start my position with a response to a question asked by
> John Carlson on a different list (x3dom-users): are we adding HTML5
> capabilities to X3D or 3D (X3D in particular) capabilities to HTML5?
>
> HTML is the dominant environment world-wide. It provides text, image,
> 2D graphics (SVG), video, and other capabilities. The size of the
> HTML5 development community far exceeds the total of the entire X3D
> community. Forcing HTML5 into X3D is a losing game right from the
> start -- whether you want all of HTML5 or just a portion. So in my
> mind, the only choice with a future is to add 3D to HTML5. Running in
> the HTML5 environment means full integration with the HTML5 DOM (or
> later versions when they happen). BTW, there are already a number of
> non-Web3D Consortium efforts to do so. We are not out in front of the
> effort and are about to be made irrelevant. There is no more time for
> delays or debates.
>
> So now that the environment is settled, it is important to identify
> what in current X3D (V3.3) is incompatible with HTML5. There are only
> three obvious features - Script node, event handling, and case
> sensitivity. There are other capabilities that are dependent on these
> capabilities -- I'll discuss those later.
>
> Starting with the easiest one first - case sensitivity. HTML5 is case
> insensitive. Relaxing X3D's rules on that allows existing X3D code to
> run in a browser. If everything gets converted to lower-case prior to
> handling (except quoted strings), then there is not a problem.
>
> There is an obvious naming incompatibility with Script -- the name.
> HTML5 is already using that name. Under my initial condition there
> cannot be an X3D Script node. That does not mean all scripting
> functions are given up. HTML5 provides a wonderful script interface a
> more flexible structure. In X3D, Scripts are meant to process events,
> so the function argument is always an event (except for X3D-Script
> internal functions). Functions in HTML5 are a lot more flexible and
> can include events, objects, scalars, arrays, etc. So there is no loss
> of functionality by giving up X3D-Script.
>
> Event handling is different between HTML5 and X3D. In X3D events are
> "routed" from one node to another. They allow one part of the scene
> graph to "talk" to another part. In HTML5, events "bubble-up" from the
> originator to the event through any handler that may be attached to
> any parent node of the originator until the event is cancelled. In all
> of my design work on V4 I have not found any instance where
> HTML5-Scripts could not provide the same functionality as
> X3D-Script+ROUTE. It requires a little different mind-set, but the
> HTML5 mind-set is very familiar to JavaScript programmers and other
> front-end developers. I also believe that a graphical development
> interface can be built that completely simplifies the differences.
>
> The biggest issue I have seen with event handling is scene graph
> updating. X3D updates the scene graph once all non-looping events in
> the cascade have completed. After the scene graph is updated, a new
> frame is rendered. This can cause a large delay between rendered
> frames. HTML5 renders as it goes. Rendering happens asynchronously to
> changes to the DOM. There is no concept of accessing the DOM before or
> after all events for that frame. X3D worlds that depend on that
> feature will probably not be able to be ported to X3D V4.
>
> Summarizing the three incompatibilities - with the exception of some
> event processing, none will prevent X3D from doing what it currently
> can do and all can be easily migrated to the HTML5 environment.
>
>
> There are a number of features that I think should not be included in
> X3D V4, but these are just features and not fundamental capabilities.
> These include all nodes that generate geometry (e.g., Extrusion,
> ElevationGrid, Text) with the exception of simple solids and perhaps a
> couple of additions. My view here is based on the availability of free
> modeling software (e.g., Blender) that does all of the above, and a
> lot more efficiently than X3D can. Also by not including these nodes,
> the resultant models will look better.
>
> Lastly (for now), I believe that there is no purpose for a PROTO node.
> Without a X3D-Script node, PROTOs just become convenience generators.
> To replace that feature, I am proposing a MACRO node that takes X3D
> and does string substitution prior to inserting the result into the
> scene graph (and DOM). I have a partial implementation of this for X3DOM.
>
> Summarizing: The Consortium needs to get out and lead the way for 3D
> on the web (and this includes VR) or it will be by-passed and left
> with the relics of history like blinking text, and Flash. The
> environment must be HTML5/DOM and X3D must stay current with the web
> environment. There will always be someone who needs something
> specialized that does not use a web environment, but those will be
> individual cases and not worth significant volunteer efforts.
>
>
> --
> *Leonard Daly*
> 3D Systems & Cloud Consultant
> X3D Co-Chair on Sabbatical
> LA ACM SIGGRAPH Chair
> President, Daly Realism - /Creating the Future/
>
>
> _______________________________________________
> 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/20160608/cfe924c1/attachment.html>
More information about the x3d-public
mailing list