Re: A full-fledged VRML proposal

Paul Burchard (burchard@horizon.math.utah.edu)
Wed, 14 Sep 94 23:34:21 -0600


In http://www.wired.com/vrml/oi/VRMLDesign.html
"Gavin Bell" <gavin@krypton.engr.sgi.com> proposes:
>
> WWWButton is a strange node; it must somehow communicate
> with the browser and cause the browser to load the scene
> specified in its name field when a child of the WWWButton
> is picked, replacing the "current" scene that the
> WWWButton is part of. Specifying how that happens is up to
> the browser and implementor of WWWButton, as is
> implementing the picking code.

This node -- the VRML hyperlink -- is the most important one to
design correctly. Two issues that I would especially like to bring
up are: coordinate-indexed links, and link semantics.

Coordinate-indexed links pass back the 3D location of the pick that
triggered the link, as query information after the URL (e.g.,
"http://www.org/glub.vrml?12.0,1.23,-3.42"). The pick location is
specified in the coordinate system of the hyperlink node that was
triggered (not those of the world or picked object).
Coordinate-index links enable all sorts of interesting interactive
services, and I strongly believe that they should be part of the base
level VRML (I leave the format to you).

"Link semantics" refers to what is done with the target of a link,
once it is retrieved. MIME typing takes care of the "internal
semantics" of the retrieved object, but there are also "external
semantics" governing the relationship between the source and target.
In HTML the latter are handled through officially recognized "link
relationships", so that, for example, you can say something like
<A REL="Subdocument" HREF="chap2.html">Chapter 2</A>
to distinguish "chap2.html" from just another HTML document (although
Mosaic handles this poorly).

I suggest that, even in the first cut of VRML, we will want more than
just "teleport" links to VRML objects. In our WebOOGL project, we
came up with three we felt were most important:

Relationship Meaning
-------------------------------------
(default) teleport to new scene given by target
Embed keep old scene, but include target in the
hierarchy under the link node that retrieved it
WorldEmbed keep old scene, but include target under the
root node of the hierarchy

(The "Embed" relationship is already officially recognized in HTML.)
Link relationships would be specified using optional "rel" and "rev"
fields of WWWButton.

> Issue: What happens when you nest WWWButtons (you have
> WWWButtons as children of WWWButtons)? Suggestion: the
> "lowest" WWWButton wins.

Yes, link-binding should be inherited just like other properties.

--------------------------------------------------------------------
Paul Burchard <burchard@math.utah.edu>
``I'm still learning how to count backwards from infinity...''
--------------------------------------------------------------------