X3D Model Documentation: WheelsFront.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <meta name='titlecontent=' WheelsFront.x3d '/>
  6            <meta name='descriptioncontent='The front wheels and axle perform an animation of raising or lowering when user clicks text. Wheels spin when a cursor is over the wheels.'/>
  7            <meta name='creatorcontent='Etsuko Lippi'/>
  8            <meta name='createdcontent='11 July 2001'/>
  9            <meta name='modifiedcontent='28 January 2024'/>
 10            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 11            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsFront.x3d '/>
 12            <meta name='subjectcontent='front wheels'/>
 13            <meta name='licensecontent='../../license.html'/>
 14       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: axis, AxleGearDownInterpolator, AxleGearDownTouchSensor, AxleGearUpInterpolator, AxleGearUpTouchSensor, black, black1, Clock, ClockAxleGearDown, ClockAxleGearUp, ConsoleOutputViewPositionOrientation, GearDown, GearUp, Hub, inside_wheel, inside_wheel2, mainAxle, Text, TextAppearance, TextFont, wheel, wheel2, WheelInterpolator, WheelsFrontAxleTransform, WheelTouchSensor, WheelTransform, white, white1

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2

Index for ExternProtoDeclare definition: ViewPositionOrientation
-->
 15       <Scene>
 16            <WorldInfo title='WheelsFront.x3d'/>
 17            <ExternProtoDeclare name='ViewPositionOrientationappinfo='ViewPositionOrientation provides provides console output of local position and orientation as user navigates'   url=' "../../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "../../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" '>
 18                 <field name='enabledtype='SFBoolaccessType='inputOutput'
                appinfo='Whether or not ViewPositionOrientation sends output to console.'/>
 19                 <field name='traceEnabledtype='SFBoolaccessType='initializeOnly'
                appinfo='Output internal trace messages for debugging this node - developer use only can be ignored.'/>
 20                 <field name='set_traceEnabledtype='SFBoolaccessType='inputOnly'
                appinfo='Ability to turn output tracing on/off at runtime.'/>
 21                 <field name='position_changedtype='SFVec3faccessType='outputOnly'
                appinfo='Output local position.'/>
 22                 <field name='orientation_changedtype='SFRotationaccessType='outputOnly'
                appinfo='Output local orientation.'/>
 23                 <field name='outputViewpointStringtype='MFStringaccessType='outputOnly'
                appinfo='MFString value of new Viewpoint'/>
 24            </ExternProtoDeclare>
 25            <Background skyColor='0.7 0.7 0.7'/>
 26            <Viewpoint description='Front Wheels Side View Point'/>
 27            <Switch whichChoice='0'>
 28                 <ProtoInstance name='ViewPositionOrientationDEF='ConsoleOutputViewPositionOrientation'/>
 29            </Switch>
 30            <Group>
 31 
               <!-- ROUTE information for WheelsFrontAxleTransform node:  [from AxleGearUpInterpolator.value_changed to set_rotation ] [from AxleGearDownInterpolator.value_changed to set_rotation ] -->
               <Transform DEF='WheelsFrontAxleTransformcenter='0 3 0'>
 32                      <Group>
 33                           <!-- wheels axis connecting to fuselage -->
 34 
                         <!-- ROUTE information for WheelTransform node:  [from WheelInterpolator.value_changed to set_rotation ] -->
                         <Transform DEF='WheelTransform'>
 35                                <Transform scale='0.3 0.3 0.3'>
 36                                     <Transform rotation='0 1 0 1.571'>
 37                                          <Shape DEF='wheel'>
 38                                               <Appearance>
 39                                                    <Material DEF='black1diffuseColor='0 0 0shininess='0.125specularColor='0.2 0.2 0.2'/>
 40                                               </Appearance>
 41                                               <Extrusion creaseAngle='3.14crossSection='0.00 1.30 .494 1.196 .923 .923 1.196 .494 1.30 0.00 1.196 -.494 .923 -.923 .494 -1.196 0.00 -1.30spine='0 0 1.30 0 .494 1.196 0 .923 .923 0 1.196 .494 0 1.30 0.00 0 1.196 -.494 0 .923 -.923 0 .494 -1.196 0 0.00 -1.30 0 -.494 -1.196 0 -.923 -.923 0 -1.196 -.494 0 -1.30 0 0 -1.196 .494 0 -.923 .923 0 -.494 1.196 0 0.00 1.30'/>
 42                                          </Shape>
 43                                          <Shape DEF='inside_wheel'>
 44 
                                             <!-- Appearance white1 is a DEF node that has 1 USE node: USE_1 -->
                                             <Appearance DEF='white1'>
 45                                                    <Material diffuseColor='1 1 1'/>
 46                                               </Appearance>
 47                                               <Extrusion crossSection='0.00 1.30 0.10 1.30 0.10 0.00 0.10 -1.30 0.00 -1.30 0.00 0.00 0.00 1.30spine='0 0 1.30 0 .494 1.196 0 .923 .923 0 1.196 .494 0 1.30 0.00 0 1.196 -.494 0 .923 -.923 0 .494 -1.196 0 0.00 -1.30 0 -.494 -1.196 0 -.923 -.923 0 -1.196 -.494 0 -1.30 0 0 -1.196 .494 0 -.923 .923 0 -.494 1.196 0 0.00 1.30'/>
 48                                          </Shape>
 49                                     </Transform>
 50                                     <Transform rotation='0 1 0 1.571'>
 51                                          <Shape>
 52                                               <Appearance USE='white1'/>
 53                                               <Extrusion crossSection='-0.10 1.30 0.00 1.30 0.00 0.00 0.00 -1.30 -0.10 -1.30 -0.10 0.00 -0.10 1.30spine='0 0 1.30 0 .494 1.196 0 .923 .923 0 1.196 .494 0 1.30 0.00 0 1.196 -.494 0 .923 -.923 0 .494 -1.196 0 0.00 -1.30 0 -.494 -1.196 0 -.923 -.923 0 -1.196 -.494 0 -1.30 0 0 -1.196 .494 0 -.923 .923 0 -.494 1.196 0 0.00 1.30'/>
 54                                          </Shape>
 55                                     </Transform>
 56                                     <Transform rotation='0 1 0 1.571'>
 57                                          <Shape>
 58                                               <Appearance>
 59                                                    <Material diffuseColor='0 0.25 0.5'/>
 60                                               </Appearance>
 61                                               <Extrusion crossSection='-0.30 1.30 -0.10 1.30 -0.10 0.00 -0.10 -1.30 -0.30 -1.30 -0.30 0.00 -0.30 1.30spine='0 0 1.30 0 .494 1.196 0 .923 .923 0 1.196 .494 0 1.30 0.00 0 1.196 -.494 0 .923 -.923 0 .494 -1.196 0 0.00 -1.30 0 -.494 -1.196 0 -.923 -.923 0 -1.196 -.494 0 -1.30 0 0 -1.196 .494 0 -.923 .923 0 -.494 1.196 0 0.00 1.30'/>
 62                                          </Shape>
 63                                     </Transform>
 64                                </Transform>
 65                                <Transform translation='0 0 0.30'>
 66 
                                   <!-- Inline Hub is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                                   <Inline DEF='Hub'   url=' "Hub.x3d" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/Hub.x3d" "Hub.wrl" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/Hub.wrl" '/>
 67                                </Transform>
 68                                <Transform translation='0 0 -0.30'>
 69                                     <Inline USE='Hub'/>
 70                                </Transform>
 71 
                              <!-- ROUTE information for WheelTouchSensor node:  [from isOver to Clock.set_enabled ] -->
                              <TouchSensor DEF='WheelTouchSensordescription='touch wheel to spin'/>
 72 
                              <!-- ROUTE information for Clock node:  [from WheelTouchSensor.isOver to set_enabled ] [from fraction_changed to WheelInterpolator.set_fraction ] -->
                              <TimeSensor DEF='ClockcycleInterval='0.5enabled='falseloop='true'/>
 73 
                              <!-- ROUTE information for WheelInterpolator node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to WheelTransform.set_rotation ] -->
                              <OrientationInterpolator DEF='WheelInterpolatorkey='0 0.5 1.0keyValue='0 0 1 0.0 0 0 1 3.14 0 0 1 6.28'/>
 74                                < ROUTE  fromNode='WheelTouchSensor' fromField='isOver' toNode='Clock' toField='set_enabled'/>
 75                                < ROUTE  fromNode='Clock' fromField='fraction_changed' toNode='WheelInterpolator' toField='set_fraction'/>
 76                                < ROUTE  fromNode='WheelInterpolator' fromField='value_changed' toNode='WheelTransform' toField='set_rotation'/>
 77                                <Transform scale='0.3 0.3 0.3translation='0 0 1.5'>
 78                                     <Transform rotation='0 1 0 1.571'>
 79                                          <Shape DEF='wheel2'>
 80                                               <Appearance>
 81                                                    <Material DEF='blackdiffuseColor='0 0 0shininess='0.125specularColor='0.2 0.2 0.2'/>
 82                                               </Appearance>
 83                                               <Extrusion creaseAngle='3.14crossSection='0.00 1.30 .494 1.196 .923 .923 1.196 .494 1.30 0.00 1.196 -.494 .923 -.923 .494 -1.196 0.00 -1.30spine='0 0 1.30 0 .494 1.196 0 .923 .923 0 1.196 .494 0 1.30 0.00 0 1.196 -.494 0 .923 -.923 0 .494 -1.196 0 0.00 -1.30 0 -.494 -1.196 0 -.923 -.923 0 -1.196 -.494 0 -1.30 0 0 -1.196 .494 0 -.923 .923 0 -.494 1.196 0 0.00 1.30'/>
 84                                          </Shape>
 85                                          <Shape DEF='inside_wheel2'>
 86 
                                             <!-- Appearance white is a DEF node that has 1 USE node: USE_1 -->
                                             <Appearance DEF='white'>
 87                                                    <Material diffuseColor='1 1 1'/>
 88                                               </Appearance>
 89                                               <Extrusion crossSection='0.00 1.30 0.10 1.30 0.10 0.00 0.10 -1.30 0.00 -1.30 0.00 0.00 0.00 1.30spine='0 0 1.30 0 .494 1.196 0 .923 .923 0 1.196 .494 0 1.30 0.00 0 1.196 -.494 0 .923 -.923 0 .494 -1.196 0 0.00 -1.30 0 -.494 -1.196 0 -.923 -.923 0 -1.196 -.494 0 -1.30 0 0 -1.196 .494 0 -.923 .923 0 -.494 1.196 0 0.00 1.30'/>
 90                                          </Shape>
 91                                     </Transform>
 92                                     <Transform rotation='0 1 0 1.571'>
 93                                          <Shape>
 94                                               <Appearance USE='white'/>
 95                                               <Extrusion crossSection='-0.10 1.30 0.00 1.30 0.00 0.00 0.00 -1.30 -0.10 -1.30 -0.10 0.00 -0.10 1.30spine='0 0 1.30 0 .494 1.196 0 .923 .923 0 1.196 .494 0 1.30 0.00 0 1.196 -.494 0 .923 -.923 0 .494 -1.196 0 0.00 -1.30 0 -.494 -1.196 0 -.923 -.923 0 -1.196 -.494 0 -1.30 0 0 -1.196 .494 0 -.923 .923 0 -.494 1.196 0 0.00 1.30'/>
 96                                          </Shape>
 97                                     </Transform>
 98                                     <Transform rotation='0 1 0 1.571'>
 99                                          <Shape>
