4.1.2

Insert the following text as a new paragraph immediately following Figure 4.1:

“The abstract structure of the sequence of statements that form an X3D world is specified in 7.2.5 Abstract X3D structure.”

Replace the existing Figure 4.1 and figure caption with the following:

X3D Architecture

Figure 4.1 — X3D architecture

4.4.2.2, 4th paragraph

In the first sentence, replace the word "rules" with the word "recommendations".

4.4.2.2, item h.

Replace the text of item h with the following:

'It is recommended that all inputOnly fields have the prefix “set_”, with the exception of the addChildren and removeChildren fields.'

4.4.2.2, item j.

Replace the text of item j with the following:

'It is recommended that all other outputOnly fields have the suffix “_changed” appended, with the exception of outputOnly fields of type SFBool.'

4.4.2.3, 1st paragraph

Replace the last two sentences with the follwoing text:

"Figure 4.2 depicts the object hierarchy for object types defined in this part of ISO/IEC 19775 for all versions. A specification of which object types are available for which versions may be found in Annex L Version content.

NOTE  Not all object types are supported in certain component levels, profiles or versions; refer to the individual component and profile specifications in this part of ISO/IEC 19775 for details."

4.4.2.3, Figure 4.2

Replace the figure with the following:

     "X3DField -+- SFBool
                +- SFColor
                +- SFColorRGBA
                +- SFDouble
                +- SFFloat
                +- SFImage
                +- SFInt32
                +- SFMatrix3d
                +- SFMatrix3f
                +- SFMatrix4d
                +- SFMatrix4f
                +- SFNode
                +- SFRotation
                +- SFString
                +- SFTime
                +- SFVec2d
                +- SFVec2f
                +- SFVec3d
                +- SFVec3f
                +- SFVec4d
                +- SFVec4f
                |
                +- X3DArrayField -+- MFBool
                                  +- MFColor
                                  +- MFColorRGBA
                                  +- MFDouble
                                  +- MFFloat
                                  +- MFImage
                                  +- MFInt32
                                  +- MFMatrix3d
                                  +- MFMatrix3f
                                  +- MFMatrix4d
                                  +- MFMatrix4f
                                  +- MFNode
                                  +- MFRotation
                                  +- MFString
                                  +- MFTime
                                  +- MFVec2d
                                  +- MFVec2f
                                  +- MFVec3d
                                  +- MFVec3f
                                  +- MFVec4d
                                  +- MFVec4f
    
      X3DBoundedObject
 
      X3DMetadataObject

      X3DUrlObject
      X3DFogObject
      X3DProgrammableShaderObject
      X3DNode
        | 
        +- X3DProtoInstance
        |
        +- X3DAppearanceNode -+- Appearance
        |
        +- X3DAppearanceChildNode -+- FillProperties
        |                          +- LineProperties
        |                          |
        |                          +- X3DMaterialNode -+- Material
        |                          |
        |                          +- X3DTextureNode -+- X3DTexture2DNode -+- ImageTexture (X3DUrlObject)*
        |                          |                  |                    +- MovieTexture (X3DSoundSourceNode, X3DUrlObject)*
        |                          |                  |                    +- PixelTexture
        |                          |                  |
        |                          |                  +- X3DTexture3DNode -+- ComposedTexture3D
        |                          |                  |                    +- ImageTexture3D (X3DUrlObject)*
        |                          |                  |                    +- PixelTexture3D
        |                          |                  |
        |                          |                  +- MultiTexture
        |                          |                  +- X3DEnvironmentTextureNode -+- ComposedCubeMapTexture
        |                          |                                                +- GeneratedCubeMapTexture
        |                          |                                                +- ImageCubeMapTexture (X3DUrlObject)*
        |                          |   
        |                          +- X3DTextureTransformNode -+- TextureTransform
        |                          |                           +- TextureTransform3D
        |                          |                           +- TextureTransformMatrix3D
        |                          |                           +- MultiTextureTransform
        |                          |
        |                          +- X3DShaderNode -+- ComposedShader (X3DProgrammableShaderObject)*
        |                                            +- PackagedShader (X3DUrlObject, X3DProgrammableShaderObject)*
        |                                            +- ProgramShader
        |
        +- X3DGeometryNode -+- Arc2D
        |                   +- ArcClose2D
        |                   +- Box
        |                   +- Circle2D
        |                   +- Cone
        |                   +- Cylinder
        |                   +- Disk2D
        |                   +- ElevationGrid
        |                   +- Extrusion
        |                   +- GeoElevationGrid
        |                   +- IndexedLineSet
        |                   +- LineSet
        |                   +- PointSet
        |                   +- Polyline2D
        |                   +- Polypoint2D
        |                   +- Rectangle2D
        |                   +- Sphere
        |                   +- Text
        |                   +- TriangleSet2D 
        |                   |
        |                   +- X3DComposedGeometryNode -+- IndexedFaceSet
        |                   |                           +- IndexedQuadSet
        |                   |                           +- IndexedTriangleFanSet
        |                   |                           +- IndexedTriangleSet
        |                   |                           +- IndexedTriangleStripSet
        |                   |                           +- QuadSet
        |                   |                           +- TriangleFanSet
        |                   |                           +- TriangleSet
        |                   |                           +- TriangleStripSet
        |                   |
        |                   +- X3DParametricGeometryNode -+- NurbsCurve
        |                                                 +- NurbsSweptSurface
        |                                                 +- NurbsSwungSurface
        |                                                 +- X3DNurbsSurfaceGeometryNode -+- NurbsPatchSurface
        |                                                                                 +- NurbsTrimmedSurface
        |
        +- GeoOrigin
        |
        +- X3DGeometricPropertyNode -+- X3DColorNode -+- Color
        |                            |                +- ColorRGBA
        |                            |
        |                            +- X3DCoordinateNode -+- Coordinate
        |                            |                     +- CoordinateDouble
        |                            |                     +- GeoCoordinate
        |                            |
        |                            +- FogCoordinate
        |                            |
        |                            +- HAnimDisplacer
        |                            |
        |                            +- X3DNormalNode -+- Normal
        |                            |
        |                            +- X3DTextureCoordinateNode -+- MultiTextureCoordinate
        |                            |                            +- TextureCoordinate
        |                            |                            +- TextureCoordinateGenerator
        |                            |                            +- TextureCoordinate3D
        |                            |                            +- TextureCoordinate4D
        |                            |
        |                            +- X3DVertexAttributeNode -+- FloatVertexAttribute
        |                                                       +- Matrix3VertexAttribute
        |                                                       +- Matrix4VertexAttribute
        |
        +- X3DFontStyleNode -+- FontStyle                               
        |
        +- MetadataDouble (X3DMetadataObject)*
        +- MetadataFloat (X3DMetadataObject)*
        +- MetadataInteger (X3DMetadataObject)*
        +- MetadataSet (X3DMetadataObject)*
        +- MetadataString (X3DMetadataObject)*
        |
        +- Contour2D
        +- NurbsTextureCoordinate
        +- X3DNurbsControlCurveNode -+- ContourPolyline2D
        |                            +- NurbsCurve2D
        |
        +- ShaderPart (X3DUrlObject)*
        +- ShaderProgram (X3DUrlObject, X3DProgrammableShaderObject)*
        |
        +- X3DChildNode -+- X3DBindableNode -+- Fog (X3DFogObject)*
                         |                   +- GeoViewpoint
                         |                   +- NavigationInfo
                         |                   +- Viewpoint
                         |                   +- X3DBackgroundNode -+- Background 
                         |                                         +- TextureBackground
                         |
                         +- LocalFog (X3DFogObject)*
                         |
                         +- Inline (X3DUrlObject, X3DBoundedObject)*
                         |
                         +- StaticGroup (X3DBoundedObject)*
                         |
                         +- X3DShapeNode -+- Shape (X3DBoundedObject)*
                         |
                         +- X3DGroupingNode (X3DBoundedObject)* -+- Anchor
                         |                                       +- Billboard
                         |                                       +- CADAssembly (X3DProductStructureChildNode)*
                         |                                       +- CADLayer
                         |                                       +- CADPart (X3DProductStructureChildNode)*
                         |                                       +- Collision (X3DSensorNode)*
                         |                                       +- EspduTransform
                         |                                       +- GeoLocation
                         |                                       +- GeoLOD
                         |                                       +- Group
                         |                                       +- HAnimJoint
                         |                                       +- HAnimSegment
                         |                                       +- HAnimSite
                         |                                       +- LOD
                         |                                       +- Switch
                         |                                       +- Transform
                         |
                         +- NurbsSet (X3DBoundedObject)*
                         +- NurbsOrientationInterpolator
                         +- NurbsPositionInterpolator
                         +- NurbsSurfaceInterpolator
                         |
                         +- HAnimHumanoid (X3DBoundedObject)*
                         |
                         +- ReceiverPdu (X3DBoundedObject)*
                         +- SignalPdu (X3DBoundedObject)*
                         +- TransmitterPdu (X3DBoundedObject)*
                         |
                         +- X3DInterpolatorNode -+- ColorInterpolator
                         |                       +- CoordinateInterpolator
                         |                       +- CoordinateInterpolator2D
                         |                       +- GeoPositionInterpolator
                         |                       +- NormalInterpolator
                         |                       +- OrientationInterpolator
                         |                       +- PositionInterpolator
                         |                       +- PositionInterpolator2D
                         |                       +- ScalarInterpolator
                         |                   
                         +- X3DLightNode -+- DirectionalLight
                         |                +- PointLight
                         |                +- SpotLight 
                         |
                         +- X3DScriptNode (X3DUrlObject)* -+- Script
                         |
                         +- X3DSensorNode -+- TimeSensor (X3DTimeDependentNode)*
                         |                 +- Collision (X3DGroupingNode)*
                         |                 +- X3DEnvironmentalSensorNode -+- ProximitySensor
                         |                 |                              +- VisibilitySensor
                         |                 |
                         |                 +- X3DKeyDeviceSensorNode -+- KeySensor
                         |                 |                          +- StringSensor
                         |                 |
                         |                 +- X3DNetworkSensorNode +- LoadSensor
                         |                 | 
                         |                 +- X3DPointingDeviceSensorNode -+- X3DDragSensorNode -+- CylinderSensor
                         |                                                 |                     +- PlaneSensor
                         |                                                 |                     +- SphereSensor
                         |                                                 |
                         |                                                 +- X3DTouchSensorNode -+- GeoTouchSensor
                         |                                                                        +- TouchSensor
                         |
                         +- X3DSoundNode -+- Sound
                         |
                         +- X3DTimeDependentNode -+- TimeSensor (X3DSensorNode)*
                         |                        |
                         |                        +- X3DSoundSourceNode -+- AudioClip (X3DUrlObject) *
                         |                                               +- MovieTexture (X3DTexture2DNode, X3DUrlObject)*
                         |
                         +- X3DSequencerNode -+- BooleanSequencer
                         |                    +- IntegerSequencer
                         |
                         +- X3DTriggerNode -+- BooleanTrigger
                         |                  +- IntegerTrigger
                         |                  +- TimeTrigger
                         |
                         +- BooleanFilter
                         +- BooleanToggle
                         |
                         +- X3DInfoNode --+- GeoMetadata
                         |                +- WorldInfo
                         |
                         +- X3DProductStructureChildNode -+- CADAssembly (X3DGroupingNode)*
                                                          +- CADFace (X3DBoundedObject)*
                                                          +- CADPart (X3DGroupingNode)*
         

