<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>This has been solved, but introduced an @value or -children at the top level Script node.  Argh!</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Thursday, June 30, 2016 9:17 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a>; <a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>What to do with ViewpointNode and NavigationInfoNode in prototypeexpander</p></div><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p><p class=MsoNormal>examples/X3dForWebAuthors/Chapter14-Prototypes/ViewFrustumExample.json</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am prototype expanding this file from x3d resources examples.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I expand into this snippet (don’t ask how I got here, I’m trying to actually figure out what I should do?), which is not passing JSON Schema:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>         "-ViewpointNode": {</p><p class=MsoNormal>              "#comment": "prefer empty description to prevent entry in player's ViewpointList"</p><p class=MsoNormal>            },</p><p class=MsoNormal>            "-NavigationInfoNode": {</p><p class=MsoNormal>              "NavigationInfo": {</p><p class=MsoNormal>                "@visibilityLimit": 15</p><p class=MsoNormal>              }</p><p class=MsoNormal>            },</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I believe the leading – is coming from the -children.  However, it’s likely those objects shouldn’t even be there.  Obviously, I should be seeing that it’s an SFNode and returning the first child.  Arranging that may be more difficult. On the other hand, this is in a script node, and the prototype expander is obviously trying to set a default value or some such for the Script field…which the prototype expander likely shouldn’t be doing IDK.  I should probably leave the field as is and set a default value of the SFNode information.  Apparently, I am doing something horrible with script fields, likely if they are SFNode type.  Code is at <a href="https://github.com/coderextreme/PrototypeExpander.js">https://github.com/coderextreme/PrototypeExpander.js</a>  What should I do with script fields that have a default value assigned from the prototype, especially if they are SFNodes?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Complete expanded JSON follows:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>{</p><p class=MsoNormal>  "X3D": {</p><p class=MsoNormal>    "encoding": "UTF-8",</p><p class=MsoNormal>    "@profile": "Immersive",</p><p class=MsoNormal>    "@version": "3.3",</p><p class=MsoNormal>    "@xsd:noNamespaceSchemaLocation": "http://www.web3d.org/specifications/x3d-3.3.xsd",</p><p class=MsoNormal>    "JSON schema": "http://www.web3d.org/specifications/x3d-3.3-JSONSchema.json",</p><p class=MsoNormal>    "head": {</p><p class=MsoNormal>      "meta": [</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "title",</p><p class=MsoNormal>          "@content": "ViewFrustumExample.x3d"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "description",</p><p class=MsoNormal>          "@content": "Display view frustum associated with a given pair of Viewpoint and NavigationInfo nodes"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "creator",</p><p class=MsoNormal>          "@content": "Don Brutzman"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "translated",</p><p class=MsoNormal>          "@content": "16 August 2008"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "modified",</p><p class=MsoNormal>          "@content": "23 December 2010"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "reference",</p><p class=MsoNormal>          "@content": "ViewFrustumPrototype.x3d"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "drawing",</p><p class=MsoNormal>          "@content": "ViewFrustumComputation.png"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "Image",</p><p class=MsoNormal>          "@content": "ViewFrustumOverheadView.png"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "Image",</p><p class=MsoNormal>          "@content": "ViewFrustumObliqueView.png"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "Image",</p><p class=MsoNormal>          "@content": "ViewpointCalculator.png"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "subject",</p><p class=MsoNormal>          "@content": "view culling frustum"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "identifier",</p><p class=MsoNormal>          "@content": "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter14-Prototypes/ViewFrustumExample.x3d"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "generator",</p><p class=MsoNormal>          "@content": "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "license",</p><p class=MsoNormal>          "@content": "../license.html"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "translated",</p><p class=MsoNormal>          "@content": "27 March 2016"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "generator",</p><p class=MsoNormal>          "@content": "X3dToJson.xslt, http://www.web3d.org/x3d/stylesheets/X3dToJson.html"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "@name": "warning",</p><p class=MsoNormal>          "@content": "An experimental version of X3D JSON encoding is used for this scene.  Status online at http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding"</p><p class=MsoNormal>        }</p><p class=MsoNormal>      ]</p><p class=MsoNormal>    },</p><p class=MsoNormal>    "Scene": {</p><p class=MsoNormal>      "-children": [</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "Viewpoint": {</p><p class=MsoNormal>            "@description": "ViewFrustum from above, looking down",</p><p class=MsoNormal>            "@orientation": [</p><p class=MsoNormal>              1,</p><p class=MsoNormal>              0,</p><p class=MsoNormal>              0,</p><p class=MsoNormal>              -1.57</p><p class=MsoNormal>            ],</p><p class=MsoNormal>            "@position": [</p><p class=MsoNormal>              0,</p><p class=MsoNormal>              40,</p><p class=MsoNormal>              0</p><p class=MsoNormal>            ]</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "Viewpoint": {</p><p class=MsoNormal>            "@description": "ViewFrustum from point of view"</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "Viewpoint": {</p><p class=MsoNormal>            "@description": "ViewFrustum behind point of view",</p><p class=MsoNormal>            "@position": [</p><p class=MsoNormal>              0,</p><p class=MsoNormal>              0,</p><p class=MsoNormal>              15</p><p class=MsoNormal>            ]</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "Viewpoint": {</p><p class=MsoNormal>            "@description": "ViewFrustum oblique side view",</p><p class=MsoNormal>            "@orientation": [</p><p class=MsoNormal>              0.8005,</p><p class=MsoNormal>              0.5926,</p><p class=MsoNormal>              0.0898,</p><p class=MsoNormal>              -0.3743</p><p class=MsoNormal>            ],</p><p class=MsoNormal>            "@position": [</p><p class=MsoNormal>              -5,</p><p class=MsoNormal>              5,</p><p class=MsoNormal>              20</p><p class=MsoNormal>            ]</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "NavigationInfo": {</p><p class=MsoNormal>            "@type": [</p><p class=MsoNormal>              "EXAMINE",</p><p class=MsoNormal>              "FLY",</p><p class=MsoNormal>              "ANY"</p><p class=MsoNormal>            ]</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {},</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "#comment": "Example use"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "Switch": {</p><p class=MsoNormal>            "@DEF": "DECLViewFrustum_INSTANCE_VisibilitySwitch",</p><p class=MsoNormal>            "@whichChoice": -1,</p><p class=MsoNormal>            "-children": [</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "Transform": {</p><p class=MsoNormal>                  "@DEF": "DECLViewFrustum_INSTANCE_PositionTransform",</p><p class=MsoNormal>                  "@rotation": [</p><p class=MsoNormal>                    0,</p><p class=MsoNormal>                    1,</p><p class=MsoNormal>                    0,</p><p class=MsoNormal>                    3.14159</p><p class=MsoNormal>                  ],</p><p class=MsoNormal>                  "-children": [</p><p class=MsoNormal>                    {</p><p class=MsoNormal>                      "Transform": {</p><p class=MsoNormal>                        "@DEF": "DECLViewFrustum_INSTANCE_OrientationTransform",</p><p class=MsoNormal>                        "-children": [</p><p class=MsoNormal>                          {</p><p class=MsoNormal>                            "Shape": {</p><p class=MsoNormal>                              "-geometry": {</p><p class=MsoNormal>                                "IndexedLineSet": {</p><p class=MsoNormal>                                  "@DEF": "DECLViewFrustum_INSTANCE_FrustumLines",</p><p class=MsoNormal>                                  "@coordIndex": [</p><p class=MsoNormal>                                    0,</p><p class=MsoNormal>                                    1,</p><p class=MsoNormal>                                    2,</p><p class=MsoNormal>                                    3,</p><p class=MsoNormal>                                    0,</p><p class=MsoNormal>                                    -1,</p><p class=MsoNormal>                                    4,</p><p class=MsoNormal>                                    5,</p><p class=MsoNormal>                                    6,</p><p class=MsoNormal>                                    7,</p><p class=MsoNormal>                                    4,</p><p class=MsoNormal>                                    -1,</p><p class=MsoNormal>                                    0,</p><p class=MsoNormal>                                    4,</p><p class=MsoNormal>                                    -1,</p><p class=MsoNormal>                                    1,</p><p class=MsoNormal>                                    5,</p><p class=MsoNormal>                                    -1,</p><p class=MsoNormal>                                    2,</p><p class=MsoNormal>                                    6,</p><p class=MsoNormal>                                    -1,</p><p class=MsoNormal>                                    3,</p><p class=MsoNormal>                                    7,</p><p class=MsoNormal>                                    -1</p><p class=MsoNormal>                                  ],</p><p class=MsoNormal>                                  "-coord": {</p><p class=MsoNormal>                                    "Coordinate": {</p><p class=MsoNormal>                                      "@DEF": "DECLViewFrustum_INSTANCE_FrustumCoordinate",</p><p class=MsoNormal>                                      "@point": [</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0,</p><p class=MsoNormal>                                        0</p><p class=MsoNormal>                                      ]</p><p class=MsoNormal>                                    }</p><p class=MsoNormal>                                  }</p><p class=MsoNormal>                                }</p><p class=MsoNormal>                            },</p><p class=MsoNormal>                              "-appearance": {</p><p class=MsoNormal>                                "Appearance": {</p><p class=MsoNormal>                                  "-material": {</p><p class=MsoNormal>                                    "Material": {</p><p class=MsoNormal>                                      "@emissiveColor": [</p><p class=MsoNormal>                                        0.9,</p><p class=MsoNormal>                                        0.9,</p><p class=MsoNormal>                                        0.9</p><p class=MsoNormal>                                      ]</p><p class=MsoNormal>                                    }</p><p class=MsoNormal>                                  }</p><p class=MsoNormal>                                }</p><p class=MsoNormal>                              }</p><p class=MsoNormal>                            }</p><p class=MsoNormal>                          },</p><p class=MsoNormal>                          {</p><p class=MsoNormal>                            "Shape": {</p><p class=MsoNormal>                              "-geometry": {</p><p class=MsoNormal>                                "Extrusion": {</p><p class=MsoNormal>                                  "@DEF": "DECLViewFrustum_INSTANCE_FrustumExtrusion"</p><p class=MsoNormal>                                }</p><p class=MsoNormal>                              },</p><p class=MsoNormal>                              "-appearance": {</p><p class=MsoNormal>                                "Appearance": {</p><p class=MsoNormal>                                  "@DEF": "DECLViewFrustum_INSTANCE_FrustumAppearance",</p><p class=MsoNormal>                                  "-material": {</p><p class=MsoNormal>                                    "Material": {</p><p class=MsoNormal>                                      "@diffuseColor": [</p><p class=MsoNormal>                                        0.8,</p><p class=MsoNormal>                                        0.8,</p><p class=MsoNormal>                                        0.8</p><p class=MsoNormal>                                      ],</p><p class=MsoNormal>                                      "@transparency": 0.75</p><p class=MsoNormal>                                    }</p><p class=MsoNormal>                                  }</p><p class=MsoNormal>                                }</p><p class=MsoNormal>                              }</p><p class=MsoNormal>                            }</p><p class=MsoNormal>                          },</p><p class=MsoNormal>                          {</p><p class=MsoNormal>                            "Shape": {</p><p class=MsoNormal>                              "-geometry": {</p><p class=MsoNormal>                                "Sphere": {</p><p class=MsoNormal>                                  "@radius": 0.08</p><p class=MsoNormal>                                }</p><p class=MsoNormal>                              },</p><p class=MsoNormal>                              "-appearance": {</p><p class=MsoNormal>                                "Appearance": {</p><p class=MsoNormal>                                  "@USE": "DECLViewFrustum_INSTANCE_FrustumAppearance"</p><p class=MsoNormal>                                }</p><p class=MsoNormal>                              }</p><p class=MsoNormal>                            }</p><p class=MsoNormal>                          }</p><p class=MsoNormal>                        ]</p><p class=MsoNormal>                      }</p><p class=MsoNormal>                    }</p><p class=MsoNormal>                  ]</p><p class=MsoNormal>                }</p><p class=MsoNormal>              }</p><p class=MsoNormal>            ]</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "Script": {</p><p class=MsoNormal>            "@DEF": "DECLViewFrustum_INSTANCE_GeometryComputationScript",</p><p class=MsoNormal>            "@directOutput": true,</p><p class=MsoNormal>            "@url": [</p><p class=MsoNormal>              "examples/X3dForWebAuthors/Chapter14-Prototypes/ViewFrustumPrototypeScript.js",</p><p class=MsoNormal>              "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter14-Prototypes/ViewFrustumPrototypeScript.js"</p><p class=MsoNormal>            ],</p><p class=MsoNormal>            "field": [</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "visible",</p><p class=MsoNormal>                "@accessType": "inputOutput",</p><p class=MsoNormal>                "@appinfo": "Whether or not frustum geometry is rendered",</p><p class=MsoNormal>                "@type": "SFBool",</p><p class=MsoNormal>                "@value": true</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "visibilitySwitchSelection",</p><p class=MsoNormal>                "@accessType": "outputOnly",</p><p class=MsoNormal>                "@appinfo": "Adjust Switch selection to make geometry visible or not",</p><p class=MsoNormal>                "@type": "SFInt32"</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "ViewpointNode",</p><p class=MsoNormal>                "@accessType": "initializeOnly",</p><p class=MsoNormal>                "@type": "SFNode",</p><p class=MsoNormal>                "-children": {</p><p class=MsoNormal>                  "#comment": "NULL node, ProtoInstance must provide"</p><p class=MsoNormal>                }</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "NavigationInfoNode",</p><p class=MsoNormal>                "@accessType": "initializeOnly",</p><p class=MsoNormal>                "@type": "SFNode",</p><p class=MsoNormal>                "-children": {</p><p class=MsoNormal>                  "#comment": "NULL node, ProtoInstance must provide"</p><p class=MsoNormal>                }</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "FrustumCoordinate",</p><p class=MsoNormal>                "@accessType": "initializeOnly",</p><p class=MsoNormal>                "@type": "SFNode",</p><p class=MsoNormal>                "-children": [</p><p class=MsoNormal>                  {</p><p class=MsoNormal>                    "Coordinate": {</p><p class=MsoNormal>                      "@USE": "DECLViewFrustum_INSTANCE_FrustumCoordinate"</p><p class=MsoNormal>                    }</p><p class=MsoNormal>                  }</p><p class=MsoNormal>                ]</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "FrustumExtrusion",</p><p class=MsoNormal>                "@accessType": "initializeOnly",</p><p class=MsoNormal>                "@type": "SFNode",</p><p class=MsoNormal>                "-children": [</p><p class=MsoNormal>                  {</p><p class=MsoNormal>                    "Extrusion": {</p><p class=MsoNormal>                      "@USE": "DECLViewFrustum_INSTANCE_FrustumExtrusion"</p><p class=MsoNormal>                    }</p><p class=MsoNormal>                  }</p><p class=MsoNormal>                ]</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "recompute",</p><p class=MsoNormal>                "@accessType": "inputOnly",</p><p class=MsoNormal>                "@type": "SFBool"</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "aspectRatio",</p><p class=MsoNormal>                "@accessType": "inputOutput",</p><p class=MsoNormal>                "@appinfo": "assumed ratio height/width",</p><p class=MsoNormal>                "@type": "SFFloat",</p><p class=MsoNormal>                "@value": 0.75</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "position_changed",</p><p class=MsoNormal>                "@accessType": "outputOnly",</p><p class=MsoNormal>                "@type": "SFVec3f"</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "orientation_changed",</p><p class=MsoNormal>                "@accessType": "outputOnly",</p><p class=MsoNormal>                "@type": "SFRotation"</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "spine_changed",</p><p class=MsoNormal>                "@accessType": "outputOnly",</p><p class=MsoNormal>                "@type": "MFVec3f"</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "scale_changed",</p><p class=MsoNormal>                "@accessType": "outputOnly",</p><p class=MsoNormal>                "@type": "MFVec2f"</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "point_changed",</p><p class=MsoNormal>                "@accessType": "outputOnly",</p><p class=MsoNormal>                "@type": "MFVec3f"</p><p class=MsoNormal>              },</p><p class=MsoNormal>              {</p><p class=MsoNormal>                "@name": "trace",</p><p class=MsoNormal>                "@accessType": "initializeOnly",</p><p class=MsoNormal>                "@type": "SFBool",</p><p class=MsoNormal>                "@value": false</p><p class=MsoNormal>              }</p><p class=MsoNormal>            ],</p><p class=MsoNormal>            "@visible": true,</p><p class=MsoNormal>            "-ViewpointNode": {</p><p class=MsoNormal>              "#comment": "prefer empty description to prevent entry in player's ViewpointList"</p><p class=MsoNormal>            },</p><p class=MsoNormal>            "-NavigationInfoNode": {</p><p class=MsoNormal>              "NavigationInfo": {</p><p class=MsoNormal>                "@visibilityLimit": 15</p><p class=MsoNormal>              }</p><p class=MsoNormal>            },</p><p class=MsoNormal>            "@aspectRatio": 0.75,</p><p class=MsoNormal>            "@trace": true</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "ROUTE": {</p><p class=MsoNormal>            "@fromNode": "DECLViewFrustum_INSTANCE_GeometryComputationScript",</p><p class=MsoNormal>            "@fromField": "visibilitySwitchSelection",</p><p class=MsoNormal>            "@toNode": "DECLViewFrustum_INSTANCE_VisibilitySwitch",</p><p class=MsoNormal>            "@toField": "whichChoice"</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "ROUTE": {</p><p class=MsoNormal>            "@fromNode": "DECLViewFrustum_INSTANCE_GeometryComputationScript",</p><p class=MsoNormal>            "@fromField": "position_changed",</p><p class=MsoNormal>            "@toNode": "DECLViewFrustum_INSTANCE_PositionTransform",</p><p class=MsoNormal>            "@toField": "translation"</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "ROUTE": {</p><p class=MsoNormal>            "@fromNode": "DECLViewFrustum_INSTANCE_GeometryComputationScript",</p><p class=MsoNormal>            "@fromField": "orientation_changed",</p><p class=MsoNormal>            "@toNode": "DECLViewFrustum_INSTANCE_OrientationTransform",</p><p class=MsoNormal>            "@toField": "rotation"</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "ROUTE": {</p><p class=MsoNormal>            "@fromNode": "DECLViewFrustum_INSTANCE_GeometryComputationScript",</p><p class=MsoNormal>            "@fromField": "spine_changed",</p><p class=MsoNormal>            "@toNode": "DECLViewFrustum_INSTANCE_FrustumExtrusion",</p><p class=MsoNormal>            "@toField": "set_spine"</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "ROUTE": {</p><p class=MsoNormal>            "@fromNode": "DECLViewFrustum_INSTANCE_GeometryComputationScript",</p><p class=MsoNormal>            "@fromField": "scale_changed",</p><p class=MsoNormal>            "@toNode": "DECLViewFrustum_INSTANCE_FrustumExtrusion",</p><p class=MsoNormal>            "@toField": "set_scale"</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "ROUTE": {</p><p class=MsoNormal>            "@fromNode": "DECLViewFrustum_INSTANCE_GeometryComputationScript",</p><p class=MsoNormal>            "@fromField": "point_changed",</p><p class=MsoNormal>            "@toNode": "DECLViewFrustum_INSTANCE_FrustumCoordinate",</p><p class=MsoNormal>            "@toField": "point"</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "#comment": "Visualization assists"</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "Inline": {</p><p class=MsoNormal>            "@DEF": "GridXZ",</p><p class=MsoNormal>            "@url": [</p><p class=MsoNormal>              "../../Savage/Tools/Authoring/GridXZ_20x20Fixed.x3d",</p><p class=MsoNormal>              "https://savage.nps.edu/Savage/Tools/Authoring/GridXZ_20x20Fixed.x3d"</p><p class=MsoNormal>            ]</p><p class=MsoNormal>          }</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "Transform": {</p><p class=MsoNormal>            "@scale": [</p><p class=MsoNormal>              5,</p><p class=MsoNormal>              5,</p><p class=MsoNormal>              5</p><p class=MsoNormal>            ],</p><p class=MsoNormal>            "-children": [</p><p class=MsoNormal>              {</p><p class=MsoNormal>              "Inline": {</p><p class=MsoNormal>                  "@DEF": "CoordinateAxes",</p><p class=MsoNormal>                  "@url": [</p><p class=MsoNormal>                    "../Chapter03-Grouping/CoordinateAxes.x3d",</p><p class=MsoNormal>                    "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03-Grouping/CoordinateAxes.x3d"</p><p class=MsoNormal>                  ]</p><p class=MsoNormal>                }</p><p class=MsoNormal>              }</p><p class=MsoNormal>            ]</p><p class=MsoNormal>          }</p><p class=MsoNormal>        }</p><p class=MsoNormal>      ]</p><p class=MsoNormal>    }</p><p class=MsoNormal>  }</p><p class=MsoNormal>}<span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>