100                                               <Appearance>
101                                                    <Material diffuseColor='0 0.25 0.5'/>
102                                               </Appearance>
103                                               <Extrusion crossSection='-0.30 1.30 -0.10 1.30 -0.10 0.00 -0.10 -1.30 -0.30 -1.30 -0.30 0.00 -0.30 1.30spine='0 0 1.30 0 .494 1.196 0 .923 .923 0 1.196 .494 0 1.30 0.00 0 1.196 -.494 0 .923 -.923 0 .494 -1.196 0 0.00 -1.30 0 -.494 -1.196 0 -.923 -.923 0 -1.196 -.494 0 -1.30 0 0 -1.196 .494 0 -.923 .923 0 -.494 1.196 0 0.00 1.30'/>
104                                          </Shape>
105                                     </Transform>
106                                </Transform>
107                                <Transform translation='0 0 1.80'>
108                                     <Inline USE='Hub'/>
109                                </Transform>
110                                <Transform translation='0 0 1.20'>
111                                     <Inline USE='Hub'/>
112                                </Transform>
113                           </Transform>
114                      </Group>
115                      <Group>
116                           <Transform>
117                                <Transform translation='0 0.55 0.75'>
118                                     <Shape>
119 
                                        <!-- Appearance axis is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                                        <Appearance DEF='axis'>