* = Derived from multiple interfaces"

4.4.2.4.2, 2nd paragraph

Replace the word "three" with the word "two".

4.4.3, 2nd paragraph

Replace the first sentence with the following:

“Node names are limited in scope to a single X3D file, prototype definition, or string submitted to either CreateX3DFromString, CreateX3DFromStream, or CreateX3DFromURL browser service or a construction for SFNodes within a script.”

4.4.4.4, 2nd paragraph

Replace "DEFconstruct" with "DEF construct".

4.4.6

Delete 4.4.6.1 header.

Delete 4.4.6.2 and 4.4.6.3

Append the following text to the last sentence of the first paragraph of the remaining content and hyperlink to the specified location:

“(see 9.2.5 IMPORT statement)”.

Append the following text to the last sentence of the second paragraph of the remaining content and hyperlink to the specified location:

“(see 9.2.6 EXPORT statement)”.

4.5.3, 4th paragraph

Replace with the following text:

“In the second column, each prerequisite for a support level is listed by a component name and a support level within that component. These table entries indicate that, for the browser to claim support for that level of the component, the browser implementation shall also support the component and support
level(s) listed as a prerequisite. If there are no prerequisites, the word "None" is specified.”

4.6

Append the following text as new subclause 4.6.3 and hyperlink the reference):

“4.6.3 Relationships between profiles and components

A profile consists of a collection of components at given support levels. A user may also supplement the predefined set of components for a given profile by specifying extra component statements (see 7.2.5.4 COMPONENT statement). If the user supplies additional component declarations in addition to the components and levels defined as part of the profile, the resultant components supported shall be the union of all components and levels requested. That is, a user cannot force a lower level of component conformance onto a profile by explicitly declaring the component with a lower level of support than that defined by the profile.

A profile definition shall be internally consistent. If a profile contains components that list prerequisites that are not covered by the component levels declared for that profile, the prerequisites shall not be automatically made available. Authors wishing to use these missing prerequisites shall explicitly declare the component and level required through the use of the COMPONENT statement.”

4.6.1

In the first paragraph, change "six initial" to "seven".

In the HTML, change the hyperlink destination for Annex D to "MPEG4interactive.html".

Append the following to the list of profiles:

"g. CADInterchange profile (see Annex H)"