[x3d-public] setUSE in X3DJSAIL (conclusion)

Don Brutzman brutzman at nps.edu
Fri Jul 21 17:05:59 PDT 2017


On 7/20/2017 2:55 PM, John Carlson wrote:
> What I meant to imply was that the DEF and USE objects are separate, even though they share the same name.  That’s how I understand your implementation.
> 
> John

Well, close.  In X3D JSAIL, a single node (such as TransformObject) can have both DEF and USE member values.  Internal logic in the methods prevent both from being set at once.  Followup validation ensures that side effects don't creep in to break a contract.  Same Java object, different roles.

There is an important distinction that appears to be missing from many of the DOM and Shadow DOM comments.  The X3D specifications do not have to dictate that they behave in a manner identical to one or another X3D player implementation.  Even if that were attempted, there is no way (and no need) to enforce how a programmer utilizes it.  For example, might a programmer use references to an original DEF TransformObject and sidestep the X3DJSAIL USE methods?  Sure, why not, as programmer you can do whatever you want.  Is that "right" or "wrong" ?  Neither, more an "eye of the beholder" and YMMV issue for an innovative programmer.

I'd expect every single VRML and X3D implementation to have many similarities and a number of unique differences regarding how they implement DEF/USE in their source code.

The wisdom of the original X3D specification design becomes ever clearer: the abstract specification defines functionality and user experience.  Code patterns can vary widely, but content models will look + behave the same in all correct X3D players.  The end user says "Oh. An X3D model. Great, I know what to do."

So I would hope that new players and tools might use X3DJSAIL, X3DJSONLD and other X3D SAI libraries however they like.  They provide a lot of functionality and do not lock a programmer into a rendering style - especially important for server-side and application programming (X3D generators, converters, consumers, etc.)

Even more to the point: our primary _customer_ for X3Dv4 is _authors_ and not just the current crop of HTML browser implementers.  We most want to be able to write and share excellent X3D content that works today, tomorrow and years from now in many environments, of course including HTML5/DOM.

p.s. was just reviewing the WHATWG FAQ again and they really seem to miss this point, that content is king.  they seem to have no concept of stability, just support for features.  go figure what that might mean.

https://wiki.whatwg.org/wiki/FAQ
============================
When will HTML5 be finished?

The WHATWG is now using a Living Standard development model, so this question is no longer really pertinent. See above, under "What is HTML5?". The real question is, when can you use new features? For an answer to 'that' question, see "When will we be able to start using these new features?".

When will we be able to start using these new features?

You can use some of them now. Others might take a few more years to get widely implemented. [...]

How are developers to determine when certain parts of their pages will become invalid?

It shouldn't matter if and when old pages become invalid. [...]

When will HTML5 be finished?

The WHATWG is now using a Living Standard development model, so this question is no longer really pertinent. See above, under "What is HTML5?". The real question is, when can you use new features? For an answer to 'that' question, see "When will we be able to start using these new features?".
============================

Just trying to keep "eyes wide open." There is a lot of excellent progress and innovation that comes from WHATWG, but "what" they produce is certainly a moving target.

Web3D has an excellent liaison relationship with W3C, a stable frame of reference with W3C HTML5/DOM Recommendations, and a level playing field in the W3C Process.  Onward we go.  8)

> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
> 
> *From: *Don Brutzman <mailto:brutzman at nps.edu>
> *Sent: *Thursday, July 20, 2017 5:35 PM
> *To: *John Carlson <mailto:yottzumm at gmail.com>
> *Cc: *Roy Walmsley <mailto:roy.walmsley at ntlworld.com>; X3D Graphics public mailing list <mailto:x3d-public at web3d.org>
> *Subject: *Re: setUSE in X3DJSAIL (conclusion)
> 
> On 7/20/2017 2:23 PM, John Carlson wrote:
> 
>  >  1. The org.web3d.x3d.sai package in X3DJSAIL is the Java SAI (plus a few methods).  Documented here: http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/package-summary.html
> 
> correct
> 
>  >  2. We will not be removing setUSE from X3DJSAIL.
> 
> well um, don't expect to.  haven't seen or heard an alternative approach that supports equivalent serialization across all language bindings and file encodings.
> 
>  >  X3DJSAIL is a builds a model, scene or subscene, not a scenegraph. If you need a scenegraph, use an X3D browser.
> 
>  >
> 
>  > Comments?
> 
> maybe better is to replace "scenegraph" with "render" such as
> 
>                  X3DJSAIL programs can build X3D models (scene or subscene) models.
> 
>                  If you need to render the interactive X3D model, use an X3D player.
> 
> 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
> 


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



More information about the x3d-public mailing list