120                                               <Material ambientIntensity='0.3diffuseColor='0.3 0.3 0.3shininess='0.20specularColor='0.50 0.50 0.60'/>
121                                          </Appearance>
122                                          <Cylinder height='1radius='0.08'/>
123                                     </Shape>
124                                </Transform>
125                                <Transform rotation='1 0 0 1.57scale='0.7 0.7 0.7translation='0 0 1'>
126                                     <!-- Axis for wheelsFront -->
127                                     <Shape>
128                                          <Appearance USE='axis'/>
129                                          <Cylinder radius='0.1'/>
130                                     </Shape>
131                                </Transform>
132                                <Transform rotation='1 0 0 1.57scale='0.7 0.7 0.7translation='0 0 0.75'>
133                                     <!-- Joint -->
134                                     <Shape>
135                                          <Appearance USE='axis'/>
136                                          <Cylinder height='0.4radius='0.15'/>
137                                     </Shape>
138                                </Transform>
139                                <Transform scale='0.7 0.7 0.7translation='0 1.5 0.75'>
140                                     <!-- main axle for front wheels -->
141                                     <Shape>
142 
                                        <!-- Appearance mainAxle is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                                        <Appearance DEF='mainAxle'>
143                                               <Material diffuseColor='1.0 1.0 1.0'/>
144                                          </Appearance>
145                                          <Cylinder height='3radius='0.25'/>
146                                     </Shape>
147                                </Transform>
148                                <Transform rotation='0 0 -1 1.05scale='0.7 0.7 0.7translation='0.68 1.5 0.75'>
149                                     <!-- assistant axle for front wheels -->
150                                     <Shape>
151                                          <Appearance USE='mainAxle'/>
152                                          <Cylinder radius='0.2'/>
153                                     </Shape>
154                                </Transform>
155                                <Transform rotation='0 0 -1 1.05scale='0.7 0.7 0.7translation='1.8 2.15 0.75'>
156                                     <!-- assistant axle for front wheels -->
157                                     <Shape>
158                                          <Appearance USE='mainAxle'/>
159                                          <Cylinder radius='0.3'/>
160                                     </Shape>
161                                </Transform>
162                           </Transform>
163                           <Viewpoint description='Front Wheels View Pointorientation='.2 -.97 .138 1.1899position='-3.1 -.1 2.3'/>
164                      </Group>
165                 </Transform>
166            </Group>
167            <Group DEF='Text'>
168                 <Transform DEF='GearUpscale='2 2 2translation='-4.5 1 3'>
169                      <Shape>
170                           <Text string='"Gear Up"'>
171 
                              <!-- FontStyle TextFont is a DEF node that has 1 USE node: USE_1 -->
                              <FontStyle DEF='TextFontsize='0.5'/>
