Virtual Reality Modeling Language Specification
Document Change Log
Version 2.0, Official Draft #3, ISO/IEC 14772
July 15, 1996
7/15/96 (rc):
-
Publish official Draft #3.
7/12-14/96 (rc):
-
Fixed lots of links.
-
Lots of minor error correctsions and clarifications.
7/11/96 (rc):
-
Released unofficial draft of Draft #3.
-
Combined all examples into the spec/part1/examples.html section.
-
Changed Switch's whichChild to whichChoice to be
consistent with choice field naming.
-
Added "+" and "-" to illegal first characters for
names.
-
Clarified PlaneSensor to default to the local XY plane (the text
had refs to both XY and XZ).
-
Fixed lots of typos and minor errors.
-
Added links/ref from nodesRef.html to concepts.html on Grouping nodes (addChildren
et al fields) and Bounding boxes (bbox* fields), and removed
redundant explanations.
-
Changed *Interpolator's value exposedField to keyValue.
This avoid the confusion that the value_changed eventOut is tied
directly to the value exposedField.
7/10/96 (rc):
-
Added Gavin Bell's execution model section to concepts.html. This
reordered the section and impacted Scripting and Time sections.
7/9/96 (rc):
-
Added/updated missing/old sections (java, conformance, etc.).
-
Clarified that DEF, USE, PROTO, EXTERNPROTO, TRUE, FALSE, NULL,
eventIn, eventOut, field, exposedField, IS, and TO are illegal names
(concepts.html).
-
Sony: Java.html: Remove base node class which implements Node.
7/8/96 (Sony) (to Java Reference):
-
Add base node classes which implement Node.
7/7/96 (rc):
-
Numerous style and structure changes as per ISO meeting.
-
Changed SFImage (and thus PixelTexture) to use RGBA (A = alpha),
rather than RGBT (T=transparency). This change was motivated by the
fact that most image formats and rendering libraries specify in terms
of alpha or opacity, not transparency.
-
Created new sections as per ISO (empty for now).
-
Added section numbers to Concepts section.
-
Moved long examples out of Concepts into examples.html.
7/3/96 (rc): (note: many of these changes
were part of cm's pre-nuptial spree, the rest were undo's of cm's
changes...rc)
-
Viewpoint description field was restored to non-exposed
as per Draft 2b. Since this field is a hint to the browser, it may not
have any effect and thus should not be encouraged to be changed.
-
TouchSensor hit* eventOuts where changed to be hit*_changed
as per naming convention.
-
Shape appearance and geometry fields were exposed.
-
PointLight and SpotLight default radius changed to
100 meters (from 1m).
-
NavigationInfo's avatarSize field defaults were changed
to a more typical avatar size (from a radius of 1 meter to an avatar
with a radius of 0.25m, eye height of 1.6m, and maximum step height of
0.75m). Also, the bind_changed event out was changed to isBound
as per the field naming exceptions.
-
isActive eventOut was added to MovieTexture to be
consistent with the AudioClip node.
-
Added set_*index eventIns to IndexedFaceSet and IndexedLineSet.
This enables the geometry to be changed from a script.
-
FontStyle fields were restored to not exposed to keep the
implementation easier and since multiple FontStyles can give most of
the effect needed.
-
Fog was changed as follows: the size field was removed, Fog
is now a bindable node (thus only one is active at a time and no need
for size), fogType was added for more fog effects, and set_bind
and isBound events were added to allow binding. This change was
made mostly to make the implementation easier (multiple Fog nodes with
limits was extremely difficult to implement). Default visibilityRange
changed from 1 to 1000. The two values of fogType are: LINEAR and
EXPONENTIAL (originally the second type was named "FOG" and
thus not very clear). ; )
-
CylinderSensor, PlaneSensor, and SphereSensor had offset
and autoOffset exposed fields added - this fixes a major
problem with these sensors. See concepts.html#DragSensors for for a
summary and see nodesRef.html for specifics per node.
-
Background's bind_changed changed to isBound as
per style exception in Concepts.
-
Clarified field naming exceptions in Concepts (see
/concepts.html#FileSyntaxandStructure).
-
All events with the name *Time_changed that represent actual
timestamp had the _changed suffix removed, as per the style
exception defined in Draft 2. This was done for readability and
comprehension.
-
All bbox_size fields defaults changed from (0,0,0) to
(-1,-1,-1). Where (-1,-1,-1) means unspecified by the user (and thus up
to the browser to compute), and (0,0,0) defines an infinitely small,
(i.e. point), bbox. Added section to Key Concepts on bboxes
(.../spec/concepts.html#BoundingBoxes).
-
Removed "_" from add_children and remove_children fields of
group nodes.
-
duration eventOut on AudioClip was changed to duration_changed.
-
Decided not to pluralize the MF fields - made all fields singular (w/
exception of children).
7/2/96 (rc):
-
Updated to Working Draft #3 titles and date. Most of these are
described in the 7/3 log.
7/5/96 (Sony) (to Java Reference):
-
The return value of createVrmlFromURL() changes from Node to void.
-
The return value of createVrmlFromString() changes from Node to Node[].
-
Add 'createVrmlFromURL' and 'addRoute' example(thanks to Justin Couch
(jtc@hq.adied.oz.au))
7/3/96 (Sony) (to Java Reference):
-
Change from 'interface Node' to 'class Node'.
-
Inline script part is deleted.(thanks to Mik
Clark(raz89@dial.pipex.com))
7/1/96 (Sony) (to Java Reference):
-
Add 'File extension' and 'MIME type' section.
-
Add 'Exception' classes example(thanks to Gad
Barnea(barnea@easynet.fr)).
6/27/96 (Sony) (to Java Reference):
-
The return value's type of Node's getValue() method
changed from 'ConstField' to 'Field'.
-
Add 'shutdown()' method to 'Script' class.
-
Add 'getWorldTitle()' and 'setWorldTitle()' methods to 'Browser'
class.
-
Add the description on how to resolve user-defined classes(thanks to
Mik Clarke (RAZ89@DIAL.PIPEX.COM)).
6/14-24/96 (cfm):
-
Lots of undocumented changes. NOTE: I have attempted to document
then in later log messages above. (7/2/96...rc).
6/14/96 (cfm):
-
Updated External API to reflect discussions.
-
Offer HTML, compressed HTML and compressed Postscript versions of spec.
6/5/96 (cfm):
-
Added first draft of External API and externalBindings (for review).
-
Added Script voting page
6/4/96 (rc):
-
Released Draft #2b.
-
Reinstated the Java Reference section (added link to front
page).
-
Moved the VRMLScript Reference section to an equal level to the Java
Reference.
-
Removed any statements REQUIRING a scripting language (until further
notice).
-
Added link to the External API section (TBD).
5/30/96 (rc):
5/29-30/96 (rc):
-
Renamed ElevationGrid fields: verticesPerColumn/Row to x/yDimension,
renamed gridSize to x/ySpacing - due to many requests and
inquiries.
-
Various document fixes and final cleanup, spell-check, and details.
-
scriptType was removed from the Script node - use the
data: or vrmlscript: syntax.
5/28/96 (rc):
-
Added bboxCenter, bboxSize, add_children and remove_children
eventIns to Anchor, Billboard, and Collision.
-
Background's sky/groundRange field renamed to sky/groundAngle
for clarity.
-
Daniel Woods re-wrote the Interpolators sections in concepts.html and
nodesRef.html (all Interpolators) - mostly clarifications and
improvements.
5/21-27/96 (rc):
-
Background URL fields changed from pos/neg/xyz to backUrl,
bottonUrl, frontUrl, leftUrl, rightUrl, and topUrl to remain
consistent with keeping url in all URL field names.
-
Browser camera is child of the current Viewpoint (at all times).
Current NavigationInfo is automatically parented to current Viewpoint too.
-
Added jump exposedField to Viewpoint node - if TRUE, then
when binding to Viewpoint, browser must move current view to
this Viewpoint.
-
Binding rules for Background, NavigationInfo, and Viewpoint
(see concepts) were clarified - multiple set_bind of TRUE
simply move the node to top of stack (not added twice), while set_bind
FALSE of an unbound node have no effect.
-
For nested hierarchies of ProxitySensors or VisibilitySensors,
all sensors output. If instanced, the user the union of the boxes to
test against.
-
Various clarifications and consistency improvements to TouchSensor,
CylinderSensor, PlaneSensor, and SphereSensor.
-
Merged DiskSensor into CylinderSensor - one sensor can do
both.
-
For nested hierarchies of TouchSensor/CylinderSensor/PlaneSensor/SphereSensor,
the lowest node outputs. If siblings, then each one outputs. If
instanced, then check each instance every test.
-
For nested hierarchies of Collisions, the nearest collision and
lowest node outputs. If instanced, then check each instance every test.
-
Changed all eventIns and eventOuts to use the recommended naming
syntax: set_foo and foo_changed (exceptions for Bool and Time eventOuts
- use isFoo for Bool and fooTime for Time).
-
Spec does not comment on whether Examine view mode (or any mode for
that matter) performs collision detection - this left up to the
browsers.
-
ProximitySensors do send pos/orient outputs when viewer
exits.
-
LineSet and PointSet nodes do not perform collisions
(since they have no area).
-
Clarified sensors edge conditions - browser needs to handle this.
-
Significant changes to TimeSensor - defaults have changed and
evaluation has been clarified and changed.
-
Changed bind and isBound to set_bind and
bind_changed in Background, NavigationInfo, and Viewpoint
nodes to be consistent with naming recommendations.
-
Clarified TouchSensor to output hit* events when pointer
moves regardless if isActive is TRUE -- this enables drag-n-drop
actions.
-
Moved file syntax defs to top of node sections in Node Reference.
-
NavigationInfo - recommend that near plane = 1/4 avatar size.
-
Re-wrote VisibilitySensor section - clarifications only.
-
Changed VisibilitySensor's bboxCenter and bboxSize
exposedFields to center and size in order to clarify
that these boxes are not necessarily bounding boxes and to make more
consistent with ProximitySensor's box specs.
-
Added the missing isActive field to PlaneSensor.
-
Replaced TimeSensor's discrete field with cycleTime
eventOut - much simpler.
-
Re-wrote TimeSensor and AudioClip for clarity.
-
Removed VisibilitySensor's isActive field and added the
field enabled.
-
Spell check on NodeRef.html.
-
Moved sections at the top of Node Reference (e.g. Lights and
Lighting) to Key Concepts.
-
A variety of minor style changes and clarifications to Node Reference
and Key Concepts.
5/9/96 (rc):
-
Improved TimeSensor section
-
Miscellaneous clarifications
4/19/96 (rc):
-
Clarified ideal spatial Sound implementation
-
ProximitySensor bbox size of (0 0 0) no longer uses the parent's
bbox - it disables the sensor.
-
Changed all url fields to be exposedFields (Anchor, AudioClip, Inline,
*Texture, Script)
-
Removed numPoints from PointSet.
4/18/96 (rc):
http://vag.vrml.org/VRML2.0/DRAFT1/spec.main.html
4/17/96 (rc):
-
Changed comma to be a whitespace character
-
Added parameters field to Anchor
-
Changed Anchor fields to be exposed
4/12/96 (cm):
-
Fixed lots of links and caught some instances of old node names
-
Fixed error in Anchor example caught by mott
-
Got rid of duplicate FontStyle description caught by jkent
-
Got rid of image field in ImageTexture node
-
Fixed error in NavigationInfo of misnamed and duplicated
avatarSize field
4/2/96 (rc):
-
Changed ClickSensor to TouchSensor (as per Denton,
almost)
-
Major update/rewrite Text and FontStyle nodes and
description (thanx to Jan H.).
-
Redesigned texture nodes: renamed Texture2 to ImageTexture,
created MovieTexture, and created PixelTexture (no URL,
just pixels)
-
Changed Fog's maximumVisibility to visibilityRange
-
Changed BoxProximitySensor to ProximitySensor (since
there's only one now)
-
Removed hit* fields and enabled field from PlaneSensor
-
Changed all URL fields (e.g. filename) to `url' - let's face it these
are URLs, not files (e.g. data:...").
-
Removed WWW prefix from all nodes . Too many nodes now have URLs
in them - prefer to keep the names simple and clear.
-
Made the following changes to simplify: Coordinate3 -> Coordinate, Texture2Transform
-> TextureTransform, TextureCoordinate2 -> TextureCoordinate.
-
Changed Cube to Box ( to be more geometrically correct),
and merged fields into a single size Vec3f. (Note that Sphere is a
sphere since it is defined by a radius, not 3 radii.)
-
Minor Fog re-write and field name change
-
Added bind and isBound fields to NavInfo, Viewpoint, Background,
and wrote the section Bindable Leaf Nodes.
-
Added clickTime to TimeSensor and re-defined time as absolute
(not relative)
3/24/96 (rc):
-
Re-organized and alphabetized nodes in Node Ref
-
Added Billboard
-
Replaced PointSound and DirectedSound with Sound
and AudioClip
-
Changed/updated GeneralCylinder to Extrusion
3/23/96 (rc):
-
Texture2Transform fields exposed
-
Disallowed exposed fields in Script nodes
-
ColorInterpolate's "eventOut outValue" changed from MF to
SFColor to match the Material node
-
Re-wrote the Interpolator's section - added more detail
-
Lots of minor re-org to improve readability
-
Added WWWMovieTexture and ImageTexture
-
Changed Texture2 to WWWTexture2 - removed image field
3/5/96(cm): Removed voting booth. Added BNF syntax
section to spec. Misc. edits to spec.
1/24/96(cm): Added questions to the voting booth.
1/24/96(cm): More spec refinements, more logos and a
Sample Software section.
1/23/96(cm): Added API and major spec update.
1/16/96(cm): First public version.
1/8/96 (gb): Created.
This URL: http://vrml.sgi.com/moving-worlds/spec/changeLog.html