{ "X3D": {
    "encoding":"UTF-8",
    "@profile":"Immersive",
    "@version":"3.1",
    "@xsd:noNamespaceSchemaLocation":"https://www.web3d.org/specifications/x3d-3.1.xsd",
    "JSON schema":"https://www.web3d.org/specifications/x3d-4.0-JSONSchema.autogenerated.json",
    "head": {
        "meta": [
          {
            "@name":"title",
            "@content":"HullNumberPrototype.x3d"
          },
          {
            "@name":"description",
            "@content":"Hull number prototype: accept values for the first second and third numbers, return 3D numerals with highlighting."
          },
          {
            "@name":"creator",
            "@content":"Patrick Sullivan"
          },
          {
            "@name":"created",
            "@content":"20 February 2006"
          },
          {
            "@name":"modified",
            "@content":"20 October 2019"
          },
          {
            "@name":"subject",
            "@content":"Hull Numbers, ship markings"
          },
          {
            "@name":"identifier",
            "@content":"https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/HullNumberPrototype.x3d"
          },
          {
            "@name":"license",
            "@content":"../../license.html"
          },
          {
            "@name":"generator",
            "@content":"X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit"
          },
          {
            "@name":"translated",
            "@content":"26 March 2026"
          },
          {
            "@name":"generator",
            "@content":"X3dToJson.xslt, https://www.web3d.org/x3d/stylesheets/X3dToJson.html"
          },
          {
            "@name":"reference",
            "@content":"X3D JSON encoding: https://www.web3d.org/wiki/index.php/X3D_JSON_Encoding"
          }
        ]
    },
    "Scene": {
        "-children":[
          { "WorldInfo":
            {
              "@title":"HullNumberPrototype.x3d"
            }
          },
          { "ProtoDeclare":
            {
              "@name":"HullNumber",
              "@appinfo":"One or two digit hull number",
              "ProtoInterface": {
                  "field": [
                    {
                      "@name":"FirstNumber",
                      "@accessType":"inputOutput",
                      "@appinfo":"[0-9] (-1 will prevent rendering)",
                      "@type":"SFInt32",
                      "@value":-1
                    },
                    {
                      "@name":"SecondNumber",
                      "@accessType":"inputOutput",
                      "@appinfo":"[0-9] (-1 will prevent rendering)",
                      "@type":"SFInt32",
                      "@value":-1
                    },
                    {
                      "@name":"ThirdNumber",
                      "@accessType":"inputOutput",
                      "@appinfo":"[0-9] (-1 will prevent rendering)",
                      "@type":"SFInt32",
                      "@value":-1
                    }
                  ]
              },
              "ProtoBody": {
                  "-children":[
                    { "Transform":
                      {
                        "@scale":[1.7,1.7,1.7],
                        "-children":[
                          { "Transform":
                            {
                              "@translation":[-0.665,0,0],
                              "-children":[
                                { "Switch":
                                  {
                                    "@DEF":"Numbers",
                                    "@whichChoice":-1,
                                    "IS": {
                                        "connect": [
                                          {
                                            "@nodeField":"whichChoice",
                                            "@protoField":"FirstNumber"
                                          }
                                        ]
                                    },
                                    "-children":[
                                      { "Inline":
                                        {
                                          "@DEF":"Zero",
                                          "@url":["../../ModelDetailing/HullNumbers/Zero.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Zero.x3d","../../ModelDetailing/HullNumbers/Zero.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Zero.wrl"]
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@DEF":"One",
                                          "@url":["../../ModelDetailing/HullNumbers/One.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/One.x3d","../../ModelDetailing/HullNumbers/One.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/One.wrl"]
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@DEF":"Two",
                                          "@url":["../../ModelDetailing/HullNumbers/Two.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Two.x3d","../../ModelDetailing/HullNumbers/Two.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Two.wrl"]
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@DEF":"Three",
                                          "@url":["../../ModelDetailing/HullNumbers/Three.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Three.x3d","../../ModelDetailing/HullNumbers/Three.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Three.wrl"]
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@DEF":"Four",
                                          "@url":["../../ModelDetailing/HullNumbers/Four.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Four.x3d","../../ModelDetailing/HullNumbers/Four.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Four.wrl"]
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@DEF":"Five",
                                          "@url":["../../ModelDetailing/HullNumbers/Five.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Five.x3d","../../ModelDetailing/HullNumbers/Five.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Five.wrl"]
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@DEF":"Six",
                                          "@url":["../../ModelDetailing/HullNumbers/Six.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Six.x3d","../../ModelDetailing/HullNumbers/Six.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Six.wrl"]
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@DEF":"Seven",
                                          "@url":["../../ModelDetailing/HullNumbers/Seven.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Seven.x3d","../../ModelDetailing/HullNumbers/Seven.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Seven.wrl"]
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@DEF":"Eight",
                                          "@url":["../../ModelDetailing/HullNumbers/Eight.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Eight.x3d","../../ModelDetailing/HullNumbers/Eight.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Eight.wrl"]
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@DEF":"Nine",
                                          "@url":["../../ModelDetailing/HullNumbers/Nine.x3d","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Nine.x3d","../../ModelDetailing/HullNumbers/Nine.wrl","https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/Nine.wrl"]
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          },
                          { "Transform":
                            {
                              "@translation":[0.8,0,0],
                              "-children":[
                                { "Switch":
                                  {
                                    "@whichChoice":-1,
                                    "IS": {
                                        "connect": [
                                          {
                                            "@nodeField":"whichChoice",
                                            "@protoField":"SecondNumber"
                                          }
                                        ]
                                    },
                                    "-children":[
                                      { "Inline":
                                        {
                                          "@USE":"Zero"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"One"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Two"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Three"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Four"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Five"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Six"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Seven"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Eight"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Nine"
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          },
                          { "Transform":
                            {
                              "@translation":[2.265,0,0],
                              "-children":[
                                { "Switch":
                                  {
                                    "@whichChoice":-1,
                                    "IS": {
                                        "connect": [
                                          {
                                            "@nodeField":"whichChoice",
                                            "@protoField":"ThirdNumber"
                                          }
                                        ]
                                    },
                                    "-children":[
                                      { "Inline":
                                        {
                                          "@USE":"Zero"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"One"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Two"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Three"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Four"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Five"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Six"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Seven"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Eight"
                                        }
                                      },
                                      { "Inline":
                                        {
                                          "@USE":"Nine"
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
              }
            }
          },
          { "ProtoInstance":
            {
              "@name":"HullNumber",
              "fieldValue": [
                {
                  "@name":"FirstNumber",
                  "@value":7
                },
                {
                  "@name":"SecondNumber",
                  "@value":8
                }
              ]
            }
          }
        ]
    }
  }
}