172                           </Text>
173 
                         <!-- Appearance TextAppearance is a DEF node that has 1 USE node: USE_1 -->
                         <Appearance DEF='TextAppearance'>
174                                <Material diffuseColor='0.501961 1 0.745098'/>
175                           </Appearance>
176                      </Shape>
177 
                    <!-- ROUTE information for AxleGearUpTouchSensor node:  [from touchTime to ClockAxleGearUp.set_startTime ] -->
                    <TouchSensor DEF='AxleGearUpTouchSensordescription='gear up'/>
178 
                    <!-- ROUTE information for ClockAxleGearUp node:  [from AxleGearUpTouchSensor.touchTime to set_startTime ] [from fraction_changed to AxleGearUpInterpolator.set_fraction ] -->
                    <TimeSensor DEF='ClockAxleGearUpcycleInterval='4'/>
179 
                    <!-- ROUTE information for AxleGearUpInterpolator node:  [from ClockAxleGearUp.fraction_changed to set_fraction ] [from value_changed to WheelsFrontAxleTransform.set_rotation ] -->
                    <OrientationInterpolator DEF='AxleGearUpInterpolatorkey='0 0.5 1.0keyValue='0 0 1 0.0 0 0 1 0.79 0 0 1 1.70'/>
180                      < ROUTE  fromNode='AxleGearUpTouchSensor' fromField='touchTime' toNode='ClockAxleGearUp' toField='set_startTime'/>
181                      < ROUTE  fromNode='ClockAxleGearUp' fromField='fraction_changed' toNode='AxleGearUpInterpolator' toField='set_fraction'/>
182                      < ROUTE  fromNode='AxleGearUpInterpolator' fromField='value_changed' toNode='WheelsFrontAxleTransform' toField='set_rotation'/>
183                 </Transform>
184                 <Transform DEF='GearDownscale='2 2 2translation='-4.5 0 3'>
185                      <Shape>
186                           <Text string='"Gear Down"'>
187                                <FontStyle USE='TextFont'/>
188                           </Text>
189                           <Appearance USE='TextAppearance'/>
190                      </Shape>
191 
                    <!-- ROUTE information for AxleGearDownTouchSensor node:  [from touchTime to ClockAxleGearDown.set_startTime ] -->
                    <TouchSensor DEF='AxleGearDownTouchSensordescription='gear down'/>
192 
                    <!-- ROUTE information for ClockAxleGearDown node:  [from AxleGearDownTouchSensor.touchTime to set_startTime ] [from fraction_changed to AxleGearDownInterpolator.set_fraction ] -->
                    <TimeSensor DEF='ClockAxleGearDowncycleInterval='4'/>
193 
                    <!-- ROUTE information for AxleGearDownInterpolator node:  [from ClockAxleGearDown.fraction_changed to set_fraction ] [from value_changed to WheelsFrontAxleTransform.set_rotation ] -->
                    <OrientationInterpolator DEF='AxleGearDownInterpolatorkey='0 0.5 1.0keyValue='0 0 1 1.70 0 0 1 0.79 0 0 1 0.0'/>
194                      < ROUTE  fromNode='AxleGearDownTouchSensor' fromField='touchTime' toNode='ClockAxleGearDown' toField='set_startTime'/>
195                      < ROUTE  fromNode='ClockAxleGearDown' fromField='fraction_changed' toNode='AxleGearDownInterpolator' toField='set_fraction'/>
196                      < ROUTE  fromNode='AxleGearDownInterpolator' fromField='value_changed' toNode='WheelsFrontAxleTransform' toField='set_rotation'/>
197                 </Transform>
198            </Group>
199       </Scene>
200  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: axis, AxleGearDownInterpolator, AxleGearDownTouchSensor, AxleGearUpInterpolator, AxleGearUpTouchSensor, black, black1, Clock, ClockAxleGearDown, ClockAxleGearUp, ConsoleOutputViewPositionOrientation, GearDown, GearUp, Hub, inside_wheel, inside_wheel2, mainAxle, Text, TextAppearance, TextFont, wheel, wheel2, WheelInterpolator, WheelsFrontAxleTransform, WheelTouchSensor, WheelTransform, white, white1

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2

Index for ExternProtoDeclare definition: ViewPositionOrientation
-->
X3D Tooltips element index: Appearance, Background, Cylinder, ExternProtoDeclare, Extrusion, field, FontStyle, Group, head, Inline, Material, meta, OrientationInterpolator, ProtoInstance, ROUTE, Scene, Shape, Switch, Text, TimeSensor, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table entries with 9 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.

AxleGearDownTouchSensor
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
ClockAxleGearDown
TimeSensor
set_startTime
SFTime
then
 
 
 
ClockAxleGearDown
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
AxleGearDownInterpolator
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
AxleGearDownInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
WheelsFrontAxleTransform
Transform
set_rotation
SFRotation

AxleGearUpTouchSensor
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
ClockAxleGearUp
TimeSensor
set_startTime
SFTime
then
 
 
 
ClockAxleGearUp
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
AxleGearUpInterpolator
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
AxleGearUpInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
WheelsFrontAxleTransform
Transform
set_rotation
SFRotation

WheelTouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
Clock
TimeSensor
set_enabled
SFBool
then
 
 
 
Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
WheelInterpolator
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
WheelInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
WheelTransform
Transform
set_rotation
SFRotation

ConsoleOutputViewPositionOrientation
ProtoInstance
ViewPositionOrientation
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsFrontIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsFront.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode  DEF='idNamefield='value'/> matches XML terminology <XmlElement  DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
    <ProtoInstance name='ProtoName'> <field name='fieldName'/> </ProtoInstance> -->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->