Extensible 3D (X3D) encodings
Part 5: JSON encoding

Annex A

(informative)

JSON schema

--- X3D separator bar ---

cube A.1 Topics and introduction

A.1.1 Topics

This annex provides a detailed description of the grammar for each syntactic element in this part of ISO/IEC 19776. Table A.1 lists the topics in this annex:

Table A.1 — Topics

A.1.2 Introduction

A JSON schema defines the syntax of a JSON file using a JSON-based grammar as specified in [SCHEMA].

The JSON Schema has sufficient expressive power to:

The JSON schema does not have sufficient expressive power to selectively validate content according to the defined profiles.

cube A.2 Version 3.3 schema

[x3d-3.3-JSONSchema.json] is the JSON schema file that validates X3D version 3.3 content:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "JSON Schema X3D V3.3",
    "description": "Experimental JSON Schema for X3D V3.3 ",
    "type": "object",
    "properties": {
        "X3D": {
            "$ref": "#/definitions/X3D"
        }
    },
    "required": [
        "X3D"
    ],
    "additionalProperties": false,
    "definitions": {
        "Anchor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "@description": {
                    "type": "string"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "@parameter": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                }
            },
            "additionalProperties": false
        },
        "Appearance": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-fillProperties": {
                    "type": "object",
                    "properties": {
                        "FillProperties": {
                            "$ref": "#/definitions/FillProperties"
                        },
                        "ProtoInstance": {
                            "$ref": "#/definitions/ProtoInstance"
                        }
                    },
                    "additionalProperties": false
                },
                "-lineProperties": {
                    "type": "object",
                    "properties": {
                        "LineProperties": {
                            "$ref": "#/definitions/LineProperties"
                        },
                        "ProtoInstance": {
                            "$ref": "#/definitions/ProtoInstance"
                        }
                    },
                    "additionalProperties": false
                },
                "-material": {
                    "$ref": "#/definitions/-material"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-shaders": {
                    "$ref": "#/definitions/-shaders"
                },
                "-texture": {
                    "$ref": "#/definitions/-texture"
                },
                "-textureTransform": {
                    "$ref": "#/definitions/-textureTransform"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Arc2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@endAngle": {
                    "type": "number",
                    "minimum": -6.2832,
                    "exclusiveMinimum": true,
                    "maximum": 6.2832,
                    "exclusiveMaximum": true,
                    "default": 1.570796
                },
                "@radius": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@startAngle": {
                    "type": "number",
                    "minimum": -6.2832,
                    "exclusiveMinimum": true,
                    "maximum": 6.2832,
                    "exclusiveMaximum": true,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ArcClose2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@closureType": {
                    "type": "string",
                    "enum": [
                        "CHORD",
                        "PIE"
                    ],
                    "default": "PIE"
                },
                "@endAngle": {
                    "type": "number",
                    "minimum": -6.2832,
                    "exclusiveMinimum": true,
                    "maximum": 6.2832,
                    "exclusiveMaximum": true,
                    "default": 1.570796
                },
                "@radius": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@startAngle": {
                    "type": "number",
                    "minimum": -6.2832,
                    "exclusiveMinimum": true,
                    "maximum": 6.2832,
                    "exclusiveMaximum": true,
                    "default": 0
                },
                "@solid": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "AudioClip": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@description": {
                    "type": "string"
                },
                "@loop": {
                    "type": "boolean",
                    "default": false
                },
                "@pauseTime": {
                    "type": "number",
                    "default": 0
                },
                "@pitch": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@resumeTime": {
                    "type": "number",
                    "default": 0
                },
                "@startTime": {
                    "type": "number",
                    "default": 0
                },
                "@stopTime": {
                    "type": "number",
                    "default": 0
                },
                "@url": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Background": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@backUrl": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@bottomUrl": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@frontUrl": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@groundAngle": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1.5708
                    }
                },
                "@groundColor": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                    }
                },
                "@leftUrl": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@rightUrl": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@skyAngle": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 3.1416
                    }
                },
                "@skyColor": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                    }
                },
                "@topUrl": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@transparency": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "BallJoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@anchorPoint": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@forceOutput": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "NONE"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "-body1": {
                    "$ref": "#/definitions/-body"
                },
                "-body2": {
                    "$ref": "#/definitions/-body"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Billboard": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@axisOfRotation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 1
                        },
                        {
                            "type": "number",
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "BlendedVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@weightConstant1": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.5
                },
                "@weightConstant2": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.5
                },
                "@weightFunction1": {
                    "type": "string",
                    "enum": [
                        "CONSTANT",
                        "ALPHA1",
                        "ALPHA2",
                        "ONE_MINUS_ALPHA_1",
                        "ONE_MINUS_ALPHA_2",
                        "TABLE"
                    ],
                    "default": "CONSTANT"
                },
                "@weightFunction2": {
                    "type": "string",
                    "enum": [
                        "CONSTANT",
                        "ALPHA1",
                        "ALPHA2",
                        "ONE_MINUS_ALPHA_1",
                        "ONE_MINUS_ALPHA_2",
                        "TABLE"
                    ],
                    "default": "CONSTANT"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-renderStyle": {
                    "$ref": "#/definitions/-composableRenderStyle"
                },
                "-voxels": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-weightTransferFunction1": {
                    "$ref": "#/definitions/-texture2D"
                },
                "-weightTransferFunction2": {
                    "$ref": "#/definitions/-texture2D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "BooleanFilter": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "BooleanSequencer": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "boolean"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "BooleanToggle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@toggle": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "BooleanTrigger": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "BoundaryEnhancementVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@boundaryOpacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.9
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@opacityFactor": {
                    "type": "number",
                    "minimum": 0,
                    "default": 2
                },
                "@retainedOpacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.2
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "BoundedPhysicsModel": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "-geometry": {
                    "$ref": "#/definitions/-geometry"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Box": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@size": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 2
                    }
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CADAssembly": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@name": {
                    "type": "string"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "CADFace": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@name": {
                    "type": "string"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-shape": {
                    "type": "object",
                    "properties": {
                        "LOD": {
                            "$ref": "#/definitions/LOD"
                        },
                        "Shape": {
                            "$ref": "#/definitions/Shape"
                        },
                        "Transform": {
                            "$ref": "#/definitions/Transform"
                        },
                        "ProtoInstance": {
                            "$ref": "#/definitions/ProtoInstance"
                        }
                    },
                    "additionalProperties": false
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CADLayer": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@name": {
                    "type": "string"
                },
                "@visible": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "boolean"
                    }
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "CADPart": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@name": {
                    "type": "string"
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@scale": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 1
                    }
                },
                "@scaleOrientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-children": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "#comment": {
                                "type": "string"
                            },
                            "CADFace": {
                                "$ref": "#/definitions/CADFace"
                            },
                            "ProtoInstance": {
                                "$ref": "#/definitions/ProtoInstance"
                            },
                            "ROUTE": {
                                "$ref": "#/definitions/ROUTE"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "CartoonVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@colorSteps": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 64,
                    "default": 4
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@orthogonalColor": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 1
                    }
                },
                "@parallelColor": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 1
                        }
                    ],
                    "additionalItems": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-surfaceNormals": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Circle2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@radius": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ClipPlane": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@plane": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CollidableOffset": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-collidable": {
                    "$ref": "#/definitions/-collidable"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CollidableShape": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-shape": {
                    "type": "object",
                    "properties": {
                        "Shape": {
                            "$ref": "#/definitions/Shape"
                        },
                        "ProtoInstance": {
                            "$ref": "#/definitions/ProtoInstance"
                        }
                    },
                    "additionalProperties": false
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Collision": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-proxy": {
                    "$ref": "#/definitions/-child"
                }
            },
            "additionalProperties": false
        },
        "CollisionCollection": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@appliedParameters": {
                    "$ref": "#/definitions/@appliedParameters"
                },
                "@bounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@frictionCoefficients": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "default": 0
                    }
                },
                "@minBounceSpeed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.1
                },
                "@slipFactors": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@softnessConstantForceMix": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.0001
                },
                "@softnessErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "@surfaceSpeed": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-collidables": {
                    "$ref": "#/definitions/-collidables"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CollisionSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "-collider": {
                    "$ref": "#/definitions/-collider"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CollisionSpace": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@useGeometry": {
                    "type": "boolean",
                    "default": false
                },
                "-collidables": {
                    "$ref": "#/definitions/-collidables"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Color": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@color": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ColorChaser": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@duration": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0.8
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0.8
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ColorDamper": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0.8
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0.8
                    }
                },
                "@order": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5,
                    "default": 3
                },
                "@tau": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.3
                },
                "@tolerance": {
                    "$ref": "#/definitions/@tolerance"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ColorInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ColorRGBA": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@color": {
                    "type": "array",
                    "minItems": 4,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ComposedCubeMapTexture": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-back": {
                    "$ref": "#/definitions/-texture2D"
                },
                "-bottom": {
                    "$ref": "#/definitions/-texture2D"
                },
                "-front": {
                    "$ref": "#/definitions/-texture2D"
                },
                "-left": {
                    "$ref": "#/definitions/-texture2D"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-right": {
                    "$ref": "#/definitions/-texture2D"
                },
                "-top": {
                    "$ref": "#/definitions/-texture2D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ComposedShader": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "field": {
                    "$ref": "#/definitions/field"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@language": {
                    "type": "string"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-parts": {
                    "$ref": "#/definitions/-parts"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ComposedTexture3D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@repeatR": {
                    "type": "boolean",
                    "default": false
                },
                "@repeatS": {
                    "type": "boolean",
                    "default": false
                },
                "@repeatT": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-texture": {
                    "$ref": "#/definitions/-textures2D"
                },
                "-textureProperties": {
                    "$ref": "#/definitions/-textureProperties"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ComposedVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-renderStyle": {
                    "$ref": "#/definitions/-composableRenderStyles"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Cone": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bottom": {
                    "type": "boolean",
                    "default": true
                },
                "@bottomRadius": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@height": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 2
                },
                "@side": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ConeEmitter": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@angle": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 3.1416,
                    "default": 0.7854
                },
                "@direction": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@mass": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@position": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@speed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@surfaceArea": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@variation": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.25
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Contact": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@appliedParameters": {
                    "$ref": "#/definitions/@appliedParameters"
                },
                "@bounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@contactNormal": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@depth": {
                    "type": "number",
                    "default": 0
                },
                "@frictionCoefficients": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "default": 0
                    }
                },
                "@frictionDirection": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@minBounceSpeed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@position": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@slipCoefficients": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@softnessConstantForceMix": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.0001
                },
                "@softnessErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "@surfaceSpeed": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-body1": {
                    "$ref": "#/definitions/-body"
                },
                "-body2": {
                    "$ref": "#/definitions/-body"
                },
                "-geometry1": {
                    "$ref": "#/definitions/-collidable"
                },
                "-geometry2": {
                    "$ref": "#/definitions/-collidable"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Contour2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-children": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "ContourPolyline2D": {
                                "$ref": "#/definitions/ContourPolyline2D"
                            },
                            "NurbsCurve2D": {
                                "$ref": "#/definitions/NurbsCurve2D"
                            },
                            "ProtoInstance": {
                                "$ref": "#/definitions/ProtoInstance"
                            },
                            "#comment": {
                                "type": "string"
                            },
                            "ROUTE": {
                                "$ref": "#/definitions/ROUTE"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "ContourPolyline2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@controlPoint": {
                    "type": "array",
                    "minItems": 4,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Coordinate": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@point": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CoordinateChaser": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@duration": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CoordinateDamper": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@order": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5,
                    "default": 3
                },
                "@tau": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.3
                },
                "@tolerance": {
                    "$ref": "#/definitions/@tolerance"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CoordinateDouble": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@point": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CoordinateInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CoordinateInterpolator2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Cylinder": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bottom": {
                    "type": "boolean",
                    "default": true
                },
                "@height": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 2
                },
                "@radius": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@side": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "@top": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "CylinderSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@autoOffset": {
                    "type": "boolean",
                    "default": true
                },
                "@axisRotation": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@description": {
                    "type": "string"
                },
                "@diskAngle": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1.5708,
                    "default": 0.26179167
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@maxAngle": {
                    "type": "number",
                    "minimum": -6.2832,
                    "exclusiveMinimum": true,
                    "maximum": 6.2832,
                    "exclusiveMaximum": true,
                    "default": -1
                },
                "@minAngle": {
                    "type": "number",
                    "minimum": -6.2832,
                    "exclusiveMinimum": true,
                    "maximum": 6.2832,
                    "exclusiveMaximum": true,
                    "default": 0
                },
                "@offset": {
                    "type": "number",
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "DirectionalLight": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ambientIntensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@color": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 1
                    }
                },
                "@direction": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": -1
                        }
                    ],
                    "additionalItems": false
                },
                "@global": {
                    "type": "boolean",
                    "default": false
                },
                "@intensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 1
                },
                "@on": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "DISEntityManager": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@address": {
                    "type": "string",
                    "default": "localhost"
                },
                "@applicationID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@siteID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@port": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "-mapping": {
                    "$ref": "#/definitions/-mapping"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "DISEntityTypeMapping": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@category": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@country": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@domain": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@extra": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@kind": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@specific": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@subcategory": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Disk2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@innerRadius": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@outerRadius": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@solid": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "DoubleAxisHingeJoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@anchorPoint": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@axis1": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@axis2": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@desiredAngularVelocity1": {
                    "type": "number",
                    "default": 0
                },
                "@desiredAngularVelocity2": {
                    "type": "number",
                    "default": 0
                },
                "@forceOutput": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "NONE"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@maxAngle1": {
                    "type": "number",
                    "minimum": -3.1416,
                    "exclusiveMinimum": true,
                    "maximum": 3.1416,
                    "exclusiveMaximum": true,
                    "default": 3.141592653
                },
                "@maxTorque1": {
                    "type": "number",
                    "default": 0
                },
                "@maxTorque2": {
                    "type": "number",
                    "default": 0
                },
                "@minAngle1": {
                    "type": "number",
                    "minimum": -3.1416,
                    "exclusiveMinimum": true,
                    "maximum": 3.1416,
                    "exclusiveMaximum": true,
                    "default": -3.141592653
                },
                "@stop1Bounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@stop1ConstantForceMix": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.001
                },
                "@stop1ErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "@suspensionErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "@suspensionForce": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "-body1": {
                    "$ref": "#/definitions/-body"
                },
                "-body2": {
                    "$ref": "#/definitions/-body"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "EaseInEaseOut": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@use": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@easeInEaseOut": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "EdgeEnhancementVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@edgeColor": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 1
                        }
                    ],
                    "additionalItems": false
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@gradientThreshold": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 3.1416,
                    "default": 0.4
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-surfaceNormals": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ElevationGrid": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@creaseAngle": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@height": {
                    "type": "array",
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        }
                    ],
                    "additionalItems": {
                        "type": "number"
                    }
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "@xDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 2
                },
                "@xSpacing": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@zDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 2
                },
                "@zSpacing": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "EspduTransform": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@address": {
                    "type": "string",
                    "default": "localhost"
                },
                "@applicationID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@articulationParameterArray": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@articulationParameterChangeIndicatorArray": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 255
                    }
                },
                "@articulationParameterCount": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 78,
                    "default": 0
                },
                "@articulationParameterDesignatorArray": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 255
                    }
                },
                "@articulationParameterIdPartAttachedToArray": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 65535
                    }
                },
                "@articulationParameterTypeArray": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 65535
                    }
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@collisionType": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@deadReckoning": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@detonationLocation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@detonationRelativeLocation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@detonationResult": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@entityCategory": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@entityCountry": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@entityDomain": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@entityExtra": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@entityID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@entityKind": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@entitySpecific": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@entitySubcategory": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@eventApplicationID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@eventEntityID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@eventNumber": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "eventSiteID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@fired1": {
                    "type": "boolean",
                    "default": false
                },
                "@fired2": {
                    "type": "boolean",
                    "default": false
                },
                "@fireMissionIndex": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@firingRange": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@firingRate": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@forceID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@fuse": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@geoCoords": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@linearAcceleration": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@linearVelocity": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@marking": {
                    "type": "string"
                },
                "@multicastRelayHost": {
                    "type": "string"
                },
                "@multicastRelayPort": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@munitionApplicationID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@munitionEndPoint": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@munitionEntityID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@munitionQuantity": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@munitionSiteID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@munitionStartPoint": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@networkMode": {
                    "type": "string",
                    "enum": [
                        "standAlone",
                        "networkReader",
                        "networkWriter"
                    ],
                    "default": "standAlone"
                },
                "@port": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@readInterval": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.1
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@rtpHeaderExpected": {
                    "type": "boolean",
                    "default": false
                },
                "@scale": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 1
                    }
                },
                "@scaleOrientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@siteID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@warhead": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@writeInterval": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "ExplosionEmitter": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@mass": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@position": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@speed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@surfaceArea": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@variation": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.25
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "EXPORT": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "@AS": {
                        "type": "string"
                    },
                    "@localDEF": {
                        "type": "string"
                    }
                },
                "required": [
                    "@localDEF"
                ],
                "additionalProperties": false
            }
        },
        "ExternProtoDeclare": {
            "type": "object",
            "properties": {
                "@name": {
                    "type": "string"
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@appinfo": {
                    "type": "string"
                },
                "@documentation": {
                    "type": "string"
                },
                "field": {
                    "$ref": "#/definitions/field"
                },
                "-children": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "#comment": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "required": [
                "@name",
                "@url"
            ],
            "additionalProperties": false
        },
        "Extrusion": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@beginCap": {
                    "type": "boolean",
                    "default": true
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@convex": {
                    "type": "boolean",
                    "default": true
                },
                "@creaseAngle": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@crossSection": {
                    "type": "array",
                    "minItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "default": 1
                        },
                        {
                            "type": "number",
                            "default": 1
                        },
                        {
                            "type": "number",
                            "default": 1
                        },
                        {
                            "type": "number",
                            "default": -1
                        },
                        {
                            "type": "number",
                            "default": -1
                        },
                        {
                            "type": "number",
                            "default": -1
                        },
                        {
                            "type": "number",
                            "default": -1
                        },
                        {
                            "type": "number",
                            "default": 1
                        },
                        {
                            "type": "number",
                            "default": 1
                        },
                        {
                            "type": "number",
                            "default": 1
                        }
                    ],
                    "additionalItems": {
                        "type": "number"
                    }
                },
                "@endCap": {
                    "type": "boolean",
                    "default": true
                },
                "@orientation": {
                    "type": "array",
                    "minItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 1
                        }
                    ],
                    "additionalItems": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@scale": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number",
                        "default": 1
                    }
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "@spine": {
                    "type": "array",
                    "minItems": 6,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 1
                        },
                        {
                            "type": "number",
                            "default": 0
                        }
                    ],
                    "additionalItems": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "FillProperties": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@filled": {
                    "type": "boolean",
                    "default": true
                },
                "@hatchColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 1
                    }
                },
                "@hatched": {
                    "type": "boolean",
                    "default": true
                },
                "@hatchStyle": {
                    "type": "integer",
                    "default": 1
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "FloatVertexAttribute": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@name": {
                    "type": "string"
                },
                "@numComponents": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 4,
                    "default": 4
                },
                "@value": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Fog": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@color": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 1
                    }
                },
                "@fogType": {
                    "type": "string",
                    "enum": [
                        "LINEAR",
                        "EXPONENTIAL"
                    ],
                    "default": "LINEAR"
                },
                "@visibilityRange": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "FogCoordinate": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@depth": {
                    "type": "array",
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "FontStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@family": {
                    "type": "array",
                    "items": [
                        {
                            "type": "string",
                            "default": "SERIF"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@horizontal": {
                    "type": "boolean",
                    "default": true
                },
                "@justify": {
                    "$ref": "#/definitions/@justify"
                },
                "@language": {
                    "type": "string"
                },
                "@leftToRight": {
                    "type": "boolean",
                    "default": true
                },
                "@size": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@spacing": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@style": {
                    "type": "string",
                    "enum": [
                        "PLAIN",
                        "BOLD",
                        "ITALIC",
                        "BOLDITALIC",
                        ""
                    ],
                    "default": "PLAIN"
                },
                "@topToBottom": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ForcePhysicsModel": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@force": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": -9.8
                        },
                        {
                            "type": "number",
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "GeneratedCubeMapTexture": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@size": {
                    "type": "integer",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 128
                },
                "@update": {
                    "type": "string",
                    "enum": [
                        "NONE",
                        "NEXT_FRAME_ONLY",
                        "ALWAYS"
                    ],
                    "default": "NONE"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-textureProperties": {
                    "$ref": "#/definitions/-textureProperties"
                }
            },
            "additionalProperties": false
        },
        "GeoCoordinate": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@point": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "-geoOrigin": {
                    "$ref": "#/definitions/-geoOrigin"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "GeoElevationGrid": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@creaseAngle": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@geoGridOrigin": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@height": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        }
                    ],
                    "additionalItems": {
                        "type": "number"
                    }
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "@xDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 2
                },
                "@xSpacing": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@yScale": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@zDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 2
                },
                "@zSpacing": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-geoOrigin": {
                    "$ref": "#/definitions/-geoOrigin"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "GeoLocation": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@geoCoords": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-geoOrigin": {
                    "$ref": "#/definitions/-geoOrigin"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "GeoLOD": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@child1Url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@child2Url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@child3Url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@child4Url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@range": {
                    "type": "number",
                    "minimum": 0,
                    "default": 10
                },
                "@rootUrl": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-geoOrigin": {
                    "$ref": "#/definitions/-geoOrigin"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-rootNode": {
                    "$ref": "#/definitions/-children"
                }
            },
            "additionalProperties": false
        },
        "GeoMetadata": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@summary": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "string"
                    }
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "-data": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "GeoCoordinate": {
                                "$ref": "#/definitions/GeoCoordinate"
                            },
                            "GeoElevationGrid": {
                                "$ref": "#/definitions/GeoElevationGrid"
                            },
                            "GeoLocation": {
                                "$ref": "#/definitions/GeoLocation"
                            },
                            "GeoLOD": {
                                "$ref": "#/definitions/GeoLOD"
                            },
                            "GeoOrigin": {
                                "$ref": "#/definitions/GeoOrigin"
                            },
                            "GeoPositionInterpolator": {
                                "$ref": "#/definitions/GeoPositionInterpolator"
                            },
                            "GeoProximitySensor": {
                                "$ref": "#/definitions/GeoProximitySensor"
                            },
                            "GeoTouchSensor": {
                                "$ref": "#/definitions/GeoTouchSensor"
                            },
                            "GeoTransform": {
                                "$ref": "#/definitions/GeoTransform"
                            },
                            "GeoViewpoint": {
                                "$ref": "#/definitions/GeoViewpoint"
                            },
                            "ProtoInstance": {
                                "$ref": "#/definitions/ProtoInstance"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "GeoOrigin": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@geoCoords": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@rotateYUp": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "GeoPositionInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "-geoOrigin": {
                    "$ref": "#/definitions/-geoOrigin"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "GeoProximitySensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@geoCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@size": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "default": 0
                    }
                },
                "-geoOrigin": {
                    "$ref": "#/definitions/-geoOrigin"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "GeoTouchSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@description": {
                    "type": "string"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "-geoOrigin": {
                    "$ref": "#/definitions/-geoOrigin"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "GeoTransform": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "@geoCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@scale": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "default": 1
                    }
                },
                "@scaleOrientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-geoOrigin": {
                    "$ref": "#/definitions/-geoOrigin"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "GeoViewpoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@centerOfRotation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@description": {
                    "type": "string"
                },
                "@fieldOfView": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "maximum": 3.1416,
                    "exclusiveMaximum": true,
                    "default": 0.7854
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@jump": {
                    "type": "boolean",
                    "default": true
                },
                "@orientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@position": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 100000
                        }
                    ],
                    "additionalItems": false
                },
                "@retainUserOffsets": {
                    "type": "boolean",
                    "default": false
                },
                "@speedFactor": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "-geoOrigin": {
                    "$ref": "#/definitions/-geoOrigin"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Group": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "HAnimDisplacer": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@coordIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "@displacements": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "@name": {
                    "type": "string"
                },
                "@weight": {
                    "type": "number",
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "HAnimHumanoid": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@info": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "@name": {
                    "type": "string"
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@scale": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true
                    }
                },
                "@scaleOrientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "@version": {
                    "type": "string"
                },
                "-joints": {
                    "$ref": "#/definitions/-hanimJoints"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-segments": {
                    "$ref": "#/definitions/-segments"
                },
                "-sites": {
                    "$ref": "#/definitions/-sites"
                },
                "-skeleton": {
                    "$ref": "#/definitions/-skeleton"
                },
                "-skin": {
                    "$ref": "#/definitions/-children"
                },
                "-skinCoord": {
                    "$ref": "#/definitions/-coord"
                },
                "-skinNormal": {
                    "$ref": "#/definitions/-normal"
                },
                "-viewpoints": {
                    "$ref": "#/definitions/-sites"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "HAnimJoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@limitOrientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@llimit": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@name": {
                    "type": "string"
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@scale": {
                    "type": "array",
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@scaleOrientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@skinCoordIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "@skinCoordWeight": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@stiffness": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0
                    }
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@ulimit": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-children": {
                    "$ref": "#/definitions/-jointChildren"
                },
                "-displacers": {
                    "$ref": "#/definitions/-displacers"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "HAnimSegment": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@centerOfMass": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@mass": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@momentsOfInertia": {
                    "type": "array",
                    "minItems": 9,
                    "maxItems": 9,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@name": {
                    "type": "string"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-displacers": {
                    "$ref": "#/definitions/-displacers"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "HAnimSite": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@name": {
                    "type": "string"
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@scale": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "default": 1
                    }
                },
                "@scaleOrientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "ImageCubeMapTexture": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-textureProperties": {
                    "$ref": "#/definitions/-textureProperties"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ImageTexture": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@repeatS": {
                    "type": "boolean",
                    "default": true
                },
                "@repeatT": {
                    "type": "boolean",
                    "default": true
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-textureProperties": {
                    "$ref": "#/definitions/-textureProperties"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ImageTexture3D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@repeatR": {
                    "type": "boolean",
                    "default": false
                },
                "@repeatS": {
                    "type": "boolean",
                    "default": false
                },
                "@repeatT": {
                    "type": "boolean",
                    "default": false
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-textureProperties": {
                    "$ref": "#/definitions/-textureProperties"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "IMPORT": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "@AS": {
                        "type": "string"
                    },
                    "@importedDEF": {
                        "type": "string"
                    },
                    "@inlineDEF": {
                        "type": "string"
                    }
                },
                "required": [
                    "@importedDEF",
                    "@inlineDEF"
                ],
                "additionalProperties": false
            }
        },
        "IndexedFaceSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@convex": {
                    "type": "boolean",
                    "default": true
                },
                "@colorIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "@coordIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "@creaseAngle": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@normalIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "@texCoordIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "IndexedLineSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@colorIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@coordIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "IndexedQuadSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@index": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "IndexedTriangleFanSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@index": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "IndexedTrangleSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": false
                },
                "@index": {
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "IndexedTriangleStripSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@index": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Inline": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@load": {
                    "type": "boolean",
                    "default": true
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "IntegerSequencer": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "IntegerTrigger": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@integerKey": {
                    "type": "integer",
                    "default": -1
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "IS": {
            "type": "object",
            "properties": {
                "connect": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "@protoField": {
                                "type": "string"
                            },
                            "@nodeField": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "@protoField",
                            "@nodeField"
                        ],
                        "additionalProperties": false
                    }
                },
                "-children": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "#comment": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "additionalProperties": false
        },
        "IsoSurfaceVolumeData": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@contourStepSize": {
                    "type": "number",
                    "default": 0
                },
                "@dimensions": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "default": 1
                    }
                },
                "@surfaceTolerance": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@surfaceValues": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-gradients": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-renderStyle": {
                    "$ref": "#/definitions/-renderStyles"
                },
                "-voxels": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "KeySensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Layer": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {},
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@isPickable": {
                    "type": "boolean",
                    "default": true
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-viewport": {
                    "$ref": "#/definitions/-viewport"
                }
            },
            "additionalProperties": false
        },
        "LayerSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@activeLayer": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@order": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "default": 0
                    }
                },
                "-layers": {
                    "$ref": "#/definitions/-layers"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Layout": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@align": {
                    "oneOf": [
                        {
                            "type": "array",
                            "minItems": 1,
                            "maxItems": 1,
                            "items": {
                                "type": "string",
                                "enum": [
                                    "CENTER"
                                ],
                                "default": "CENTER"
                            }
                        },
                        {
                            "type": "array",
                            "minItems": 2,
                            "maxItems": 2,
                            "items": [
                                {
                                    "type": "string",
                                    "enum": [
                                        "\"LEFT\"",
                                        "\"CENTER\"",
                                        "\"RIGHT\""
                                    ],
                                    "default": "CENTER"
                                }
                            ],
                            "additionalItems": {
                                "type": "string",
                                "enum": [
                                    "BOTTOM",
                                    "CENTER",
                                    "TOP"
                                ],
                                "default": "CENTER"
                            }
                        }
                    ]
                },
                "@offset": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@offsetUnits": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 2,
                    "items": {
                        "type": "string",
                        "enum": [
                            "WORLD",
                            "FRACTION",
                            "PIXEL"
                        ],
                        "default": "WORLD"
                    }
                },
                "@scaleMode": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 2,
                    "items": {
                        "type": "string",
                        "enum": [
                            "NONE",
                            "FRACTION",
                            "STRETCH",
                            "PIXEL"
                        ],
                        "default": "NONE"
                    }
                },
                "@size": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 1
                    }
                },
                "@sizeUnits": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 2,
                    "items": {
                        "type": "string",
                        "enum": [
                            "WORLD",
                            "FRACTION",
                            "PIXEL"
                        ],
                        "default": "WORLD"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "LayoutGroup": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-layout": {
                    "$ref": "#/definitions/-layout"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-viewport": {
                    "$ref": "#/definitions/-viewport"
                }
            },
            "additionalProperties": false
        },
        "LayoutLayer": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@isPickable": {
                    "type": "boolean",
                    "default": true
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-layout": {
                    "$ref": "#/definitions/-layout"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-viewport": {
                    "$ref": "#/definitions/-viewport"
                }
            },
            "additionalProperties": false
        },
        "LinePickSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@intersectionType": {
                    "type": "string",
                    "default": "BOUNDS"
                },
                "@matchCriterion": {
                    "type": "string",
                    "enum": [
                        "MATCH_ANY",
                        "MATCH_EVERY",
                        "MATCH_ONLY_ONE"
                    ],
                    "default": "MATCH_ANY"
                },
                "@objectType": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "ALL"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@sortOrder": {
                    "type": "string",
                    "enum": [
                        "ANY",
                        "CLOSEST",
                        "ALL",
                        "ALL_SORTED"
                    ],
                    "default": "CLOSEST"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-pickingGeometry": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "IndexedLineSet": {
                                "$ref": "#/definitions/IndexedLineSet"
                            },
                            "LineSet": {
                                "$ref": "#/definitions/LineSet"
                            },
                            "ProtoInstance": {
                                "$ref": "#/definitions/ProtoInstance"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "-pickTarget": {
                    "$ref": "#/definitions/-pickTarget"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "LineProperties": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@applied": {
                    "type": "boolean",
                    "default": true
                },
                "@linetype": {
                    "type": "integer",
                    "minimum": 1,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@linewidthScaleFactor": {
                    "type": "number",
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "LineSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "@vertexCount": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 2
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "LoadSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@timeOut": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-watchList": {
                    "$ref": "#/definitions/-watchList"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "LocalFog": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@color": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 1
                    }
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@fogType": {
                    "type": "string",
                    "enum": [
                        "LINEAR",
                        "EXPONENTIAL"
                    ],
                    "default": "LINEAR"
                },
                "@visibilityRange": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "LOD": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@forceTransitions": {
                    "type": "boolean",
                    "default": false
                },
                "@range": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "oneOf": [
                            {
                                "type": "number",
                                "enum": [
                                    -1
                                ]
                            },
                            {
                                "type": "number",
                                "minimum": 0
                            }
                        ]
                    }
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "Material": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ambientIntensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.2
                },
                "@diffuseColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0.8
                    }
                },
                "@emissiveColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0
                    }
                },
                "@shininess": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.2
                },
                "@specularColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0
                    }
                },
                "@transparency": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Matrix3VertexAttribute": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@name": {
                    "type": "string"
                },
                "@value": {
                    "type": "array",
                    "minItems": 9,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Matrix4VertexAttribute": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@name": {
                    "type": "string"
                },
                "@value": {
                    "type": "array",
                    "minItems": 16,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MetadataBoolean": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@name": {
                    "type": "string"
                },
                "@reference": {
                    "type": "string"
                },
                "@value": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "boolean"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MetadataDouble": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@name": {
                    "type": "string"
                },
                "@reference": {
                    "type": "string"
                },
                "@value": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MetadataFloat": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@name": {
                    "type": "string"
                },
                "@reference": {
                    "type": "string"
                },
                "@value": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MetadataInteger": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@name": {
                    "type": "string"
                },
                "@reference": {
                    "type": "string"
                },
                "@value": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MetadataSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@name": {
                    "type": "string"
                },
                "@reference": {
                    "type": "string"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-value": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "MetadataBoolean": {
                                "$ref": "#/definitions/MetadataBoolean"
                            },
                            "MetadataDouble": {
                                "$ref": "#/definitions/MetadataDouble"
                            },
                            "MetadataFloat": {
                                "$ref": "#/definitions/MetadataFloat"
                            },
                            "MetadataInteger": {
                                "$ref": "#/definitions/MetadataInteger"
                            },
                            "MetadataSet": {
                                "$ref": "#/definitions/MetadataSet"
                            },
                            "MetadataString": {
                                "$ref": "#/definitions/MetadataString"
                            },
                            "ProtoInstance": {
                                "$ref": "#/definitions/ProtoInstance"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MetadataString": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@name": {
                    "type": "string"
                },
                "@reference": {
                    "type": "string"
                },
                "@value": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MotorJoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@autoCalc": {
                    "type": "boolean",
                    "default": false
                },
                "@axis1Angle": {
                    "type": "number",
                    "minimum": -3.1416,
                    "exclusiveMinimum": true,
                    "maximum": 3.1416,
                    "exclusiveMaximum": true,
                    "default": 0
                },
                "@axis1Torque": {
                    "type": "number",
                    "default": 0
                },
                "@axis2Angle": {
                    "type": "number",
                    "minimum": -3.1416,
                    "exclusiveMinimum": true,
                    "maximum": 3.1416,
                    "exclusiveMaximum": true,
                    "default": 0
                },
                "@axis2Torque": {
                    "type": "number",
                    "default": 0
                },
                "@axis3Angle": {
                    "type": "number",
                    "minimum": -3.1416,
                    "exclusiveMinimum": true,
                    "maximum": 3.1416,
                    "exclusiveMaximum": true,
                    "default": 0
                },
                "@axis3Torque": {
                    "type": "number",
                    "default": 0
                },
                "@enabledAxes": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 3,
                    "default": 1
                },
                "@forceOutput": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "NONE"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@motor1Axis": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": -1,
                        "maximum": 1
                    }
                },
                "@motor2Axis": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": -1,
                        "maximum": 1
                    }
                },
                "@motor3Axis": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": -1,
                        "maximum": 1
                    }
                },
                "@stop1Bounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@stop1ErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "@stop2Bounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@stop2ErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "@stop3Bounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@stop3ErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "-body1": {
                    "$ref": "#/definitions/-body"
                },
                "-body2": {
                    "$ref": "#/definitions/-body"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MovieTexture": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@description": {
                    "type": "string"
                },
                "@loop": {
                    "type": "boolean",
                    "default": false
                },
                "@pauseTime": {
                    "type": "number",
                    "default": 0
                },
                "@pitch": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@repeatS": {
                    "type": "boolean",
                    "default": true
                },
                "@repeatT": {
                    "type": "boolean",
                    "default": true
                },
                "@resumeTime": {
                    "type": "number",
                    "default": 0
                },
                "@speed": {
                    "type": "number",
                    "default": 1
                },
                "@startTime": {
                    "type": "number",
                    "default": 0
                },
                "@stopTime": {
                    "type": "number",
                    "default": 0
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-textureProperties": {
                    "$ref": "#/definitions/-textureProperties"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MultiTexture": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@alpha": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@color": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 1
                    }
                },
                "@function": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "enum": [
                            "",
                            "COMPLEMENT",
                            "ALPHAREPLICATE"
                        ]
                    }
                },
                "@mode": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "enum": [
                            "ADD",
                            "ADDSIGNED",
                            "ADDSIGNED2X",
                            "ADDSMOOTH",
                            "BLENDCURRENTALPHA",
                            "BLENDDIFFUSEALPHA",
                            "BLENDFACTORALPHA",
                            "BLENDTEXTUREALPHA",
                            "DOTPRODUCT3",
                            "MODULATE",
                            "MODULATE2X",
                            "MODULATE4X",
                            "MODULATEALPHA_ADDCOLOR",
                            "MODULATEINVALPHA_ADDCOLOR",
                            "MODULATEINVCOLOR_ADDALPHA",
                            "OFF",
                            "REPLACE",
                            "SELECTARG1",
                            "SELECTARG2",
                            "SUBTRACT"
                        ]
                    }
                },
                "@source": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "enum": [
                            "DIFFUSE",
                            "FACTOR",
                            "SPECULAR"
                        ]
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-texture": {
                    "$ref": "#/definitions/-textures2D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MultiTextureCoordinate": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoords2D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "MultiTextureTransform": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-textureTransform": {
                    "$ref": "#/definitions/-textureTransforms2D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NavigationInfo": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@avatarSize": {
                    "type": "array",
                    "minItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": 0,
                            "default": 0.25
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "default": 1.6
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "default": 0.75
                        }
                    ],
                    "additionalItems": {
                        "type": "number",
                        "minimum": 0
                    }
                },
                "@headlight": {
                    "type": "boolean",
                    "default": true
                },
                "@speed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@transitionTime": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@transitionType": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "LINEAR"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@type": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "EXAMINE"
                        },
                        {
                            "type": "string",
                            "default": "ANY"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@visibilityLimit": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Normal": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@vector": {
                    "type": "array",
                    "items": {
                        "type": "number",
                        "minimum": -1,
                        "maximum": 1
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NormalInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsCurve": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@closed": {
                    "type": "boolean",
                    "default": false
                },
                "@knot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@order": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@tessellation": {
                    "type": "integer",
                    "default": 0
                },
                "@weight": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true
                    }
                },
                "-controlPoint": {
                    "$ref": "#/definitions/-coord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsCurve2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@closed": {
                    "type": "boolean",
                    "default": false
                },
                "@controlPoint": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "@knot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@order": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@tesselation": {
                    "type": "integer",
                    "default": 0
                },
                "@weight": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsOrientationInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@knot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@order": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@weight": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-controlPoint": {
                    "$ref": "#/definitions/-coord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsPatchSurface": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "@uClosed": {
                    "type": "boolean",
                    "default": false
                },
                "@uDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@uKnot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@uOrder": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@uTessellation": {
                    "type": "integer",
                    "default": 0
                },
                "@vClosed": {
                    "type": "boolean",
                    "default": false
                },
                "@vDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@vKnot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@vOrder": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@vTessellation": {
                    "type": "integer",
                    "default": 0
                },
                "@weight": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true
                    }
                },
                "-controlPoint": {
                    "$ref": "#/definitions/-coord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoordNurbs"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsPositionInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@knot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@order": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@weight": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-controlPoint": {
                    "$ref": "#/definitions/-coord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@tesselationScale": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "-geometry": {
                    "$ref": "#/definitions/-geometryNurbsSurface"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsSurfaceInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@uDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@uKnot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@uOrder": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@vDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@vKnot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@vOrder": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@weight": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-controlPoint": {
                    "$ref": "#/definitions/-coord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsSweptSurface": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-crossSectionCurve": {
                    "$ref": "#/definitions/-nurbsCurve2D"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-trajectoryCurve": {
                    "$ref": "#/definitions/-nurbsCurve"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsSwungSurface": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-profileCurve": {
                    "$ref": "#/definitions/-nurbsCurve2D"
                },
                "-trajectoryCurve": {
                    "$ref": "#/definitions/-nurbsCurve2D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsTextureCoordinate": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@controlPoint": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "@uDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@uKnot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@uOrder": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@vDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@vKnot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@vOrder": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@weight": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "NurbsTrimmedSurface": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "@uClosed": {
                    "type": "boolean",
                    "default": false
                },
                "@uDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@uKnot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@uOrder": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@uTessellation": {
                    "type": "integer",
                    "default": 0
                },
                "@vClosed": {
                    "type": "boolean",
                    "default": false
                },
                "@vDimension": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@vKnot": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@vOrder": {
                    "type": "integer",
                    "minimum": 2,
                    "default": 3
                },
                "@vTessellation": {
                    "type": "integer",
                    "default": 0
                },
                "@weight": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true
                    }
                },
                "-controlPoint": {
                    "$ref": "#/definitions/-coord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoordNurbs"
                },
                "-trimmingContour": {
                    "$ref": "#/definitions/-trimmingContour"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "OpacityMapVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-transferFunction": {
                    "$ref": "#/definitions/-transferFunction"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "OrientationChaser": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@duration": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@initialDestination": {
                    "$ref": "#/definitions/@rotation"
                },
                "@initialValue": {
                    "$ref": "#/definitions/@rotation"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "OrientationDamper": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@initialDestination": {
                    "$ref": "#/definitions/@rotation"
                },
                "@initialValue": {
                    "$ref": "#/definitions/@rotation"
                },
                "@order": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5,
                    "default": 3
                },
                "@tau": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.3
                },
                "@tolerance": {
                    "$ref": "#/definitions/@tolerance"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "OrientationInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 4,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "OrthoViewpoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@centerOfRotation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@description": {
                    "type": "string"
                },
                "@fieldOfView": {
                    "type": "array",
                    "minItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "default": -1
                        },
                        {
                            "type": "number",
                            "default": -1
                        },
                        {
                            "type": "number",
                            "default": 1
                        },
                        {
                            "type": "number",
                            "default": 1
                        }
                    ],
                    "additionalItems": {
                        "type": "number"
                    }
                },
                "@jump": {
                    "type": "boolean",
                    "default": true
                },
                "@orientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@position": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 10
                        }
                    ],
                    "additionalItems": false
                },
                "@retainUserOffsets": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PackagedShader": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@language": {
                    "type": "string"
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "#sourceText": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "field": {
                    "$ref": "#/definitions/field"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ParticleSystem": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@colorKey": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0
                    }
                },
                "@createParticles": {
                    "type": "boolean",
                    "default": true
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@geometryType": {
                    "type": "string",
                    "default": "QUAD"
                },
                "@lifetimeVariation": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.25
                },
                "@maxParticles": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 200
                },
                "@particleLifetime": {
                    "type": "number",
                    "minimum": 0,
                    "default": 5
                },
                "@particleSize": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "default": 0.02
                    }
                },
                "@texCoordKey": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0
                    }
                },
                "-appearance": {
                    "$ref": "#/definitions/-appearance"
                },
                "-colorRamp": {
                    "$ref": "#/definitions/-color"
                },
                "-emitter": {
                    "$ref": "#/definitions/-emitter"
                },
                "-geometry": {
                    "$ref": "#/definitions/-geometry"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-physics": {
                    "$ref": "#/definitions/-physics"
                },
                "-texCoordRamp": {
                    "type": "object",
                    "properties": {
                        "TextureCoordinate": {
                            "$ref": "#/definitions/TextureCoordinate"
                        },
                        "ProtoInstance": {
                            "$ref": "#/definitions/ProtoInstance"
                        }
                    },
                    "additionalProperties": false
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PickableGroup": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@objectType": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "ALL"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@pickable": {
                    "type": "boolean",
                    "default": true
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "PixelTexture": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@image": {
                    "type": "array",
                    "minItems": 3,
                    "items": [
                        {
                            "type": "integer",
                            "default": 0
                        },
                        {
                            "type": "integer",
                            "default": 0
                        },
                        {
                            "type": "integer",
                            "default": 0
                        }
                    ],
                    "additionalItems": {
                        "type": "integer"
                    }
                },
                "@repeatS": {
                    "type": "boolean",
                    "default": true
                },
                "@repeatT": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-textureProperties": {
                    "$ref": "#/definitions/-textureProperties"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PixelTexture3D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@image": {
                    "type": "array",
                    "minItems": 4,
                    "items": [
                        {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4,
                            "default": 0
                        },
                        {
                            "type": "integer",
                            "default": 0
                        },
                        {
                            "type": "integer",
                            "default": 0
                        },
                        {
                            "type": "integer",
                            "default": 0
                        }
                    ],
                    "additionalItems": {
                        "type": "integer"
                    }
                },
                "@repeatR": {
                    "type": "boolean",
                    "default": true
                },
                "@repeatS": {
                    "type": "boolean",
                    "default": true
                },
                "@repeatT": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-textureProperties": {
                    "$ref": "#/definitions/-textureProperties"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PlaneSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@autoOffset": {
                    "type": "boolean",
                    "default": true
                },
                "@axisRotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@description": {
                    "type": "string"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@maxPosition": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": -1
                    }
                },
                "@minPosition": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@offset": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PointEmitter": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@direction": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@mass": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@position": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@speed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@surfaceArea": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@variation": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.25
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PointLight": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ambientIntensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@attenuation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": 0,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@color": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 1
                    }
                },
                "@global": {
                    "type": "boolean",
                    "default": true
                },
                "@intensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 1
                },
                "@location": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@on": {
                    "type": "boolean",
                    "default": true
                },
                "@radius": {
                    "type": "number",
                    "minimum": 0,
                    "default": 100
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PointPickSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@intersectionType": {
                    "type": "string",
                    "default": "BOUNDS"
                },
                "@matchCriterion": {
                    "type": "string",
                    "enum": [
                        "MATCH_ANY",
                        "MATCH_EVERY",
                        "MATCH_ONLY_ONE"
                    ],
                    "default": "MATCH_ANY"
                },
                "@objectType": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "ALL"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@sortOrder": {
                    "type": "string",
                    "enum": [
                        "ANY",
                        "CLOSEST",
                        "ALL",
                        "ALL_SORTED"
                    ],
                    "default": "CLOSEST"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-pickingGeometry": {
                    "type": "object",
                    "properties": {
                        "PointSet": {
                            "$ref": "#/definitions/PointSet"
                        },
                        "ProtoInstance": {
                            "$ref": "#/definitions/ProtoInstance"
                        }
                    },
                    "additionalProperties": false
                },
                "-pickTarget": {
                    "$ref": "#/definitions/-pickTarget"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PointSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Polyline2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@lineSegments": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PolylineEmitter": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@coordIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "integer",
                            "minimum": -1,
                            "default": -1
                        }
                    ],
                    "additionalItems": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "@direction": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@mass": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@speed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@surfaceArea": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@variation": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.25
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Polypoint2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@point": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PositionChaser": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@duration": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PositionChaser2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@duration": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PositionDamper": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@order": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5,
                    "default": 3
                },
                "@tau": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.3
                },
                "@tolerance": {
                    "$ref": "#/definitions/@tolerance"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PositionDamper2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@order": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5,
                    "default": 3
                },
                "@tau": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.3
                },
                "@tolerance": {
                    "$ref": "#/definitions/@tolerance"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PositionInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PositionInterpolator2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "PrimitivePickSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@intersectionType": {
                    "type": "string",
                    "default": "BOUNDS"
                },
                "@matchCriterion": {
                    "type": "string",
                    "enum": [
                        "MATCH_ANY",
                        "MATCH_EVERY",
                        "MATCH_ONLY_ONE"
                    ],
                    "default": "MATCH_ANY"
                },
                "@objectType": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "ALL"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@sortOrder": {
                    "type": "string",
                    "enum": [
                        "ANY",
                        "CLOSEST",
                        "ALL",
                        "ALL_SORTED"
                    ],
                    "default": "CLOSEST"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-pickingGeometry": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "Box": {
                                "$ref": "#/definitions/Box"
                            },
                            "Cone": {
                                "$ref": "#/definitions/Cone"
                            },
                            "Cylinder": {
                                "$ref": "#/definitions/Cylinder"
                            },
                            "Sphere": {
                                "$ref": "#/definitions/Sphere"
                            },
                            "ProtoInstance": {
                                "$ref": "#/definitions/ProtoInstance"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "-pickTarget": {
                    "$ref": "#/definitions/-pickTarget"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ProgramShader": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@language": {
                    "type": "string"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-programs": {
                    "$ref": "#/definitions/-programs"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ProjectionVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@intensityThreshold": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@type": {
                    "type": "string",
                    "enum": [
                        "MAX",
                        "MIN",
                        "AVERAGE"
                    ],
                    "default": "MAX"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ProtoBody": {
            "type": "object",
            "properties": {
                "-children": {
                    "$ref": "#/definitions/-allNodes"
                }
            },
            "additionalProperties": false
        },
        "ProtoDeclare": {
            "type": "object",
            "properties": {
                "@name": {
                    "type": "string"
                },
                "@appinfo": {
                    "type": "string"
                },
                "@documentation": {
                    "type": "string"
                },
                "ProtoInterface": {
                    "$ref": "#/definitions/ProtoInterface"
                },
                "ProtoBody": {
                    "$ref": "#/definitions/ProtoBody"
                },
                "-children": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "#comment": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "required": [
                "@name",
                "ProtoBody"
            ],
            "additionalProperties": false
        },
        "ProtoInstance": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "@name": {
                    "type": "string"
                },
                "fieldValue": {
                    "$ref": "#/definitions/fieldValue"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-children": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "#comment": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "required": [
                "@name"
            ],
            "additionalProperties": false
        },
        "ProtoInterface": {
            "type": "object",
            "properties": {
                "field": {
                    "$ref": "#/definitions/field"
                },
                "-children": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "#comment": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "additionalProperties": false
        },
        "ProximitySensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@size": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "QuadSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ReceiverPdu": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@address": {
                    "type": "string",
                    "default": "localhost"
                },
                "@applicationID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@entityID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@geoCoords": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@multicastRelayHost": {
                    "type": "string"
                },
                "@multicastRelayPort": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@networkMode": {
                    "type": "string",
                    "enum": [
                        "standAlone",
                        "networkReader",
                        "networkWriter"
                    ],
                    "default": "standAlone"
                },
                "@port": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@radioID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@readInterval": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.1
                },
                "@receivedPower": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@receiverState": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@rtpHeaderExpected": {
                    "type": "boolean",
                    "default": false
                },
                "@siteID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@transmitterApplicationID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@transmitterEntityID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@transmitterSiteID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@whichGeometry": {
                    "type": "integer",
                    "minimum": -1,
                    "default": 1
                },
                "@writeInterval": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Rectangle2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@size": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "default": 2
                    }
                },
                "@solid": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "RigidBody": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@angularDampingFactor": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.001
                },
                "@angularVelocity": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@autoDamp": {
                    "type": "boolean",
                    "default": false
                },
                "@autoDisable": {
                    "type": "boolean",
                    "default": false
                },
                "@centerOfMass": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@disableAngularSpeed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@disableLinearSpeed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@disableTime": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@finiteRotationAxis": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@fixed": {
                    "type": "boolean",
                    "default": false
                },
                "@forces": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "@intertia": {
                    "$ref": "#/definitions/@matrix3f"
                },
                "@linearDampingFactor": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.001
                },
                "@linearVelocity": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@mass": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@orientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@position": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@torques": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "@useFiniteRotation": {
                    "type": "boolean",
                    "default": false
                },
                "@useGlobalGravity": {
                    "type": "boolean",
                    "default": true
                },
                "-geometry": {
                    "$ref": "#/definitions/-collidable"
                },
                "-massDensityModel": {
                    "$ref": "#/definitions/-massDensityModel"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "RigidBodyCollection": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@autoDisable": {
                    "type": "boolean",
                    "default": false
                },
                "@constantForceMix": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.0001
                },
                "@contactSurfaceThickness": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@disableAngularSpeed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@disableLinearSpeed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@disableTime": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@errorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "@gravity": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": -9.81
                        },
                        {
                            "type": "number",
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@iterations": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 10
                },
                "@maxCorrectionSpeed": {
                    "type": "number",
                    "minimum": -1,
                    "default": -1
                },
                "@preferAccuracy": {
                    "type": "boolean",
                    "default": false
                },
                "-bodies": {
                    "$ref": "#/definitions/-bodies"
                },
                "-collider": {
                    "$ref": "#/definitions/-collider"
                },
                "-joints": {
                    "$ref": "#/definitions/-rigidBodyJoints"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ROUTE": {
            "type": "object",
            "properties": {
                "@fromField": {
                    "type": "string"
                },
                "@fromNode": {
                    "type": "string"
                },
                "@toField": {
                    "type": "string"
                },
                "@toNode": {
                    "type": "string"
                }
            },
            "required": [
                "@fromField",
                "@fromNode",
                "@toField",
                "@toNode"
            ],
            "additionalProperties": false
        },
        "ScalarChaser": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@duration": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@initialDestination": {
                    "type": "number",
                    "default": 0
                },
                "@initialValue": {
                    "type": "number",
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ScalarDamper": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@initialDestination": {
                    "type": "number",
                    "default": 0
                },
                "@initialValue": {
                    "type": "number",
                    "default": 0
                },
                "@order": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5,
                    "default": 3
                },
                "@tolerance": {
                    "$ref": "#/definitions/@tolerance"
                },
                "@tau": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.3
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ScalarInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Scene": {
            "type": "object",
            "properties": {
                "-children": {
                    "$ref": "#/definitions/-children"
                }
            },
            "additionalProperties": false
        },
        "ScreenFontStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@family": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "SERIF"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@horizontal": {
                    "type": "boolean",
                    "default": true
                },
                "@justify": {
                    "$ref": "#/definitions/@justify"
                },
                "@language": {
                    "type": "string"
                },
                "@leftToRight": {
                    "type": "boolean",
                    "default": true
                },
                "@pointSize": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 12
                },
                "@spacing": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@style": {
                    "type": "string",
                    "enum": [
                        "PLAIN",
                        "BOLD",
                        "ITALIC",
                        "BOLDITALIC",
                        ""
                    ],
                    "default": "PLAIN"
                },
                "@topToBottom": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ScreenGroup": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "Script": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "field": {
                    "$ref": "#/definitions/field"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@directOutput": {
                    "type": "boolean",
                    "default": false
                },
                "@mustEvaluate": {
                    "type": "boolean",
                    "default": false
                },
                "@url": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "#sourceText": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SegmentedVolumeData": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@dimensions": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "default": 1
                    }
                },
                "@segmentEnabled": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "boolean"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-renderStyle": {
                    "$ref": "#/definitions/-renderStyles"
                },
                "-segmentIdentifiers": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-voxels": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ShadedVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@lighting": {
                    "type": "boolean",
                    "default": false
                },
                "@phaseFunction": {
                    "type": "string",
                    "default": "Henyey-Greenstein"
                },
                "@shadows": {
                    "type": "boolean",
                    "default": false
                },
                "-material": {
                    "$ref": "#/definitions/-material"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-surfaceNormals": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ShaderPart": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@type": {
                    "type": "string",
                    "default": "VERTEX"
                },
                "@url": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "#sourceText": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ShaderProgram": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@type": {
                    "type": "string",
                    "default": "VERTEX"
                },
                "@url": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "#sourceText": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "field": {
                    "$ref": "#/definitions/field"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Shape": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "-appearance": {
                    "$ref": "#/definitions/-appearance"
                },
                "-geometry": {
                    "$ref": "#/definitions/-geometry"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SignalPdu": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@address": {
                    "type": "string",
                    "default": "localhost"
                },
                "@applicationID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@data": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 255
                    }
                },
                "@dataLength": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@encodingScheme": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@entityID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@geoCoords": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@multicastRelayHost": {
                    "type": "string"
                },
                "@multicastRelayPort": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@networkMode": {
                    "type": "string",
                    "enum": [
                        "standAlone",
                        "networkReader",
                        "networkWriter"
                    ],
                    "default": "standAlone"
                },
                "@port": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@radioID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@readInterval": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.1
                },
                "@rtpHeaderExpected": {
                    "type": "boolean",
                    "default": false
                },
                "@sampleRate": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@samples": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@siteID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@tdlType": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@whichGeometry": {
                    "type": "integer",
                    "minimum": -1,
                    "default": 1
                },
                "@writeInterval": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SilhouetteEnhancementVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@silhouetteBoundaryOpacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@silhouetteRetainedOpacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 1
                },
                "@silhouetteSharpness": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.5
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-surfaceNormals": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SingleAxisHingeJoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@anchorPoint": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@axis": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@forceOutput": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "NONE"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@maxAngle": {
                    "type": "number",
                    "minimum": -3.1416,
                    "exclusiveMinimum": true,
                    "maximum": 3.1416,
                    "exclusiveMaximum": true,
                    "default": 3.141592653
                },
                "@minAngle": {
                    "type": "number",
                    "minimum": -3.1416,
                    "exclusiveMinimum": true,
                    "maximum": 3.1416,
                    "exclusiveMaximum": true,
                    "default": -3.141592653
                },
                "@stopBounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@stopErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "-body1": {
                    "$ref": "#/definitions/-body"
                },
                "-body2": {
                    "$ref": "#/definitions/-body"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SliderJoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@axis": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@forceOutput": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "NONE"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@maxSeparation": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@minSeparation": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@sliderForce": {
                    "type": "number",
                    "default": 0
                },
                "@stopBounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@stopErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 1
                },
                "-body1": {
                    "$ref": "#/definitions/-body"
                },
                "-body2": {
                    "$ref": "#/definitions/-body"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Sound": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@direction": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        }
                    ],
                    "additionalItems": false
                },
                "@intensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 1
                },
                "@location": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@maxBack": {
                    "type": "number",
                    "minimum": 0,
                    "default": 10
                },
                "@maxFront": {
                    "type": "number",
                    "minimum": 0,
                    "default": 10
                },
                "@minBack": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@minFront": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@priority": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@spatialize": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-source": {
                    "$ref": "#/definitions/-source"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Sphere": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@radius": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SphereSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@autoOffset": {
                    "type": "boolean",
                    "default": true
                },
                "@description": {
                    "type": "string"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@offset": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SplinePositionInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@closed": {
                    "type": "boolean",
                    "default": true
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyVelocity": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "@normalizeVelocity": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SplinePositionInterpolator2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@closed": {
                    "type": "boolean",
                    "default": true
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyVelocity": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "@normalizeVelocity": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SplineScalarInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@closed": {
                    "type": "boolean",
                    "default": true
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyVelocity": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@normalizeVelocity": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SpotLight": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ambientIntensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@attenuation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": 0,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@beamWidth": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "maximum": 1.5708,
                    "default": 0.7854
                },
                "@color": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 1
                    }
                },
                "@cutOffAngle": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "maximum": 1.5708,
                    "default": 1.570796
                },
                "@direction": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": -1
                        }
                    ],
                    "additionalItems": false
                },
                "@global": {
                    "type": "boolean",
                    "default": true
                },
                "@intensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 1
                },
                "@location": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@on": {
                    "type": "boolean",
                    "default": true
                },
                "@radius": {
                    "type": "number",
                    "minimum": 0,
                    "default": 100
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SquadOrientationInterpolator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@key": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number"
                    }
                },
                "@keyValue": {
                    "type": "array",
                    "minItems": 4,
                    "items": {
                        "type": "number"
                    }
                },
                "@normalizeVelocity": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "StaticGroup": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "StringSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@deletionAllowed": {
                    "type": "boolean",
                    "default": true
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "SurfaceEmitter": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@coordIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "integer",
                            "minimum": -1,
                            "default": -1
                        }
                    ],
                    "additionalItems": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "@mass": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@speed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@surfaceArea": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@variation": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.25
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-surface": {
                    "$ref": "#/definitions/-geometry"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Switch": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@whichChoice": {
                    "type": "integer",
                    "minimum": -1,
                    "default": -1
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "TexCoordChaser2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@duration": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TexCoordDamper2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@initialDestination": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@initialValue": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@order": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5,
                    "default": 3
                },
                "@tau": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.3
                },
                "@tolerance": {
                    "$ref": "#/definitions/@tolerance"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Text": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@length": {
                    "type": "array",
                    "items": {
                        "type": "number",
                        "minimum": 0
                    }
                },
                "@maxExtent": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@solid": {
                    "type": "boolean",
                    "default": false
                },
                "@string": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "-fontStyle": {
                    "type": "object",
                    "properties": {
                        "FontStyle": {
                            "$ref": "#/definitions/FontStyle"
                        },
                        "ScreenFontStyle": {
                            "$ref": "#/definitions/ScreenFontStyle"
                        },
                        "ProtoInstance": {
                            "$ref": "#/definitions/ProtoInstance"
                        }
                    },
                    "additionalProperties": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TextureBackground": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@groundAngle": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1.5708
                    }
                },
                "@groundColor": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                    }
                },
                "@skyAngle": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 3.1416
                    }
                },
                "@skyColor": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0
                    }
                },
                "@transparency": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "-backTexture": {
                    "$ref": "#/definitions/-texture2DMulti"
                },
                "-bottomTexture": {
                    "$ref": "#/definitions/-texture2DMulti"
                },
                "-frontTexture": {
                    "$ref": "#/definitions/-texture2DMulti"
                },
                "-leftTexture": {
                    "$ref": "#/definitions/-texture2DMulti"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-rightTexture": {
                    "$ref": "#/definitions/-texture2DMulti"
                },
                "-topTexture": {
                    "$ref": "#/definitions/-texture2DMulti"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TextureCoordinate": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@point": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TextureCoordinate3D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@point": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TextureCoordinate4D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@point": {
                    "type": "array",
                    "minItems": 4,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TextureCoordinateGenerator": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@mode": {
                    "type": "string",
                    "enum": [
                        "SPHERE",
                        "CAMERASPACENORMAL",
                        "CAMERASPACEPOSITION",
                        "CAMERASPACEREFLECTIONVECTOR",
                        "SPHERE-LOCAL",
                        "COORD",
                        "COORD-EYE",
                        "NOISE",
                        "NOISE-EYE",
                        "SPHERE-REFLECT",
                        "SPHERE-REFLECT-LOCAL"
                    ],
                    "default": "SPHERE"
                },
                "@parameter": {
                    "type": "array",
                    "maxItems": 6,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TextureProperties": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@anisotropicDegree": {
                    "type": "number",
                    "minimum": 1,
                    "default": 1
                },
                "@borderColor": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0
                    }
                },
                "@borderWidth": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "@boundaryModeR": {
                    "type": "string",
                    "enum": [
                        "CLAMP",
                        "CLAMP_TO_EDGE",
                        "CLAMP_TO_BOUNDARY",
                        "MIRRORED_REPEAT",
                        "REPEAT"
                    ],
                    "default": "REPEAT"
                },
                "@boundaryModeS": {
                    "type": "string",
                    "enum": [
                        "CLAMP",
                        "CLAMP_TO_EDGE",
                        "CLAMP_TO_BOUNDARY",
                        "MIRRORED_REPEAT",
                        "REPEAT"
                    ],
                    "default": "REPEAT"
                },
                "@boundaryModeT": {
                    "type": "string",
                    "enum": [
                        "CLAMP",
                        "CLAMP_TO_EDGE",
                        "CLAMP_TO_BOUNDARY",
                        "MIRRORED_REPEAT",
                        "REPEAT"
                    ],
                    "default": "REPEAT"
                },
                "@generateMipMaps": {
                    "type": "boolean",
                    "default": false
                },
                "@magnificationFilter": {
                    "type": "string",
                    "enum": [
                        "AVG_PIXEL",
                        "DEFAULT",
                        "FASTEST",
                        "NEAREST_PIXEL",
                        "NICEST"
                    ],
                    "default": "FASTEST"
                },
                "@minificationFilter": {
                    "type": "string",
                    "enum": [
                        "AVG_PIXEL",
                        "AVG_PIXEL_AVG_MIPMAP",
                        "AVG_PIXEL_NEAREST_MIPMAP",
                        "DEFAULT",
                        "FASTEST",
                        "NEAREST_PIXEL",
                        "NEAREST_PIXEL_AVG_MIPMAP",
                        "NEAREXT_PIXEL_NEAREST_MIPMAP",
                        "NICEST"
                    ],
                    "default": "FASTEST"
                },
                "@textureCompression": {
                    "type": "string",
                    "enum": [
                        "DEFAULT",
                        "FASTEST",
                        "HIGH",
                        "LOW",
                        "MEDIUM",
                        "NICEST"
                    ],
                    "default": "FASTEST"
                },
                "@texturePriority": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TextureTransform": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@center": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@rotation": {
                    "type": "number",
                    "default": 0
                },
                "@scale": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 1
                    }
                },
                "@translation": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TextureTransform3D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@scale": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 1
                    }
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TextureTransformMatrix3D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@matrix": {
                    "$ref": "#/definitions/@matrix4f"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TimeSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@cycleInterval": {
                    "type": "number",
                    "minimum": 0,
                    "exclusiveMinimum": true,
                    "default": 1
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@loop": {
                    "type": "boolean",
                    "default": false
                },
                "@pauseTime": {
                    "type": "number",
                    "default": 0
                },
                "@resumeTime": {
                    "type": "number",
                    "default": 0
                },
                "@startTime": {
                    "type": "number",
                    "default": 0
                },
                "@stopTime": {
                    "type": "number",
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TimeTrigger": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ToneMappedVolumeStyle": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@coolColor": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@warmColor": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-surfaceNormals": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TouchSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@description": {
                    "type": "string"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Transform": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@rotation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@scale": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 1
                    }
                },
                "@scaleOrientation": {
                    "$ref": "#/definitions/@rotation"
                },
                "@translation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "TransformSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@size": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-targetObject": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "Anchor": {
                                "$ref": "#/definitions/Anchor"
                            },
                            "Billboard": {
                                "$ref": "#/definitions/Billboard"
                            },
                            "CADAssembly": {
                                "$ref": "#/definitions/CADAssembly"
                            },
                            "CADLayer": {
                                "$ref": "#/definitions/CADLayer"
                            },
                            "CADPart": {
                                "$ref": "#/definitions/CADPart"
                            },
                            "Collision": {
                                "$ref": "#/definitions/Collision"
                            },
                            "EspduTransform": {
                                "$ref": "#/definitions/EspduTransform"
                            },
                            "GeoLocation": {
                                "$ref": "#/definitions/GeoLocation"
                            },
                            "GeoTransform": {
                                "$ref": "#/definitions/GeoTransform"
                            },
                            "Group": {
                                "$ref": "#/definitions/Group"
                            },
                            "HAnimJoint": {
                                "$ref": "#/definitions/HAnimJoint"
                            },
                            "HAnimSegment": {
                                "$ref": "#/definitions/HAnimSegment"
                            },
                            "HAnimSite": {
                                "$ref": "#/definitions/HAnimSite"
                            },
                            "LayoutGroup": {
                                "$ref": "#/definitions/LayoutGroup"
                            },
                            "LOD": {
                                "$ref": "#/definitions/LOD"
                            },
                            "ParticleSystem": {
                                "$ref": "#/definitions/ParticleSystem"
                            },
                            "PickableGroup": {
                                "$ref": "#/definitions/PickableGroup"
                            },
                            "ScreenGroup": {
                                "$ref": "#/definitions/ScreenGroup"
                            },
                            "Shape": {
                                "$ref": "#/definitions/Shape"
                            },
                            "Switch": {
                                "$ref": "#/definitions/Switch"
                            },
                            "Transform": {
                                "$ref": "#/definitions/Transform"
                            },
                            "Viewport": {
                                "$ref": "#/definitions/Viewport"
                            },
                            "ProtoInstance": {
                                "$ref": "#/definitions/ProtoInstance"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TransmitterPdu": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@address": {
                    "type": "string",
                    "default": "localhost"
                },
                "@antennaLocation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@antennaPatternLength": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@antennaPatternType": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@applicationID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@cryptoKeyID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@cryptoSystem": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@entityID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@frequency": {
                    "type": "integer",
                    "minimum": 0
                },
                "@geoCoords": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@geoSystem": {
                    "$ref": "#/definitions/@geoSystem"
                },
                "@inputSource": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@lengthOfModulationParameters": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@modulationTypeDetail": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@modulationTypeMajor": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@modulationTypeSpreadSpectrum": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@modulationTypeSystem": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@multicastRelayHost": {
                    "type": "string"
                },
                "@multicastRelayPort": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@networkMode": {
                    "type": "string",
                    "enum": [
                        "standAlone",
                        "networkReader",
                        "networkWriter"
                    ],
                    "default": "standAlone"
                },
                "@port": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@power": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@radioEntityTypeCategory": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@radioEntityTypeCountry": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@radioEntityTypeDomain": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@radioEntityTypeKind": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@radioEntityTypeNomenclature": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@radioEntityTypeNomenclatureVersion": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@radioID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@readInterval": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.1
                },
                "@relativeAntennaLocation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@rtpHeaderExpected": {
                    "type": "boolean",
                    "default": false
                },
                "@siteID": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535,
                    "default": 0
                },
                "@transmitFrequencyBandwidth": {
                    "type": "number",
                    "default": 0
                },
                "@transmitState": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255,
                    "default": 0
                },
                "@whichGeometry": {
                    "type": "integer",
                    "minimum": -1,
                    "default": 1
                },
                "@writeInterval": {
                    "type": "number",
                    "minimum": 0,
                    "default": 1
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TriangleFanSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@fanCount": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 3
                    }
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TriangleSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TriangleSet2D": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "@vertices": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "type": "number"
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TriangleStripSet": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ccw": {
                    "type": "boolean",
                    "default": true
                },
                "@colorPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@normalPerVertex": {
                    "type": "boolean",
                    "default": true
                },
                "@solid": {
                    "type": "boolean",
                    "default": true
                },
                "@stripCount": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer",
                        "minimum": 3
                    }
                },
                "-attrib": {
                    "$ref": "#/definitions/-attrib"
                },
                "-color": {
                    "$ref": "#/definitions/-color"
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-fogCoord": {
                    "$ref": "#/definitions/-fogCoord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-normal": {
                    "$ref": "#/definitions/-normal"
                },
                "-texCoord": {
                    "$ref": "#/definitions/-texCoord"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "TwoSidedMaterial": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@ambientIntensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.2
                },
                "@backAmbientIntensity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.2
                },
                "@backDiffuseColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0.8
                    }
                },
                "@backEmissiveColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0
                    }
                },
                "@backShininess": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.2
                },
                "@backSpecularColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0
                    }
                },
                "@backTransparency": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@diffuseColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0.8
                    }
                },
                "@emissiveColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0
                    }
                },
                "@separateBackColor": {
                    "type": "boolean",
                    "default": false
                },
                "@shininess": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.2
                },
                "@specularColor": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "default": 0
                    }
                },
                "@transparency": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "UniversalJoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@anchorPoint": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@axis1": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@axis2": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@forceOutput": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "NONE"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@stop1Bounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@stop1ErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "@stop2Bounce": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "@stop2ErrorCorrection": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0.8
                },
                "-body1": {
                    "$ref": "#/definitions/-body"
                },
                "-body2": {
                    "$ref": "#/definitions/-body"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "Viewpoint": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@centerOfRotation": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@description": {
                    "type": "string"
                },
                "@fieldOfView": {
                    "type": "number",
                    "default": 0.7854
                },
                "@jump": {
                    "type": "boolean",
                    "default": true
                },
                "@orientation": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 1
                        }
                    ],
                    "additionalItems": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@position": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "default": 0
                        },
                        {
                            "type": "number",
                            "default": 0
                        }
                    ],
                    "additionalItems": {
                        "type": "number",
                        "default": 10
                    }
                },
                "@retainUserOffsets": {
                    "type": "boolean",
                    "default": false
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "ViewpointGroup": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@description": {
                    "type": "string"
                },
                "@displayed": {
                    "type": "boolean",
                    "default": true
                },
                "@retainUserOffsets": {
                    "type": "boolean",
                    "default": false
                },
                "@size": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "-children": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "GeoViewpoint": {
                                "$ref": "#/definitions/GeoViewpoint"
                            },
                            "OrthoViewpoint": {
                                "$ref": "#/definitions/OrthoViewpoint"
                            },
                            "Viewpoint": {
                                "$ref": "#/definitions/Viewpoint"
                            },
                            "ViewpointGroup": {
                                "$ref": "#/definitions/ViewpointGroup"
                            },
                            "ProtoInstance": {
                                "$ref": "#/definitions/ProtoInstance"
                            },
                            "ROUTE": {
                                "$ref": "#/definitions/ROUTE"
                            },
                            "#comment": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "Viewport": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@clipBoundary": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4,
                    "items": [
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1,
                            "default": 1
                        }
                    ],
                    "additionalItems": false
                },
                "-children": {
                    "$ref": "#/definitions/-children"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                }
            },
            "additionalProperties": false
        },
        "VisibilitySensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@center": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@size": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "default": 0
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "VolumeData": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@bboxCenter": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "default": 0
                    }
                },
                "@bboxSize": {
                    "$ref": "#/definitions/@bboxSize"
                },
                "@dimensions": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "default": 1
                    }
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-renderStyle": {
                    "$ref": "#/definitions/-renderStyle"
                },
                "-voxels": {
                    "$ref": "#/definitions/-texture3D"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "VolumeEmitter": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@coordIndex": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "integer",
                            "minimum": -1,
                            "default": -1
                        }
                    ],
                    "additionalItems": {
                        "type": "integer",
                        "minimum": -1
                    }
                },
                "@direction": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@internal": {
                    "type": "boolean",
                    "default": true
                },
                "@mass": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@speed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@surfaceArea": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0
                },
                "@variation": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.25
                },
                "-coord": {
                    "$ref": "#/definitions/-coord"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "VolumePickSensor": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@intersectionType": {
                    "type": "string",
                    "default": "BOUNDS"
                },
                "@matchCriterion": {
                    "type": "string",
                    "enum": [
                        "MATCH_ANY",
                        "MATCH_EVERY",
                        "MATCH_ONLY_ONE"
                    ],
                    "default": "MATCH_ANY"
                },
                "@objectType": {
                    "type": "array",
                    "minItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "default": "ALL"
                        }
                    ],
                    "additionalItems": {
                        "type": "string"
                    }
                },
                "@sortOrder": {
                    "type": "string",
                    "enum": [
                        "ANY",
                        "CLOSEST",
                        "ALL",
                        "ALL_SORTED"
                    ],
                    "default": "CLOSEST"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-pickingGeometry": {
                    "$ref": "#/definitions/-geometry"
                },
                "-pickTarget": {
                    "$ref": "#/definitions/-pickTarget"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "WindPhysicsModel": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@direction": {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 1
                        },
                        {
                            "type": "number",
                            "minimum": -1,
                            "maximum": 1,
                            "default": 0
                        }
                    ],
                    "additionalItems": false
                },
                "@enabled": {
                    "type": "boolean",
                    "default": true
                },
                "@gustiness": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.1
                },
                "@speed": {
                    "type": "number",
                    "minimum": 0,
                    "default": 0.1
                },
                "@turbulence": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1,
                    "default": 0
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "WorldInfo": {
            "type": "object",
            "properties": {
                "@DEF": {
                    "type": "string"
                },
                "@USE": {
                    "type": "string"
                },
                "IS": {
                    "$ref": "#/definitions/IS"
                },
                "@info": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "@title": {
                    "type": "string"
                },
                "-metadata": {
                    "$ref": "#/definitions/-metadata"
                },
                "-children": {
                    "$ref": "#/definitions/-commentRoute"
                }
            },
            "additionalProperties": false
        },
        "X3D": {
            "type": "object",
            "properties": {
                "@profile": {
                    "type": "string"
                },
                "@version": {
                    "type": "string",
                    "enum": [
                        "3.0",
                        "3.1",
                        "3.2",
                        "3.3"
                    ],
                    "default": "3.3"
                },
                "@xsd:noNamespaceSchemaLocation": {
                    "type": "string",
                    "format": "uri"
                },
                "-children": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "#comment": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "JSON schema": {
                    "type": "string"
                },
                "encoding": {
                    "type": "string",
                    "enum": [
                        "UTF-8",
                        "UTF-16",
                        "UTF-32"
                    ]
                },
                "head": {
                    "$ref": "#/definitions/head"
                },
                "Scene": {
                    "$ref": "#/definitions/Scene"
                }
            },
            "required": [
                "@profile",
                "@version",
                "encoding",
                "Scene"
            ],
            "additionalProperties": false
        },
        "field": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "@name": {
                        "type": "string"
                    },
                    "@accessType": {
                        "type": "string",
                        "enum": [
                            "inputOnly",
                            "inputOutput",
                            "outputOnly",
                            "initializeOnly"
                        ]
                    },
                    "@type": {
                        "type": "string"
                    },
                    "@value": {},
                    "-children": {
                        "$ref": "#/definitions/-allNodes"
                    },
                    "@appinfo": {
                        "type": "string"
                    },
                    "@documentation": {
                        "type": "string"
                    }
                },
                "required": [
                    "@name",
                    "@accessType",
                    "@type"
                ],
                "additionalProperties": false
            }
        },
        "fieldValue": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "@name": {
                        "type": "string"
                    },
                    "@value": {},
                    "-children": {
                        "$ref": "#/definitions/-allNodes"
                    }
                },
                "required": [
                    "@name"
                ],
                "additionalProperties": false
            }
        },
        "head": {
            "type": "object",
            "properties": {
                "component": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "@name": {
                                "type": "string"
                            },
                            "@level": {
                                "type": "integer",
                                "minimum": 1
                            }
                        },
                        "required": [
                            "@name",
                            "@level"
                        ],
                        "additionalProperties": false
                    }
                },
                "unit": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "@name": {
                                "type": "string"
                            },
                            "@category": {
                                "type": "string",
                                "enum": [
                                    "angle",
                                    "force",
                                    "length",
                                    "mass"
                                ]
                            },
                            "@conversionFactor": {
                                "type": "number"
                            }
                        },
                        "required": [
                            "@name",
                            "@category",
                            "@conversionFactor"
                        ],
                        "additionalProperties": false
                    }
                },
                "meta": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "object",
                        "properties": {
                            "@name": {
                                "type": "string"
                            },
                            "@content": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "@name",
                            "@content"
                        ],
                        "additionalProperties": false
                    }
                },
                "Th": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "#comment": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "additionalProperties": false
        },
        "@appliedParameters": {
            "description": "Validates all values, including uniqueness",
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": [
                {
                    "type": "string",
                    "enum": [
                        "BOUNCE",
                        "USER_FRICTION",
                        "FRICTION_COEFFICIENT-2",
                        "ERROR_REDUCTION",
                        "CONSTANT_FORCE",
                        "SPEED-1",
                        "SPEED-2",
                        "SLIP-1",
                        "SLIP-2"
                    ],
                    "default": "BOUNCE"
                }
            ],
            "additionalItems": {
                "type": "string",
                "enum": [
                    "BOUNCE",
                    "USER_FRICTION",
                    "FRICTION_COEFFICIENT-2",
                    "ERROR_REDUCTION",
                    "CONSTANT_FORCE",
                    "SPEED-1",
                    "SPEED-2",
                    "SLIP-1",
                    "SLIP-2"
                ]
            }
        },
        "@bboxSize": {
            "description": "Validates both regular values and special -1 values",
            "oneOf": [
                {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "minimum": 0,
                        "default": -1
                    }
                },
                {
                    "type": "array",
                    "minItems": 3,
                    "maxItems": 3,
                    "items": {
                        "type": "number",
                        "enum": [
                            -1
                        ],
                        "default": -1
                    }
                }
            ]
        },
        "@geoSystem": {
            "description": "Attempts to validate all possible combinations",
            "oneOf": [
                {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 3,
                    "items": [
                        {
                            "type": "string",
                            "enum": [
                                "GD",
                                "GDC"
                            ],
                            "default": "GD"
                        },
                        {
                            "type": "string",
                            "enum": [
                                "AM",
                                "AN",
                                "BN",
                                "BR",
                                "CC",
                                "CD",
                                "EA",
                                "EB",
                                "EC",
                                "ED",
                                "EE",
                                "EF",
                                "FA",
                                "HE",
                                "HO",
                                "ID",
                                "IN",
                                "KA",
                                "RF",
                                "SA",
                                "WD",
                                "WE"
                            ],
                            "default": "WE"
                        }
                    ],
                    "additionalItems": {
                        "type": "string",
                        "enum": [
                            "WGS84"
                        ]
                    }
                },
                {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 5,
                    "items": [
                        {
                            "type": "string",
                            "enum": [
                                "UTM"
                            ],
                            "default": "GD"
                        },
                        {
                            "type": "string",
                            "enum": [
                                "Z01",
                                "Z1",
                                "Z02",
                                "Z2",
                                "Z03",
                                "Z3",
                                "Z04",
                                "Z4",
                                "Z05",
                                "Z5",
                                "Z06",
                                "Z6",
                                "Z07",
                                "Z7",
                                "Z08",
                                "Z8",
                                "Z09",
                                "Z9",
                                "Z10",
                                "Z11",
                                "Z12",
                                "Z13",
                                "Z14",
                                "Z15",
                                "Z16",
                                "Z17",
                                "Z18",
                                "Z19",
                                "Z20",
                                "Z21",
                                "Z22",
                                "Z23",
                                "Z24",
                                "Z25",
                                "Z26",
                                "Z27",
                                "Z28",
                                "Z29",
                                "Z30",
                                "Z31",
                                "Z32",
                                "Z33",
                                "Z34",
                                "Z35",
                                "Z36",
                                "Z37",
                                "Z38",
                                "Z39",
                                "Z40",
                                "Z41",
                                "Z42",
                                "Z43",
                                "Z44",
                                "Z45",
                                "Z46",
                                "Z47",
                                "Z48",
                                "Z49",
                                "Z50",
                                "Z51",
                                "Z52",
                                "Z53",
                                "Z54",
                                "Z55",
                                "Z56",
                                "Z57",
                                "Z58",
                                "Z59",
                                "Z60"
                            ],
                            "default": "WE"
                        },
                        {
                            "type": "string",
                            "enum": [
                                "S"
                            ]
                        },
                        {
                            "type": "string",
                            "enum": [
                                "AM",
                                "AN",
                                "BN",
                                "BR",
                                "CC",
                                "CD",
                                "EA",
                                "EB",
                                "EC",
                                "ED",
                                "EE",
                                "EF",
                                "FA",
                                "HE",
                                "HO",
                                "ID",
                                "IN",
                                "KA",
                                "RF",
                                "SA",
                                "WD",
                                "WE"
                            ]
                        }
                    ],
                    "additionalItems": {
                        "type": "string",
                        "enum": [
                            "WGS84"
                        ]
                    }
                },
                {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 1,
                    "items": [
                        {
                            "type": "string",
                            "enum": [
                                "GC",
                                "GCC"
                            ]
                        }
                    ],
                    "additionalItems": false
                }
            ]
        },
        "@justify": {
            "description": "Validates both values",
            "type": "array",
            "minItems": 1,
            "maxItems": 2,
            "items": [
                {
                    "type": "string",
                    "enum": [
                        "BEGIN",
                        "END",
                        "FIRST",
                        "MIDDLE",
                        ""
                    ],
                    "default": "BEGIN"
                }
            ],
            "additionalItems": {
                "type": "string",
                "enum": [
                    "BEGIN",
                    "END",
                    "FIRST",
                    "MIDDLE",
                    ""
                ]
            }
        },
        "@matrix3f": {
            "description": "Identity SFMatrix3f",
            "type": "array",
            "minItems": 9,
            "maxItems": 9,
            "items": [
                {
                    "type": "number",
                    "default": 1
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 1
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                }
            ],
            "additionalItems": {
                "type": "number",
                "default": 1
            }
        },
        "@matrix4f": {
            "description": "Identity SFMatrix4f",
            "type": "array",
            "minItems": 16,
            "maxItems": 16,
            "items": [
                {
                    "type": "number",
                    "default": 1
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 1
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 1
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 0
                },
                {
                    "type": "number",
                    "default": 1
                }
            ],
            "additionalItems": false
        },
        "@rotation": {
            "description": "Validates all four components",
            "type": "array",
            "minItems": 4,
            "maxItems": 4,
            "items": [
                {
                    "type": "number",
                    "minimum": -1,
                    "maximum": 1,
                    "default": 0
                },
                {
                    "type": "number",
                    "minimum": -1,
                    "maximum": 1,
                    "default": 0
                },
                {
                    "type": "number",
                    "minimum": -1,
                    "maximum": 1,
                    "default": 1
                }
            ],
            "additionalItems": {
                "type": "number",
                "default": 0
            }
        },
        "@tolerance": {
            "description": "Validates both regular value and special -1 value",
            "default": -1,
            "oneOf": [
                {
                    "type": "number",
                    "minimum": 0
                },
                {
                    "type": "number",
                    "enum": [
                        -1
                    ]
                }
            ]
        },
        "-allNodes": {
            "description": "Any X3D node",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "#comment": {
                        "type": "string"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    },
                    "Anchor": {
                        "$ref": "#/definitions/Anchor"
                    },
                    "Appearance": {
                        "$ref": "#/definitions/Appearance"
                    },
                    "Arc2D": {
                        "$ref": "#/definitions/Arc2D"
                    },
                    "ArcClose2D": {
                        "$ref": "#/definitions/ArcClose2D"
                    },
                    "AudioClip": {
                        "$ref": "#/definitions/AudioClip"
                    },
                    "Background": {
                        "$ref": "#/definitions/Background"
                    },
                    "BallJoint": {
                        "$ref": "#/definitions/BallJoint"
                    },
                    "Billboard": {
                        "$ref": "#/definitions/Billboard"
                    },
                    "BlendedVolumeStyle": {
                        "$ref": "#/definitions/BlendedVolumeStyle"
                    },
                    "BooleanFilter": {
                        "$ref": "#/definitions/BooleanFilter"
                    },
                    "BooleanSequencer": {
                        "$ref": "#/definitions/BooleanSequencer"
                    },
                    "BooleanToggle": {
                        "$ref": "#/definitions/BooleanToggle"
                    },
                    "BooleanTrigger": {
                        "$ref": "#/definitions/BooleanTrigger"
                    },
                    "BoundaryEnhancementVolumeStyle": {
                        "$ref": "#/definitions/BoundaryEnhancementVolumeStyle"
                    },
                    "BoundedPhysicsModel": {
                        "$ref": "#/definitions/BoundedPhysicsModel"
                    },
                    "Box": {
                        "$ref": "#/definitions/Box"
                    },
                    "CADAssembly": {
                        "$ref": "#/definitions/CADAssembly"
                    },
                    "CADFace": {
                        "$ref": "#/definitions/CADFace"
                    },
                    "CADLayer": {
                        "$ref": "#/definitions/CADLayer"
                    },
                    "CADPart": {
                        "$ref": "#/definitions/CADPart"
                    },
                    "CartoonVolumeStyle": {
                        "$ref": "#/definitions/CartoonVolumeStyle"
                    },
                    "Circle2D": {
                        "$ref": "#/definitions/Circle2D"
                    },
                    "ClipPlane": {
                        "$ref": "#/definitions/ClipPlane"
                    },
                    "CollidableOffset": {
                        "$ref": "#/definitions/CollidableOffset"
                    },
                    "CollidableShape": {
                        "$ref": "#/definitions/CollidableShape"
                    },
                    "Collision": {
                        "$ref": "#/definitions/Collision"
                    },
                    "CollisionCollection": {
                        "$ref": "#/definitions/CollisionCollection"
                    },
                    "CollisionSensor": {
                        "$ref": "#/definitions/CollisionSensor"
                    },
                    "CollisionSpace": {
                        "$ref": "#/definitions/CollisionSpace"
                    },
                    "Color": {
                        "$ref": "#/definitions/Color"
                    },
                    "ColorChaser": {
                        "$ref": "#/definitions/ColorChaser"
                    },
                    "ColorDamper": {
                        "$ref": "#/definitions/ColorDamper"
                    },
                    "ColorInterpolator": {
                        "$ref": "#/definitions/ColorInterpolator"
                    },
                    "ColorRGBA": {
                        "$ref": "#/definitions/ColorRGBA"
                    },
                    "ComposedCubeMapTexture": {
                        "$ref": "#/definitions/ComposedCubeMapTexture"
                    },
                    "ComposedShader": {
                        "$ref": "#/definitions/ComposedShader"
                    },
                    "ComposedTexture3D": {
                        "$ref": "#/definitions/ComposedTexture3D"
                    },
                    "ComposedVolumeStyle": {
                        "$ref": "#/definitions/ComposedVolumeStyle"
                    },
                    "Cone": {
                        "$ref": "#/definitions/Cone"
                    },
                    "ConeEmitter": {
                        "$ref": "#/definitions/ConeEmitter"
                    },
                    "Contact": {
                        "$ref": "#/definitions/Contact"
                    },
                    "Contour2D": {
                        "$ref": "#/definitions/Contour2D"
                    },
                    "ContourPolyline2D": {
                        "$ref": "#/definitions/ContourPolyline2D"
                    },
                    "Coordinate": {
                        "$ref": "#/definitions/Coordinate"
                    },
                    "CoordinateChaser": {
                        "$ref": "#/definitions/CoordinateChaser"
                    },
                    "CoordinateDamper": {
                        "$ref": "#/definitions/CoordinateDamper"
                    },
                    "CoordinateDouble": {
                        "$ref": "#/definitions/CoordinateDouble"
                    },
                    "CoordinateInterpolator": {
                        "$ref": "#/definitions/CoordinateInterpolator"
                    },
                    "CoordinateInterpolator2D": {
                        "$ref": "#/definitions/CoordinateInterpolator2D"
                    },
                    "Cylinder": {
                        "$ref": "#/definitions/Cylinder"
                    },
                    "CylinderSensor": {
                        "$ref": "#/definitions/CylinderSensor"
                    },
                    "DirectionalLight": {
                        "$ref": "#/definitions/DirectionalLight"
                    },
                    "DISEntityManager": {
                        "$ref": "#/definitions/DISEntityManager"
                    },
                    "DISEntityTypeMapping": {
                        "$ref": "#/definitions/DISEntityTypeMapping"
                    },
                    "Disk2D": {
                        "$ref": "#/definitions/Disk2D"
                    },
                    "DoubleAxisHingeJoint": {
                        "$ref": "#/definitions/DoubleAxisHingeJoint"
                    },
                    "EaseInEaseOut": {
                        "$ref": "#/definitions/EaseInEaseOut"
                    },
                    "EdgeEnhancementVolumeStyle": {
                        "$ref": "#/definitions/EdgeEnhancementVolumeStyle"
                    },
                    "ElevationGrid": {
                        "$ref": "#/definitions/ElevationGrid"
                    },
                    "EspduTransform": {
                        "$ref": "#/definitions/EspduTransform"
                    },
                    "ExplosionEmitter": {
                        "$ref": "#/definitions/ExplosionEmitter"
                    },
                    "Extrusion": {
                        "$ref": "#/definitions/Extrusion"
                    },
                    "FillProperties": {
                        "$ref": "#/definitions/FillProperties"
                    },
                    "FloatVertexAttribute": {
                        "$ref": "#/definitions/FloatVertexAttribute"
                    },
                    "Fog": {
                        "$ref": "#/definitions/Fog"
                    },
                    "FogCoordinate": {
                        "$ref": "#/definitions/FogCoordinate"
                    },
                    "FontStyle": {
                        "$ref": "#/definitions/FontStyle"
                    },
                    "ForcePhysicsModel": {
                        "$ref": "#/definitions/ForcePhysicsModel"
                    },
                    "GeneratedCubeMapTexture": {
                        "$ref": "#/definitions/GeneratedCubeMapTexture"
                    },
                    "GeoCoordinate": {
                        "$ref": "#/definitions/GeoCoordinate"
                    },
                    "GeoElevationGrid": {
                        "$ref": "#/definitions/GeoElevationGrid"
                    },
                    "GeoLocation": {
                        "$ref": "#/definitions/GeoLocation"
                    },
                    "GeoLOD": {
                        "$ref": "#/definitions/GeoLOD"
                    },
                    "GeoMetadata": {
                        "$ref": "#/definitions/GeoMetadata"
                    },
                    "GeoOrigin": {
                        "$ref": "#/definitions/GeoOrigin"
                    },
                    "GeoPositionInterpolator": {
                        "$ref": "#/definitions/GeoPositionInterpolator"
                    },
                    "GeoProximitySensor": {
                        "$ref": "#/definitions/GeoProximitySensor"
                    },
                    "GeoTouchSensor": {
                        "$ref": "#/definitions/GeoTouchSensor"
                    },
                    "GeoTransform": {
                        "$ref": "#/definitions/GeoTransform"
                    },
                    "GeoViewpoint": {
                        "$ref": "#/definitions/GeoViewpoint"
                    },
                    "Group": {
                        "$ref": "#/definitions/Group"
                    },
                    "HAnimDisplacer": {
                        "$ref": "#/definitions/HAnimDisplacer"
                    },
                    "HAnimHumanoid": {
                        "$ref": "#/definitions/HAnimHumanoid"
                    },
                    "HAnimJoint": {
                        "$ref": "#/definitions/HAnimJoint"
                    },
                    "HAnimSegment": {
                        "$ref": "#/definitions/HAnimSegment"
                    },
                    "HAnimSite": {
                        "$ref": "#/definitions/HAnimSite"
                    },
                    "ImageCubeMapTexture": {
                        "$ref": "#/definitions/ImageCubeMapTexture"
                    },
                    "ImageTexture": {
                        "$ref": "#/definitions/ImageTexture"
                    },
                    "ImageTexture3D": {
                        "$ref": "#/definitions/ImageTexture3D"
                    },
                    "IndexedFaceSet": {
                        "$ref": "#/definitions/IndexedFaceSet"
                    },
                    "IndexedLineSet": {
                        "$ref": "#/definitions/IndexedLineSet"
                    },
                    "IndexedQuadSet": {
                        "$ref": "#/definitions/IndexedQuadSet"
                    },
                    "IndexedTriangleFanSet": {
                        "$ref": "#/definitions/IndexedTriangleFanSet"
                    },
                    "IndexedTriangleSet": {
                        "$ref": "#/definitions/IndexedTrangleSet"
                    },
                    "IndexedTriangleStripSet": {
                        "$ref": "#/definitions/IndexedTriangleStripSet"
                    },
                    "Inline": {
                        "$ref": "#/definitions/Inline"
                    },
                    "IntegerSequencer": {
                        "$ref": "#/definitions/IntegerSequencer"
                    },
                    "IntegerTrigger": {
                        "$ref": "#/definitions/IntegerTrigger"
                    },
                    "IsoSurfaceVolumeData": {
                        "$ref": "#/definitions/IsoSurfaceVolumeData"
                    },
                    "KeySensor": {
                        "$ref": "#/definitions/KeySensor"
                    },
                    "Layer": {
                        "$ref": "#/definitions/Layer"
                    },
                    "LayerSet": {
                        "$ref": "#/definitions/LayerSet"
                    },
                    "Layout": {
                        "$ref": "#/definitions/Layout"
                    },
                    "LayoutGroup": {
                        "$ref": "#/definitions/LayoutGroup"
                    },
                    "LayoutLayer": {
                        "$ref": "#/definitions/LayoutLayer"
                    },
                    "LinePickSensor": {
                        "$ref": "#/definitions/LinePickSensor"
                    },
                    "LineProperties": {
                        "$ref": "#/definitions/LineProperties"
                    },
                    "LineSet": {
                        "$ref": "#/definitions/LineSet"
                    },
                    "LoadSensor": {
                        "$ref": "#/definitions/LoadSensor"
                    },
                    "LocalFog": {
                        "$ref": "#/definitions/LocalFog"
                    },
                    "LOD": {
                        "$ref": "#/definitions/LOD"
                    },
                    "Material": {
                        "$ref": "#/definitions/Material"
                    },
                    "Matrix3VertexAttribute": {
                        "$ref": "#/definitions/Matrix3VertexAttribute"
                    },
                    "Matrix4VertexAttribute": {
                        "$ref": "#/definitions/Matrix4VertexAttribute"
                    },
                    "MetadataBoolean": {
                        "$ref": "#/definitions/MetadataBoolean"
                    },
                    "MetadataDouble": {
                        "$ref": "#/definitions/MetadataDouble"
                    },
                    "MetadataFloat": {
                        "$ref": "#/definitions/MetadataFloat"
                    },
                    "MetadataInteger": {
                        "$ref": "#/definitions/MetadataInteger"
                    },
                    "MetadataSet": {
                        "$ref": "#/definitions/MetadataSet"
                    },
                    "MetadataString": {
                        "$ref": "#/definitions/MetadataString"
                    },
                    "MotorJoint": {
                        "$ref": "#/definitions/MotorJoint"
                    },
                    "MovieTexture": {
                        "$ref": "#/definitions/MovieTexture"
                    },
                    "MultiTexture": {
                        "$ref": "#/definitions/MultiTexture"
                    },
                    "MultiTextureCoordinate": {
                        "$ref": "#/definitions/MultiTextureCoordinate"
                    },
                    "MultiTextureTransform": {
                        "$ref": "#/definitions/MultiTextureTransform"
                    },
                    "NavigationInfo": {
                        "$ref": "#/definitions/NavigationInfo"
                    },
                    "Normal": {
                        "$ref": "#/definitions/Normal"
                    },
                    "NormalInterpolator": {
                        "$ref": "#/definitions/NormalInterpolator"
                    },
                    "NurbsCurve": {
                        "$ref": "#/definitions/NurbsCurve"
                    },
                    "NurbsCurve2D": {
                        "$ref": "#/definitions/NurbsCurve2D"
                    },
                    "NurbsOrientationInterpolator": {
                        "$ref": "#/definitions/NurbsOrientationInterpolator"
                    },
                    "NurbsPatchSurface": {
                        "$ref": "#/definitions/NurbsPatchSurface"
                    },
                    "NurbsPositionInterpolator": {
                        "$ref": "#/definitions/NurbsPositionInterpolator"
                    },
                    "NurbsSet": {
                        "$ref": "#/definitions/NurbsSet"
                    },
                    "NurbsSurfaceInterpolator": {
                        "$ref": "#/definitions/NurbsSurfaceInterpolator"
                    },
                    "NurbsSweptSurface": {
                        "$ref": "#/definitions/NurbsSweptSurface"
                    },
                    "NurbsSwungSurface": {
                        "$ref": "#/definitions/NurbsSwungSurface"
                    },
                    "NurbsTextureCoordinate": {
                        "$ref": "#/definitions/NurbsTextureCoordinate"
                    },
                    "NurbsTrimmedSurface": {
                        "$ref": "#/definitions/NurbsTrimmedSurface"
                    },
                    "OpacityMapVolumeStyle": {
                        "$ref": "#/definitions/OpacityMapVolumeStyle"
                    },
                    "OrientationChaser": {
                        "$ref": "#/definitions/OrientationChaser"
                    },
                    "OrientationDamper": {
                        "$ref": "#/definitions/OrientationDamper"
                    },
                    "OrientationInterpolator": {
                        "$ref": "#/definitions/OrientationInterpolator"
                    },
                    "OrthoViewpoint": {
                        "$ref": "#/definitions/OrthoViewpoint"
                    },
                    "PackagedShader": {
                        "$ref": "#/definitions/PackagedShader"
                    },
                    "ParticleSystem": {
                        "$ref": "#/definitions/ParticleSystem"
                    },
                    "PickableGroup": {
                        "$ref": "#/definitions/PickableGroup"
                    },
                    "PixelTexture": {
                        "$ref": "#/definitions/PixelTexture"
                    },
                    "PixelTexture3D": {
                        "$ref": "#/definitions/PixelTexture3D"
                    },
                    "PlaneSensor": {
                        "$ref": "#/definitions/PlaneSensor"
                    },
                    "PointEmitter": {
                        "$ref": "#/definitions/PointEmitter"
                    },
                    "PointLight": {
                        "$ref": "#/definitions/PointLight"
                    },
                    "PointPickSensor": {
                        "$ref": "#/definitions/PointPickSensor"
                    },
                    "PointSet": {
                        "$ref": "#/definitions/PointSet"
                    },
                    "Polyline2D": {
                        "$ref": "#/definitions/Polyline2D"
                    },
                    "PolylineEmitter": {
                        "$ref": "#/definitions/PolylineEmitter"
                    },
                    "Polypoint2D": {
                        "$ref": "#/definitions/Polypoint2D"
                    },
                    "PositionChaser": {
                        "$ref": "#/definitions/PositionChaser"
                    },
                    "PositionChaser2D": {
                        "$ref": "#/definitions/PositionChaser2D"
                    },
                    "PositionDamper": {
                        "$ref": "#/definitions/PositionDamper"
                    },
                    "PositionDamper2D": {
                        "$ref": "#/definitions/PositionDamper2D"
                    },
                    "PositionInterpolator": {
                        "$ref": "#/definitions/PositionInterpolator"
                    },
                    "PositionInterpolator2D": {
                        "$ref": "#/definitions/PositionInterpolator2D"
                    },
                    "PrimitivePickSensor": {
                        "$ref": "#/definitions/PrimitivePickSensor"
                    },
                    "ProgramShader": {
                        "$ref": "#/definitions/ProgramShader"
                    },
                    "ProjectionVolumeStyle": {
                        "$ref": "#/definitions/ProjectionVolumeStyle"
                    },
                    "ProximitySensor": {
                        "$ref": "#/definitions/ProximitySensor"
                    },
                    "QuadSet": {
                        "$ref": "#/definitions/QuadSet"
                    },
                    "ReceiverPdu": {
                        "$ref": "#/definitions/ReceiverPdu"
                    },
                    "Rectangle2D": {
                        "$ref": "#/definitions/Rectangle2D"
                    },
                    "RigidBody": {
                        "$ref": "#/definitions/RigidBody"
                    },
                    "RigidBodyCollection": {
                        "$ref": "#/definitions/RigidBodyCollection"
                    },
                    "ScalarChaser": {
                        "$ref": "#/definitions/ScalarChaser"
                    },
                    "ScalarDamper": {
                        "$ref": "#/definitions/ScalarDamper"
                    },
                    "ScalarInterpolator": {
                        "$ref": "#/definitions/ScalarInterpolator"
                    },
                    "ScreenFontStyle": {
                        "$ref": "#/definitions/ScreenFontStyle"
                    },
                    "ScreenGroup": {
                        "$ref": "#/definitions/ScreenGroup"
                    },
                    "Script": {
                        "$ref": "#/definitions/Script"
                    },
                    "SegmentedVolumeData": {
                        "$ref": "#/definitions/SegmentedVolumeData"
                    },
                    "ShadedVolumeStyle": {
                        "$ref": "#/definitions/ShadedVolumeStyle"
                    },
                    "ShaderPart": {
                        "$ref": "#/definitions/ShaderPart"
                    },
                    "ShaderProgram": {
                        "$ref": "#/definitions/ShaderProgram"
                    },
                    "Shape": {
                        "$ref": "#/definitions/Shape"
                    },
                    "SignalPdu": {
                        "$ref": "#/definitions/SignalPdu"
                    },
                    "SilhouetteEnhancementVolumeStyle": {
                        "$ref": "#/definitions/SilhouetteEnhancementVolumeStyle"
                    },
                    "SingleAxisHingeJoint": {
                        "$ref": "#/definitions/SingleAxisHingeJoint"
                    },
                    "SliderJoint": {
                        "$ref": "#/definitions/SliderJoint"
                    },
                    "Sound": {
                        "$ref": "#/definitions/Sound"
                    },
                    "Sphere": {
                        "$ref": "#/definitions/Sphere"
                    },
                    "SphereSensor": {
                        "$ref": "#/definitions/SphereSensor"
                    },
                    "SplinePositionInterpolator": {
                        "$ref": "#/definitions/SplinePositionInterpolator"
                    },
                    "SplinePositionInterpolator2D": {
                        "$ref": "#/definitions/SplinePositionInterpolator2D"
                    },
                    "SplineScalarInterpolator": {
                        "$ref": "#/definitions/SplineScalarInterpolator"
                    },
                    "SpotLight": {
                        "$ref": "#/definitions/SpotLight"
                    },
                    "SquadOrientationInterpolator": {
                        "$ref": "#/definitions/SquadOrientationInterpolator"
                    },
                    "StaticGroup": {
                        "$ref": "#/definitions/StaticGroup"
                    },
                    "StringSensor": {
                        "$ref": "#/definitions/StringSensor"
                    },
                    "SurfaceEmitter": {
                        "$ref": "#/definitions/SurfaceEmitter"
                    },
                    "Switch": {
                        "$ref": "#/definitions/Switch"
                    },
                    "TexCoordChaser2D": {
                        "$ref": "#/definitions/TexCoordChaser2D"
                    },
                    "TexCoordDamper2D": {
                        "$ref": "#/definitions/TexCoordDamper2D"
                    },
                    "Text": {
                        "$ref": "#/definitions/Text"
                    },
                    "TextureBackground": {
                        "$ref": "#/definitions/TextureBackground"
                    },
                    "TextureCoordinate": {
                        "$ref": "#/definitions/TextureCoordinate"
                    },
                    "TextureCoordinate3D": {
                        "$ref": "#/definitions/TextureCoordinate3D"
                    },
                    "TextureCoordinate4D": {
                        "$ref": "#/definitions/TextureCoordinate4D"
                    },
                    "TextureCoordinateGenerator": {
                        "$ref": "#/definitions/TextureCoordinateGenerator"
                    },
                    "TextureProperties": {
                        "$ref": "#/definitions/TextureProperties"
                    },
                    "TextureTransform": {
                        "$ref": "#/definitions/TextureTransform"
                    },
                    "TextureTransform3D": {
                        "$ref": "#/definitions/TextureTransform3D"
                    },
                    "TextureTransformMatrix3D": {
                        "$ref": "#/definitions/TextureTransformMatrix3D"
                    },
                    "TimeSensor": {
                        "$ref": "#/definitions/TimeSensor"
                    },
                    "TimeTrigger": {
                        "$ref": "#/definitions/TimeTrigger"
                    },
                    "ToneMappedVolumeStyle": {
                        "$ref": "#/definitions/ToneMappedVolumeStyle"
                    },
                    "TouchSensor": {
                        "$ref": "#/definitions/TouchSensor"
                    },
                    "Transform": {
                        "$ref": "#/definitions/Transform"
                    },
                    "TransformSensor": {
                        "$ref": "#/definitions/TransformSensor"
                    },
                    "TransmitterPdu": {
                        "$ref": "#/definitions/TransmitterPdu"
                    },
                    "TriangleFanSet": {
                        "$ref": "#/definitions/TriangleFanSet"
                    },
                    "TriangleSet": {
                        "$ref": "#/definitions/TriangleSet"
                    },
                    "TriangleSet2D": {
                        "$ref": "#/definitions/TriangleSet2D"
                    },
                    "TriangleStripSet": {
                        "$ref": "#/definitions/TriangleStripSet"
                    },
                    "TwoSidedMaterial": {
                        "$ref": "#/definitions/TwoSidedMaterial"
                    },
                    "UniversalJoint": {
                        "$ref": "#/definitions/UniversalJoint"
                    },
                    "Viewpoint": {
                        "$ref": "#/definitions/Viewpoint"
                    },
                    "ViewpointGroup": {
                        "$ref": "#/definitions/ViewpointGroup"
                    },
                    "Viewport": {
                        "$ref": "#/definitions/Viewport"
                    },
                    "VisibilitySensor": {
                        "$ref": "#/definitions/VisibilitySensor"
                    },
                    "VolumeData": {
                        "$ref": "#/definitions/VolumeData"
                    },
                    "VolumeEmitter": {
                        "$ref": "#/definitions/VolumeEmitter"
                    },
                    "VolumePickSensor": {
                        "$ref": "#/definitions/VolumePickSensor"
                    },
                    "WindPhysicsModel": {
                        "$ref": "#/definitions/WindPhysicsModel"
                    },
                    "WorldInfo": {
                        "$ref": "#/definitions/WorldInfo"
                    },
                    "ROUTE": {
                        "$ref": "#/definitions/ROUTE"
                    },
                    "ProtoDeclare": {
                        "$ref": "#/definitions/ProtoDeclare"
                    },
                    "ExternProtoDeclare": {
                        "$ref": "#/definitions/ExternProtoDeclare"
                    },
                    "IMPORT": {
                        "$ref": "#/definitions/IMPORT"
                    },
                    "EXPORT": {
                        "$ref": "#/definitions/EXPORT"
                    }
                },
                "additionalProperties": false
            }
        },
        "-appearance": {
            "description": "SF X3DAppearance content",
            "type": "object",
            "properties": {
                "Appearance": {
                    "$ref": "#/definitions/Appearance"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-attrib": {
            "description": "MF X3DVertexAttributeNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "FloatVertexAttribute": {
                        "$ref": "#/definitions/FloatVertexAttribute"
                    },
                    "Matrix3VertexAttribute": {
                        "$ref": "#/definitions/Matrix3VertexAttribute"
                    },
                    "Matrix4VertexAttribute": {
                        "$ref": "#/definitions/Matrix4VertexAttribute"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-bodies": {
            "description": "MF RigidBody content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "RigidBody": {
                        "$ref": "#/definitions/RigidBody"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-body": {
            "description": "SF RigidBody content",
            "type": "object",
            "properties": {
                "RigidBody": {
                    "$ref": "#/definitions/RigidBody"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-child": {
            "description": "SF X3DChildNode content",
            "type": "object",
            "properties": {
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                },
                "Anchor": {
                    "$ref": "#/definitions/Anchor"
                },
                "AudioClip": {
                    "$ref": "#/definitions/AudioClip"
                },
                "Background": {
                    "$ref": "#/definitions/Background"
                },
                "Billboard": {
                    "$ref": "#/definitions/Billboard"
                },
                "BooleanFilter": {
                    "$ref": "#/definitions/BooleanFilter"
                },
                "BooleanSequencer": {
                    "$ref": "#/definitions/BooleanSequencer"
                },
                "BooleanToggle": {
                    "$ref": "#/definitions/BooleanToggle"
                },
                "BooleanTrigger": {
                    "$ref": "#/definitions/BooleanTrigger"
                },
                "CADAssembly": {
                    "$ref": "#/definitions/CADAssembly"
                },
                "CADFace": {
                    "$ref": "#/definitions/CADFace"
                },
                "CADLayer": {
                    "$ref": "#/definitions/CADLayer"
                },
                "CADPart": {
                    "$ref": "#/definitions/CADPart"
                },
                "ClipPlane": {
                    "$ref": "#/definitions/ClipPlane"
                },
                "CollidableOffset": {
                    "$ref": "#/definitions/CollidableOffset"
                },
                "CollidableShape": {
                    "$ref": "#/definitions/CollidableShape"
                },
                "Collision": {
                    "$ref": "#/definitions/Collision"
                },
                "CollisionSensor": {
                    "$ref": "#/definitions/CollisionSensor"
                },
                "ColorChaser": {
                    "$ref": "#/definitions/ColorChaser"
                },
                "ColorDamper": {
                    "$ref": "#/definitions/ColorDamper"
                },
                "ColorInterpolator": {
                    "$ref": "#/definitions/ColorInterpolator"
                },
                "CoordinateChaser": {
                    "$ref": "#/definitions/CoordinateChaser"
                },
                "CoordinateDamper": {
                    "$ref": "#/definitions/CoordinateDamper"
                },
                "CoordinateInterpolator": {
                    "$ref": "#/definitions/CoordinateInterpolator"
                },
                "CoordinateInterpolator2D": {
                    "$ref": "#/definitions/CoordinateInterpolator2D"
                },
                "CylinderSensor": {
                    "$ref": "#/definitions/CylinderSensor"
                },
                "DirectionalLight": {
                    "$ref": "#/definitions/DirectionalLight"
                },
                "DISEntityManager": {
                    "$ref": "#/definitions/DISEntityManager"
                },
                "DISEntityTypeMapping": {
                    "$ref": "#/definitions/DISEntityTypeMapping"
                },
                "EaseInEaseOut": {
                    "$ref": "#/definitions/EaseInEaseOut"
                },
                "EspduTransform": {
                    "$ref": "#/definitions/EspduTransform"
                },
                "Fog": {
                    "$ref": "#/definitions/Fog"
                },
                "GeoLocation": {
                    "$ref": "#/definitions/GeoLocation"
                },
                "GeoLOD": {
                    "$ref": "#/definitions/GeoLOD"
                },
                "GeoMetadata": {
                    "$ref": "#/definitions/GeoMetadata"
                },
                "GeoPositionInterpolator": {
                    "$ref": "#/definitions/GeoPositionInterpolator"
                },
                "GeoProximitySensor": {
                    "$ref": "#/definitions/GeoProximitySensor"
                },
                "GeoTouchSensor": {
                    "$ref": "#/definitions/GeoTouchSensor"
                },
                "GeoTransform": {
                    "$ref": "#/definitions/GeoTransform"
                },
                "GeoViewpoint": {
                    "$ref": "#/definitions/GeoViewpoint"
                },
                "Group": {
                    "$ref": "#/definitions/Group"
                },
                "HAnimHumanoid": {
                    "$ref": "#/definitions/HAnimHumanoid"
                },
                "HAnimJoint": {
                    "$ref": "#/definitions/HAnimJoint"
                },
                "HAnimSegment": {
                    "$ref": "#/definitions/HAnimSegment"
                },
                "HAnimSite": {
                    "$ref": "#/definitions/HAnimSite"
                },
                "Inline": {
                    "$ref": "#/definitions/Inline"
                },
                "IntegerSequencer": {
                    "$ref": "#/definitions/IntegerSequencer"
                },
                "IntegerTrigger": {
                    "$ref": "#/definitions/IntegerTrigger"
                },
                "IsoSurfaceVolumeData": {
                    "$ref": "#/definitions/IsoSurfaceVolumeData"
                },
                "KeySensor": {
                    "$ref": "#/definitions/KeySensor"
                },
                "Layout": {
                    "$ref": "#/definitions/Layout"
                },
                "LinePickSensor": {
                    "$ref": "#/definitions/LinePickSensor"
                },
                "LoadSensor": {
                    "$ref": "#/definitions/LoadSensor"
                },
                "LocalFog": {
                    "$ref": "#/definitions/LocalFog"
                },
                "LOD": {
                    "$ref": "#/definitions/LOD"
                },
                "NavigationInfo": {
                    "$ref": "#/definitions/NavigationInfo"
                },
                "NormalInterpolator": {
                    "$ref": "#/definitions/NormalInterpolator"
                },
                "NurbsOrientationInterpolator": {
                    "$ref": "#/definitions/NurbsOrientationInterpolator"
                },
                "NurbsPositionInterpolator": {
                    "$ref": "#/definitions/NurbsPositionInterpolator"
                },
                "NurbsSet": {
                    "$ref": "#/definitions/NurbsSet"
                },
                "NurbsSurfaceInterpolator": {
                    "$ref": "#/definitions/NurbsSurfaceInterpolator"
                },
                "OrientationChaser": {
                    "$ref": "#/definitions/OrientationChaser"
                },
                "OrientationDamper": {
                    "$ref": "#/definitions/OrientationDamper"
                },
                "OrientationInterpolator": {
                    "$ref": "#/definitions/OrientationInterpolator"
                },
                "OrthoViewpoint": {
                    "$ref": "#/definitions/OrthoViewpoint"
                },
                "ParticleSystem": {
                    "$ref": "#/definitions/ParticleSystem"
                },
                "PickableGroup": {
                    "$ref": "#/definitions/PickableGroup"
                },
                "PlaneSensor": {
                    "$ref": "#/definitions/PlaneSensor"
                },
                "PointLight": {
                    "$ref": "#/definitions/PointLight"
                },
                "PointPickSensor": {
                    "$ref": "#/definitions/PointPickSensor"
                },
                "PositionChaser": {
                    "$ref": "#/definitions/PositionChaser"
                },
                "PositionChaser2D": {
                    "$ref": "#/definitions/PositionChaser2D"
                },
                "PositionDamper": {
                    "$ref": "#/definitions/PositionDamper"
                },
                "PositionDamper2D": {
                    "$ref": "#/definitions/PositionDamper2D"
                },
                "PositionInterpolator": {
                    "$ref": "#/definitions/PositionInterpolator"
                },
                "PositionInterpolator2D": {
                    "$ref": "#/definitions/PositionInterpolator2D"
                },
                "PrimitivePickSensor": {
                    "$ref": "#/definitions/PrimitivePickSensor"
                },
                "ProximitySensor": {
                    "$ref": "#/definitions/ProximitySensor"
                },
                "ReceiverPdu": {
                    "$ref": "#/definitions/ReceiverPdu"
                },
                "RigidBodyCollection": {
                    "$ref": "#/definitions/RigidBodyCollection"
                },
                "ScalarChaser": {
                    "$ref": "#/definitions/ScalarChaser"
                },
                "ScalarDamper": {
                    "$ref": "#/definitions/ScalarDamper"
                },
                "ScalarInterpolator": {
                    "$ref": "#/definitions/ScalarInterpolator"
                },
                "ScreenGroup": {
                    "$ref": "#/definitions/ScreenGroup"
                },
                "Script": {
                    "$ref": "#/definitions/Script"
                },
                "SegmentedVolumeData": {
                    "$ref": "#/definitions/SegmentedVolumeData"
                },
                "Shape": {
                    "$ref": "#/definitions/Shape"
                },
                "SignalPdu": {
                    "$ref": "#/definitions/SignalPdu"
                },
                "Sound": {
                    "$ref": "#/definitions/Sound"
                },
                "SphereSensor": {
                    "$ref": "#/definitions/SphereSensor"
                },
                "SplinePositionInterpolator": {
                    "$ref": "#/definitions/SplinePositionInterpolator"
                },
                "SplinePositionInterpolator2D": {
                    "$ref": "#/definitions/SplinePositionInterpolator2D"
                },
                "SplineScalarInterpolator": {
                    "$ref": "#/definitions/SplineScalarInterpolator"
                },
                "SpotLight": {
                    "$ref": "#/definitions/SpotLight"
                },
                "SquadOrientationInterpolator": {
                    "$ref": "#/definitions/SquadOrientationInterpolator"
                },
                "StaticGroup": {
                    "$ref": "#/definitions/StaticGroup"
                },
                "StringSensor": {
                    "$ref": "#/definitions/StringSensor"
                },
                "Switch": {
                    "$ref": "#/definitions/Switch"
                },
                "TexCoordChaser2D": {
                    "$ref": "#/definitions/TexCoordChaser2D"
                },
                "TexCoordDamper2D": {
                    "$ref": "#/definitions/TexCoordDamper2D"
                },
                "TextureBackground": {
                    "$ref": "#/definitions/TextureBackground"
                },
                "TimeSensor": {
                    "$ref": "#/definitions/TimeSensor"
                },
                "TimeTrigger": {
                    "$ref": "#/definitions/TimeTrigger"
                },
                "TouchSensor": {
                    "$ref": "#/definitions/TouchSensor"
                },
                "Transform": {
                    "$ref": "#/definitions/Transform"
                },
                "TransformSensor": {
                    "$ref": "#/definitions/TransformSensor"
                },
                "TransmitterPdu": {
                    "$ref": "#/definitions/TransmitterPdu"
                },
                "Viewpoint": {
                    "$ref": "#/definitions/Viewpoint"
                },
                "ViewpointGroup": {
                    "$ref": "#/definitions/ViewpointGroup"
                },
                "Viewport": {
                    "$ref": "#/definitions/Viewport"
                },
                "VisibilitySensor": {
                    "$ref": "#/definitions/VisibilitySensor"
                },
                "VolumeData": {
                    "$ref": "#/definitions/VolumeData"
                },
                "VolumePickSensor": {
                    "$ref": "#/definitions/VolumePickSensor"
                },
                "WorldInfo": {
                    "$ref": "#/definitions/WorldInfo"
                },
                "ProtoDeclare": {
                    "$ref": "#/definitions/ProtoDeclare"
                },
                "ExternProtoDeclare": {
                    "$ref": "#/definitions/ExternProtoDeclare"
                }
            },
            "additionalProperties": false
        },
        "-children": {
            "description": "MF X3DChildNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "#comment": {
                        "type": "string"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    },
                    "Anchor": {
                        "$ref": "#/definitions/Anchor"
                    },
                    "AudioClip": {
                        "$ref": "#/definitions/AudioClip"
                    },
                    "Background": {
                        "$ref": "#/definitions/Background"
                    },
                    "Billboard": {
                        "$ref": "#/definitions/Billboard"
                    },
                    "BooleanFilter": {
                        "$ref": "#/definitions/BooleanFilter"
                    },
                    "BooleanSequencer": {
                        "$ref": "#/definitions/BooleanSequencer"
                    },
                    "BooleanToggle": {
                        "$ref": "#/definitions/BooleanToggle"
                    },
                    "BooleanTrigger": {
                        "$ref": "#/definitions/BooleanTrigger"
                    },
                    "CADAssembly": {
                        "$ref": "#/definitions/CADAssembly"
                    },
                    "CADFace": {
                        "$ref": "#/definitions/CADFace"
                    },
                    "CADLayer": {
                        "$ref": "#/definitions/CADLayer"
                    },
                    "CADPart": {
                        "$ref": "#/definitions/CADPart"
                    },
                    "ClipPlane": {
                        "$ref": "#/definitions/ClipPlane"
                    },
                    "CollidableOffset": {
                        "$ref": "#/definitions/CollidableOffset"
                    },
                    "CollidableShape": {
                        "$ref": "#/definitions/CollidableShape"
                    },
                    "Collision": {
                        "$ref": "#/definitions/Collision"
                    },
                    "CollisionSensor": {
                        "$ref": "#/definitions/CollisionSensor"
                    },
                    "ColorChaser": {
                        "$ref": "#/definitions/ColorChaser"
                    },
                    "ColorDamper": {
                        "$ref": "#/definitions/ColorDamper"
                    },
                    "ColorInterpolator": {
                        "$ref": "#/definitions/ColorInterpolator"
                    },
                    "CoordinateChaser": {
                        "$ref": "#/definitions/CoordinateChaser"
                    },
                    "CoordinateDamper": {
                        "$ref": "#/definitions/CoordinateDamper"
                    },
                    "CoordinateInterpolator": {
                        "$ref": "#/definitions/CoordinateInterpolator"
                    },
                    "CoordinateInterpolator2D": {
                        "$ref": "#/definitions/CoordinateInterpolator2D"
                    },
                    "CylinderSensor": {
                        "$ref": "#/definitions/CylinderSensor"
                    },
                    "DirectionalLight": {
                        "$ref": "#/definitions/DirectionalLight"
                    },
                    "DISEntityManager": {
                        "$ref": "#/definitions/DISEntityManager"
                    },
                    "DISEntityTypeMapping": {
                        "$ref": "#/definitions/DISEntityTypeMapping"
                    },
                    "EaseInEaseOut": {
                        "$ref": "#/definitions/EaseInEaseOut"
                    },
                    "EspduTransform": {
                        "$ref": "#/definitions/EspduTransform"
                    },
                    "Fog": {
                        "$ref": "#/definitions/Fog"
                    },
                    "GeoLocation": {
                        "$ref": "#/definitions/GeoLocation"
                    },
                    "GeoLOD": {
                        "$ref": "#/definitions/GeoLOD"
                    },
                    "GeoMetadata": {
                        "$ref": "#/definitions/GeoMetadata"
                    },
                    "GeoPositionInterpolator": {
                        "$ref": "#/definitions/GeoPositionInterpolator"
                    },
                    "GeoProximitySensor": {
                        "$ref": "#/definitions/GeoProximitySensor"
                    },
                    "GeoTouchSensor": {
                        "$ref": "#/definitions/GeoTouchSensor"
                    },
                    "GeoTransform": {
                        "$ref": "#/definitions/GeoTransform"
                    },
                    "GeoViewpoint": {
                        "$ref": "#/definitions/GeoViewpoint"
                    },
                    "Group": {
                        "$ref": "#/definitions/Group"
                    },
                    "HAnimHumanoid": {
                        "$ref": "#/definitions/HAnimHumanoid"
                    },
                    "HAnimJoint": {
                        "$ref": "#/definitions/HAnimJoint"
                    },
                    "HAnimSegment": {
                        "$ref": "#/definitions/HAnimSegment"
                    },
                    "HAnimSite": {
                        "$ref": "#/definitions/HAnimSite"
                    },
                    "Inline": {
                        "$ref": "#/definitions/Inline"
                    },
                    "IntegerSequencer": {
                        "$ref": "#/definitions/IntegerSequencer"
                    },
                    "IntegerTrigger": {
                        "$ref": "#/definitions/IntegerTrigger"
                    },
                    "IsoSurfaceVolumeData": {
                        "$ref": "#/definitions/IsoSurfaceVolumeData"
                    },
                    "KeySensor": {
                        "$ref": "#/definitions/KeySensor"
                    },
                    "Layout": {
                        "$ref": "#/definitions/Layout"
                    },
                    "LinePickSensor": {
                        "$ref": "#/definitions/LinePickSensor"
                    },
                    "LoadSensor": {
                        "$ref": "#/definitions/LoadSensor"
                    },
                    "LocalFog": {
                        "$ref": "#/definitions/LocalFog"
                    },
                    "LOD": {
                        "$ref": "#/definitions/LOD"
                    },
                    "NavigationInfo": {
                        "$ref": "#/definitions/NavigationInfo"
                    },
                    "NormalInterpolator": {
                        "$ref": "#/definitions/NormalInterpolator"
                    },
                    "NurbsOrientationInterpolator": {
                        "$ref": "#/definitions/NurbsOrientationInterpolator"
                    },
                    "NurbsPositionInterpolator": {
                        "$ref": "#/definitions/NurbsPositionInterpolator"
                    },
                    "NurbsSet": {
                        "$ref": "#/definitions/NurbsSet"
                    },
                    "NurbsSurfaceInterpolator": {
                        "$ref": "#/definitions/NurbsSurfaceInterpolator"
                    },
                    "OrientationChaser": {
                        "$ref": "#/definitions/OrientationChaser"
                    },
                    "OrientationDamper": {
                        "$ref": "#/definitions/OrientationDamper"
                    },
                    "OrientationInterpolator": {
                        "$ref": "#/definitions/OrientationInterpolator"
                    },
                    "OrthoViewpoint": {
                        "$ref": "#/definitions/OrthoViewpoint"
                    },
                    "ParticleSystem": {
                        "$ref": "#/definitions/ParticleSystem"
                    },
                    "PickableGroup": {
                        "$ref": "#/definitions/PickableGroup"
                    },
                    "PlaneSensor": {
                        "$ref": "#/definitions/PlaneSensor"
                    },
                    "PointLight": {
                        "$ref": "#/definitions/PointLight"
                    },
                    "PointPickSensor": {
                        "$ref": "#/definitions/PointPickSensor"
                    },
                    "PositionChaser": {
                        "$ref": "#/definitions/PositionChaser"
                    },
                    "PositionChaser2D": {
                        "$ref": "#/definitions/PositionChaser2D"
                    },
                    "PositionDamper": {
                        "$ref": "#/definitions/PositionDamper"
                    },
                    "PositionDamper2D": {
                        "$ref": "#/definitions/PositionDamper2D"
                    },
                    "PositionInterpolator": {
                        "$ref": "#/definitions/PositionInterpolator"
                    },
                    "PositionInterpolator2D": {
                        "$ref": "#/definitions/PositionInterpolator2D"
                    },
                    "PrimitivePickSensor": {
                        "$ref": "#/definitions/PrimitivePickSensor"
                    },
                    "ProximitySensor": {
                        "$ref": "#/definitions/ProximitySensor"
                    },
                    "ReceiverPdu": {
                        "$ref": "#/definitions/ReceiverPdu"
                    },
                    "RigidBodyCollection": {
                        "$ref": "#/definitions/RigidBodyCollection"
                    },
                    "ScalarChaser": {
                        "$ref": "#/definitions/ScalarChaser"
                    },
                    "ScalarDamper": {
                        "$ref": "#/definitions/ScalarDamper"
                    },
                    "ScalarInterpolator": {
                        "$ref": "#/definitions/ScalarInterpolator"
                    },
                    "ScreenGroup": {
                        "$ref": "#/definitions/ScreenGroup"
                    },
                    "Script": {
                        "$ref": "#/definitions/Script"
                    },
                    "SegmentedVolumeData": {
                        "$ref": "#/definitions/SegmentedVolumeData"
                    },
                    "Shape": {
                        "$ref": "#/definitions/Shape"
                    },
                    "SignalPdu": {
                        "$ref": "#/definitions/SignalPdu"
                    },
                    "Sound": {
                        "$ref": "#/definitions/Sound"
                    },
                    "SphereSensor": {
                        "$ref": "#/definitions/SphereSensor"
                    },
                    "SplinePositionInterpolator": {
                        "$ref": "#/definitions/SplinePositionInterpolator"
                    },
                    "SplinePositionInterpolator2D": {
                        "$ref": "#/definitions/SplinePositionInterpolator2D"
                    },
                    "SplineScalarInterpolator": {
                        "$ref": "#/definitions/SplineScalarInterpolator"
                    },
                    "SpotLight": {
                        "$ref": "#/definitions/SpotLight"
                    },
                    "SquadOrientationInterpolator": {
                        "$ref": "#/definitions/SquadOrientationInterpolator"
                    },
                    "StaticGroup": {
                        "$ref": "#/definitions/StaticGroup"
                    },
                    "StringSensor": {
                        "$ref": "#/definitions/StringSensor"
                    },
                    "Switch": {
                        "$ref": "#/definitions/Switch"
                    },
                    "TexCoordChaser2D": {
                        "$ref": "#/definitions/TexCoordChaser2D"
                    },
                    "TexCoordDamper2D": {
                        "$ref": "#/definitions/TexCoordDamper2D"
                    },
                    "TextureBackground": {
                        "$ref": "#/definitions/TextureBackground"
                    },
                    "TimeSensor": {
                        "$ref": "#/definitions/TimeSensor"
                    },
                    "TimeTrigger": {
                        "$ref": "#/definitions/TimeTrigger"
                    },
                    "TouchSensor": {
                        "$ref": "#/definitions/TouchSensor"
                    },
                    "Transform": {
                        "$ref": "#/definitions/Transform"
                    },
                    "TransformSensor": {
                        "$ref": "#/definitions/TransformSensor"
                    },
                    "TransmitterPdu": {
                        "$ref": "#/definitions/TransmitterPdu"
                    },
                    "Viewpoint": {
                        "$ref": "#/definitions/Viewpoint"
                    },
                    "ViewpointGroup": {
                        "$ref": "#/definitions/ViewpointGroup"
                    },
                    "Viewport": {
                        "$ref": "#/definitions/Viewport"
                    },
                    "VisibilitySensor": {
                        "$ref": "#/definitions/VisibilitySensor"
                    },
                    "VolumeData": {
                        "$ref": "#/definitions/VolumeData"
                    },
                    "VolumePickSensor": {
                        "$ref": "#/definitions/VolumePickSensor"
                    },
                    "WorldInfo": {
                        "$ref": "#/definitions/WorldInfo"
                    },
                    "ROUTE": {
                        "$ref": "#/definitions/ROUTE"
                    },
                    "ProtoDeclare": {
                        "$ref": "#/definitions/ProtoDeclare"
                    },
                    "ExternProtoDeclare": {
                        "$ref": "#/definitions/ExternProtoDeclare"
                    },
                    "IMPORT": {
                        "$ref": "#/definitions/IMPORT"
                    },
                    "EXPORT": {
                        "$ref": "#/definitions/EXPORT"
                    }
                },
                "additionalProperties": false
            }
        },
        "-collidable": {
            "description": "SF X3DNBodyCollidableNode content",
            "type": "object",
            "properties": {
                "CollidableOffset": {
                    "$ref": "#/definitions/CollidableOffset"
                },
                "CollidableShape": {
                    "$ref": "#/definitions/CollidableShape"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-collidables": {
            "description": "MF X3DNBodyCollisionSpaceNode | X3DNBodyColllidableNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "CollidableOffset": {
                        "$ref": "#/definitions/CollidableOffset"
                    },
                    "CollidableShape": {
                        "$ref": "#/definitions/CollidableShape"
                    },
                    "CollisionSpace": {
                        "$ref": "#/definitions/CollisionSpace"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-collider": {
            "description": "SF CollisionCollection content",
            "type": "object",
            "properties": {
                "CollisionCollection": {
                    "$ref": "#/definitions/CollisionCollection"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-color": {
            "description": "SF X3DColorNode content",
            "type": "object",
            "properties": {
                "Color": {
                    "$ref": "#/definitions/Color"
                },
                "ColorRGBA": {
                    "$ref": "#/definitions/ColorRGBA"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-commentRoute": {
            "description": "Comments and ROUTEs",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "#comment": {
                        "type": "string"
                    },
                    "ROUTE": {
                        "$ref": "#/definitions/ROUTE"
                    },
                    "IMPORT": {
                        "$ref": "#/definitions/IMPORT"
                    },
                    "EXPORT": {
                        "$ref": "#/definitions/EXPORT"
                    }
                },
                "additionalProperties": false
            }
        },
        "-composableRenderStyle": {
            "description": "SF X3DComposableVolumeRenderStyleNode content",
            "type": "object",
            "properties": {
                "BlendedVolumeStyle": {
                    "$ref": "#/definitions/BlendedVolumeStyle"
                },
                "BoundaryEnhancementVolumeStyle": {
                    "$ref": "#/definitions/BoundaryEnhancementVolumeStyle"
                },
                "CartoonVolumeStyle": {
                    "$ref": "#/definitions/CartoonVolumeStyle"
                },
                "ComposedVolumeStyle": {
                    "$ref": "#/definitions/ComposedVolumeStyle"
                },
                "EdgeEnhancementVolumeStyle": {
                    "$ref": "#/definitions/EdgeEnhancementVolumeStyle"
                },
                "OpacityMapVolumeStyle": {
                    "$ref": "#/definitions/OpacityMapVolumeStyle"
                },
                "ShadedVolumeStyle": {
                    "$ref": "#/definitions/ShadedVolumeStyle"
                },
                "SilhouetteEnhancementVolumeStyle": {
                    "$ref": "#/definitions/SilhouetteEnhancementVolumeStyle"
                },
                "ToneMappedVolumeStyle": {
                    "$ref": "#/definitions/ToneMappedVolumeStyle"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-composableRenderStyles": {
            "description": "MF X3DComposableVolumeRenderStyleNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "BlendedVolumeStyle": {
                        "$ref": "#/definitions/BlendedVolumeStyle"
                    },
                    "BoundaryEnhancementVolumeStyle": {
                        "$ref": "#/definitions/BoundaryEnhancementVolumeStyle"
                    },
                    "CartoonVolumeStyle": {
                        "$ref": "#/definitions/CartoonVolumeStyle"
                    },
                    "ComposedVolumeStyle": {
                        "$ref": "#/definitions/ComposedVolumeStyle"
                    },
                    "EdgeEnhancementVolumeStyle": {
                        "$ref": "#/definitions/EdgeEnhancementVolumeStyle"
                    },
                    "OpacityMapVolumeStyle": {
                        "$ref": "#/definitions/OpacityMapVolumeStyle"
                    },
                    "ShadedVolumeStyle": {
                        "$ref": "#/definitions/ShadedVolumeStyle"
                    },
                    "SilhouetteEnhancementVolumeStyle": {
                        "$ref": "#/definitions/SilhouetteEnhancementVolumeStyle"
                    },
                    "ToneMappedVolumeStyle": {
                        "$ref": "#/definitions/ToneMappedVolumeStyle"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-coord": {
            "description": "SF X3DCoordinateNode content",
            "type": "object",
            "properties": {
                "Coordinate": {
                    "$ref": "#/definitions/Coordinate"
                },
                "CoordinateDouble": {
                    "$ref": "#/definitions/CoordinateDouble"
                },
                "GeoCoordinate": {
                    "$ref": "#/definitions/GeoCoordinate"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-displacers": {
            "description": "MF HAnimDisplacers content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "HAnimDisplacer": {
                        "$ref": "#/definitions/HAnimDisplacer"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-emitter": {
            "description": "SF X3DParticleEmitterNode content",
            "type": "object",
            "properties": {
                "ConeEmitter": {
                    "$ref": "#/definitions/ConeEmitter"
                },
                "ExplosionEmitter": {
                    "$ref": "#/definitions/ExplosionEmitter"
                },
                "PointEmitter": {
                    "$ref": "#/definitions/PointEmitter"
                },
                "PolylineEmitter": {
                    "$ref": "#/definitions/PolylineEmitter"
                },
                "SurfaceEmitter": {
                    "$ref": "#/definitions/SurfaceEmitter"
                },
                "VolumeEmitter": {
                    "$ref": "#/definitions/VolumeEmitter"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-fogCoord": {
            "description": "SF FogCoordinate content",
            "type": "object",
            "properties": {
                "FogCoordinate": {
                    "$ref": "#/definitions/FogCoordinate"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-geometry": {
            "description": "SF X3DGeometryNode content",
            "type": "object",
            "properties": {
                "Arc2D": {
                    "$ref": "#/definitions/Arc2D"
                },
                "ArcClose2D": {
                    "$ref": "#/definitions/ArcClose2D"
                },
                "Box": {
                    "$ref": "#/definitions/Box"
                },
                "Circle2D": {
                    "$ref": "#/definitions/Circle2D"
                },
                "Cone": {
                    "$ref": "#/definitions/Cone"
                },
                "Cylinder": {
                    "$ref": "#/definitions/Cylinder"
                },
                "Disk2D": {
                    "$ref": "#/definitions/Disk2D"
                },
                "ElevationGrid": {
                    "$ref": "#/definitions/ElevationGrid"
                },
                "Extrusion": {
                    "$ref": "#/definitions/Extrusion"
                },
                "GeoElevationGrid": {
                    "$ref": "#/definitions/GeoElevationGrid"
                },
                "IndexedFaceSet": {
                    "$ref": "#/definitions/IndexedFaceSet"
                },
                "IndexedLineSet": {
                    "$ref": "#/definitions/IndexedLineSet"
                },
                "IndexedQuadSet": {
                    "$ref": "#/definitions/IndexedQuadSet"
                },
                "IndexedTriangleFanSet": {
                    "$ref": "#/definitions/IndexedTriangleFanSet"
                },
                "IndexedTriangleSet": {
                    "$ref": "#/definitions/IndexedTrangleSet"
                },
                "IndexedTriangleStripSet": {
                    "$ref": "#/definitions/IndexedTriangleStripSet"
                },
                "LineSet": {
                    "$ref": "#/definitions/LineSet"
                },
                "NurbsCurve": {
                    "$ref": "#/definitions/NurbsCurve"
                },
                "NurbsPatchSurface": {
                    "$ref": "#/definitions/NurbsPatchSurface"
                },
                "NurbsSweptSurface": {
                    "$ref": "#/definitions/NurbsSweptSurface"
                },
                "NurbsSwungSurface": {
                    "$ref": "#/definitions/NurbsSwungSurface"
                },
                "NurbsTrimmedSurface": {
                    "$ref": "#/definitions/NurbsTrimmedSurface"
                },
                "PointSet": {
                    "$ref": "#/definitions/PointSet"
                },
                "Polyline2D": {
                    "$ref": "#/definitions/Polyline2D"
                },
                "Polypoint2D": {
                    "$ref": "#/definitions/Polypoint2D"
                },
                "QuadSet": {
                    "$ref": "#/definitions/QuadSet"
                },
                "Rectangle2D": {
                    "$ref": "#/definitions/Rectangle2D"
                },
                "Sphere": {
                    "$ref": "#/definitions/Sphere"
                },
                "Text": {
                    "$ref": "#/definitions/Text"
                },
                "TriangleFanSet": {
                    "$ref": "#/definitions/TriangleFanSet"
                },
                "TriangleSet": {
                    "$ref": "#/definitions/TriangleSet"
                },
                "TriangleSet2D": {
                    "$ref": "#/definitions/TriangleSet2D"
                },
                "TriangleStripSet": {
                    "$ref": "#/definitions/TriangleStripSet"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-geometryNurbsSurface": {
            "description": "MF X3DNurbsSurfaceGeometryNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "NurbsPatchSurface": {
                        "$ref": "#/definitions/NurbsPatchSurface"
                    },
                    "NurbsTrimmedSurface": {
                        "$ref": "#/definitions/NurbsTrimmedSurface"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-geoOrigin": {
            "description": "SF GeoOrigin content",
            "type": "object",
            "properties": {
                "GeoOrigin": {
                    "$ref": "#/definitions/GeoOrigin"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-grouping": {
            "description": "MF X3DGroupingNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "Anchor": {
                        "$ref": "#/definitions/Anchor"
                    },
                    "Billboard": {
                        "$ref": "#/definitions/Billboard"
                    },
                    "CADAssembly": {
                        "$ref": "#/definitions/CADAssembly"
                    },
                    "CADLayer": {
                        "$ref": "#/definitions/CADLayer"
                    },
                    "CADPart": {
                        "$ref": "#/definitions/CADPart"
                    },
                    "Collision": {
                        "$ref": "#/definitions/Collision"
                    },
                    "EspduTransform": {
                        "$ref": "#/definitions/EspduTransform"
                    },
                    "GeoLocation": {
                        "$ref": "#/definitions/GeoLocation"
                    },
                    "GeoTransform": {
                        "$ref": "#/definitions/GeoTransform"
                    },
                    "Group": {
                        "$ref": "#/definitions/Group"
                    },
                    "HAnimJoint": {
                        "$ref": "#/definitions/HAnimJoint"
                    },
                    "HAnimSegment": {
                        "$ref": "#/definitions/HAnimSegment"
                    },
                    "HAnimSite": {
                        "$ref": "#/definitions/HAnimSite"
                    },
                    "LayoutGroup": {
                        "$ref": "#/definitions/LayoutGroup"
                    },
                    "LOD": {
                        "$ref": "#/definitions/LOD"
                    },
                    "PickableGroup": {
                        "$ref": "#/definitions/PickableGroup"
                    },
                    "ScreenGroup": {
                        "$ref": "#/definitions/ScreenGroup"
                    },
                    "Switch": {
                        "$ref": "#/definitions/Switch"
                    },
                    "Transform": {
                        "$ref": "#/definitions/Transform"
                    },
                    "Viewport": {
                        "$ref": "#/definitions/Viewport"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-hanimJoints": {
            "description": "MF HAnimJoint content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "HAnimJoint": {
                        "$ref": "#/definitions/HAnimJoint"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-jointChildren": {
            "description": "MF HAnimJoint | HAnimSegment content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "HAnimJoint": {
                        "$ref": "#/definitions/HAnimJoint"
                    },
                    "HAnimSegment": {
                        "$ref": "#/definitions/HAnimSegment"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    },
                    "#comment": {
                        "type": "string"
                    },
                    "ROUTE": {
                        "$ref": "#/definitions/ROUTE"
                    }
                },
                "additionalProperties": false
            }
        },
        "-layers": {
            "description": "MF X3DLayerNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "Layer": {
                        "$ref": "#/definitions/Layout"
                    },
                    "LayoutLayer": {
                        "$ref": "#/definitions/LayoutLayer"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-layout": {
            "description": "SF X3DLayoutNode content",
            "type": "object",
            "properties": {
                "Layout": {
                    "$ref": "#/definitions/Layout"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-mapping": {
            "description": "MF DisEntityTypeMapping content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "DISEntityTypeMapping": {
                        "$ref": "#/definitions/DISEntityTypeMapping"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-massDensityModel": {
            "description": "SF Box | Cone | Sphere content",
            "type": "object",
            "properties": {
                "Box": {
                    "$ref": "#/definitions/Box"
                },
                "@Cone": {
                    "$ref": "#/definitions/Cone"
                },
                "Sphere": {
                    "$ref": "#/definitions/Sphere"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-material": {
            "description": "SF X3DMaterialNode content",
            "type": "object",
            "properties": {
                "Material": {
                    "$ref": "#/definitions/Material"
                },
                "TwoSidedMaterial": {
                    "$ref": "#/definitions/TwoSidedMaterial"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-metadata": {
            "description": "SF X3DMetadataObject content",
            "type": "object",
            "properties": {
                "MetadataBoolean": {
                    "$ref": "#/definitions/MetadataBoolean"
                },
                "MetadataDouble": {
                    "$ref": "#/definitions/MetadataDouble"
                },
                "MetadataFloat": {
                    "$ref": "#/definitions/MetadataFloat"
                },
                "MetadataInteger": {
                    "$ref": "#/definitions/MetadataInteger"
                },
                "MetadataSet": {
                    "$ref": "#/definitions/MetadataSet"
                },
                "MetadataString": {
                    "$ref": "#/definitions/MetadataString"
                }
            },
            "additionalProperties": false
        },
        "-normal": {
            "description": "SF X3DNormalNode content",
            "type": "object",
            "properties": {
                "Normal": {
                    "$ref": "#/definitions/Normal"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-nurbsCurve": {
            "description": "SF NurbsCurve content",
            "type": "object",
            "properties": {
                "NurbsCurve": {
                    "$ref": "#/definitions/NurbsCurve"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-nurbsCurve2D": {
            "description": "SF X3DNurbsControlCurveNode content",
            "type": "object",
            "properties": {
                "ContourPolyline2D": {
                    "$ref": "#/definitions/ContourPolyline2D"
                },
                "NurbsCurve2D": {
                    "$ref": "#/definitions/NurbsCurve2D"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-parts": {
            "description": "MF ShaderPart content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "ShaderPart": {
                        "$ref": "#/definitions/ShaderPart"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-physics": {
            "description": "MF X3DParticlePhysicsModelNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "BoundedPhysicsModel": {
                        "$ref": "#/definitions/BoundedPhysicsModel"
                    },
                    "ForcePhysicsModel": {
                        "$ref": "#/definitions/ForcePhysicsModel"
                    },
                    "WindPhysicsModel": {
                        "$ref": "#/definitions/WindPhysicsModel"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-pickTarget": {
            "description": "MF X3DGroupingNode | X3DShapeNode | Inline content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "Anchor": {
                        "$ref": "#/definitions/Anchor"
                    },
                    "Billboard": {
                        "$ref": "#/definitions/Billboard"
                    },
                    "CADAssembly": {
                        "$ref": "#/definitions/CADAssembly"
                    },
                    "CADLayer": {
                        "$ref": "#/definitions/CADLayer"
                    },
                    "CADPart": {
                        "$ref": "#/definitions/CADPart"
                    },
                    "Collision": {
                        "$ref": "#/definitions/Collision"
                    },
                    "EspduTransform": {
                        "$ref": "#/definitions/EspduTransform"
                    },
                    "GeoLocation": {
                        "$ref": "#/definitions/GeoLocation"
                    },
                    "GeoTransform": {
                        "$ref": "#/definitions/GeoTransform"
                    },
                    "Group": {
                        "$ref": "#/definitions/Group"
                    },
                    "HAnimJoint": {
                        "$ref": "#/definitions/HAnimJoint"
                    },
                    "HAnimSegment": {
                        "$ref": "#/definitions/HAnimSegment"
                    },
                    "HAnimSite": {
                        "$ref": "#/definitions/HAnimSite"
                    },
                    "Inline": {
                        "$ref": "#/definitions/Inline"
                    },
                    "LayoutGroup": {
                        "$ref": "#/definitions/LayoutGroup"
                    },
                    "LOD": {
                        "$ref": "#/definitions/LOD"
                    },
                    "ParticleSystem": {
                        "$ref": "#/definitions/ParticleSystem"
                    },
                    "PickableGroup": {
                        "$ref": "#/definitions/PickableGroup"
                    },
                    "ScreenGroup": {
                        "$ref": "#/definitions/ScreenGroup"
                    },
                    "Shape": {
                        "$ref": "#/definitions/Shape"
                    },
                    "Switch": {
                        "$ref": "#/definitions/Switch"
                    },
                    "Transform": {
                        "$ref": "#/definitions/Transform"
                    },
                    "Viewport": {
                        "$ref": "#/definitions/Viewport"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-programs": {
            "description": "MF ShaderProgram content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "ShaderProgram": {
                        "$ref": "#/definitions/ShaderProgram"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-renderStyle": {
            "description": "SF X3DVolumeRenderStyleNode content",
            "type": "object",
            "properties": {
                "BlendedVolumeStyle": {
                    "$ref": "#/definitions/BlendedVolumeStyle"
                },
                "BoundaryEnhancementVolumeStyle": {
                    "$ref": "#/definitions/BoundaryEnhancementVolumeStyle"
                },
                "CartoonVolumeStyle": {
                    "$ref": "#/definitions/CartoonVolumeStyle"
                },
                "ComposedVolumeStyle": {
                    "$ref": "#/definitions/ComposedVolumeStyle"
                },
                "EdgeEnhancementVolumeStyle": {
                    "$ref": "#/definitions/EdgeEnhancementVolumeStyle"
                },
                "OpacityMapVolumeStyle": {
                    "$ref": "#/definitions/OpacityMapVolumeStyle"
                },
                "ProjectionVolumeStyle": {
                    "$ref": "#/definitions/ProjectionVolumeStyle"
                },
                "ShadedVolumeStyle": {
                    "$ref": "#/definitions/ShadedVolumeStyle"
                },
                "SilhouetteEnhancementVolumeStyle": {
                    "$ref": "#/definitions/SilhouetteEnhancementVolumeStyle"
                },
                "ToneMappedVolumeStyle": {
                    "$ref": "#/definitions/ToneMappedVolumeStyle"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-renderStyles": {
            "description": "MF X3DVolumeRenderStyleNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "BlendedVolumeStyle": {
                        "$ref": "#/definitions/BlendedVolumeStyle"
                    },
                    "BoundaryEnhancementVolumeStyle": {
                        "$ref": "#/definitions/BoundaryEnhancementVolumeStyle"
                    },
                    "CartoonVolumeStyle": {
                        "$ref": "#/definitions/CartoonVolumeStyle"
                    },
                    "ComposedVolumeStyle": {
                        "$ref": "#/definitions/ComposedVolumeStyle"
                    },
                    "EdgeEnhancementVolumeStyle": {
                        "$ref": "#/definitions/EdgeEnhancementVolumeStyle"
                    },
                    "OpacityMapVolumeStyle": {
                        "$ref": "#/definitions/OpacityMapVolumeStyle"
                    },
                    "ProjectionVolumeStyle": {
                        "$ref": "#/definitions/ProjectionVolumeStyle"
                    },
                    "ShadedVolumeStyle": {
                        "$ref": "#/definitions/ShadedVolumeStyle"
                    },
                    "SilhouetteEnhancementVolumeStyle": {
                        "$ref": "#/definitions/SilhouetteEnhancementVolumeStyle"
                    },
                    "ToneMappedVolumeStyle": {
                        "$ref": "#/definitions/ToneMappedVolumeStyle"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-rigidBodyJoints": {
            "description": "MF X3DRigidJointNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "BallJoint": {
                        "$ref": "#/definitions/BallJoint"
                    },
                    "DoubleAxisHingeJoint": {
                        "$ref": "#/definitions/DoubleAxisHingeJoint"
                    },
                    "MotorJoint": {
                        "$ref": "#/definitions/MotorJoint"
                    },
                    "SingleAxisHingeJoint": {
                        "$ref": "#/definitions/SingleAxisHingeJoint"
                    },
                    "SliderJoint": {
                        "$ref": "#/definitions/SliderJoint"
                    },
                    "UniversalJoint": {
                        "$ref": "#/definitions/UniversalJoint"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-segments": {
            "description": "MF HAnimSegment content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "HAnimSegment": {
                        "$ref": "#/definitions/HAnimSegment"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-shaders": {
            "description": "MF X3DShaderNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "ComposedShader": {
                        "$ref": "#/definitions/ComposedShader"
                    },
                    "PackagedShader": {
                        "$ref": "#/definitions/PackagedShader"
                    },
                    "ProgramShader": {
                        "$ref": "#/definitions/ProgramShader"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-sites": {
            "description": "MF HAnimSite content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "HAnimSite": {
                        "$ref": "#/definitions/HAnimSite"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-skeleton": {
            "description": "MF HAnimJoint | HAnimSite content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "HAnimJoint": {
                        "$ref": "#/definitions/HAnimJoint"
                    },
                    "HAnimSite": {
                        "$ref": "#/definitions/HAnimSite"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-source": {
            "description": "SF X3DSoundSourceNode content",
            "type": "object",
            "properties": {
                "AudioClip": {
                    "$ref": "#/definitions/AudioClip"
                },
                "MovieTexture": {
                    "$ref": "#/definitions/MovieTexture"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-texCoord": {
            "description": "SF X3DTextureCoordinateNode content",
            "type": "object",
            "properties": {
                "MultiTextureCoordinate": {
                    "$ref": "#/definitions/MultiTextureCoordinate"
                },
                "TextureCoordinate": {
                    "$ref": "#/definitions/TextureCoordinate"
                },
                "TextureCoordinate3D": {
                    "$ref": "#/definitions/TextureCoordinate3D"
                },
                "TextureCoordinate4D": {
                    "$ref": "#/definitions/TextureCoordinate4D"
                },
                "TextureCoordinateGenerator": {
                    "$ref": "#/definitions/TextureCoordinateGenerator"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-texCoordNurbs": {
            "description": "SF X3DTextureCoordinateNode | NurbsTextureCoordinate content",
            "type": "object",
            "properties": {
                "MultiTextureCoordinate": {
                    "$ref": "#/definitions/MultiTextureCoordinate"
                },
                "NurbsTextureCoordinate": {
                    "$ref": "#/definitions/NurbsTextureCoordinate"
                },
                "TextureCoordinate": {
                    "$ref": "#/definitions/TextureCoordinate"
                },
                "TextureCoordinate3D": {
                    "$ref": "#/definitions/TextureCoordinate3D"
                },
                "TextureCoordinate4D": {
                    "$ref": "#/definitions/TextureCoordinate4D"
                },
                "TextureCoordinateGenerator": {
                    "$ref": "#/definitions/TextureCoordinateGenerator"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-texCoords2D": {
            "description": "MF TextureCoordinate | TextureCoordinateGenerator content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "TextureCoordinate": {
                        "$ref": "#/definitions/TextureCoordinate"
                    },
                    "TextureCoordinateGenerator": {
                        "$ref": "#/definitions/TextureCoordinateGenerator"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-texture": {
            "description": "SF X3DTextureNode content",
            "type": "object",
            "properties": {
                "ComposedCubeMapTexture": {
                    "$ref": "#/definitions/ComposedCubeMapTexture"
                },
                "ComposedTexture3D": {
                    "$ref": "#/definitions/ComposedTexture3D"
                },
                "GeneratedCubeMapTexture": {
                    "$ref": "#/definitions/GeneratedCubeMapTexture"
                },
                "ImageCubeMapTexture": {
                    "$ref": "#/definitions/ImageCubeMapTexture"
                },
                "ImageTexture": {
                    "$ref": "#/definitions/ImageTexture"
                },
                "ImageTexture3D": {
                    "$ref": "#/definitions/ImageTexture3D"
                },
                "MovieTexture": {
                    "$ref": "#/definitions/MovieTexture"
                },
                "MultiTexture": {
                    "$ref": "#/definitions/MultiTexture"
                },
                "PixelTexture": {
                    "$ref": "#/definitions/PixelTexture"
                },
                "PixelTexture3D": {
                    "$ref": "#/definitions/PixelTexture3D"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-texture2D": {
            "description": "SF X3DTexture2DNode content",
            "type": "object",
            "properties": {
                "ImageTexture": {
                    "$ref": "#/definitions/ImageTexture"
                },
                "MovieTexture": {
                    "$ref": "#/definitions/MovieTexture"
                },
                "PixelTexture": {
                    "$ref": "#/definitions/PixelTexture"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-texture2DMulti": {
            "description": "SF X3DTexture2DNode | MultiTexture content",
            "type": "object",
            "properties": {
                "ImageTexture": {
                    "$ref": "#/definitions/ImageTexture"
                },
                "MovieTexture": {
                    "$ref": "#/definitions/MovieTexture"
                },
                "MultiTexture": {
                    "$ref": "#/definitions/MultiTexture"
                },
                "PixelTexture": {
                    "$ref": "#/definitions/PixelTexture"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-texture3D": {
            "description": "SF X3DTexture3DNode content",
            "type": "object",
            "properties": {
                "ComposedTexture3D": {
                    "$ref": "#/definitions/ComposedTexture3D"
                },
                "ImageTexture3D": {
                    "$ref": "#/definitions/ImageTexture3D"
                },
                "PixelTexture3D": {
                    "$ref": "#/definitions/PixelTexture3D"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-textureProperties": {
            "description": "SF TextureProperties content",
            "type": "object",
            "properties": {
                "TextureProperties": {
                    "$ref": "#/definitions/TextureProperties"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-textures2D": {
            "description": "MF X3DTexture2DNode content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "ImageTexture": {
                        "$ref": "#/definitions/ImageTexture"
                    },
                    "MovieTexture": {
                        "$ref": "#/definitions/MovieTexture"
                    },
                    "PixelTexture": {
                        "$ref": "#/definitions/PixelTexture"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-textureTransform": {
            "description": "SF X3DTextureTransformNode content",
            "type": "object",
            "properties": {
                "MultiTextureTransform": {
                    "$ref": "#/definitions/MultiTextureTransform"
                },
                "TextureTransform": {
                    "$ref": "#/definitions/TextureTransform"
                },
                "TextureTransform3D": {
                    "$ref": "#/definitions/TextureTransform3D"
                },
                "TextureTransformMatrix3D": {
                    "$ref": "#/definitions/TextureTransformMatrix3D"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-textureTransforms2D": {
            "description": "MF TextureTransform content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "TextureTransform": {
                        "$ref": "#/definitions/TextureTransform"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-transferFunction": {
            "description": "SF X3DTexture2DNode | X3DTexture3DNode content",
            "type": "object",
            "properties": {
                "ComposedTexture3D": {
                    "$ref": "#/definitions/ComposedTexture3D"
                },
                "ImageTexture": {
                    "$ref": "#/definitions/ImageTexture"
                },
                "ImageTexture3D": {
                    "$ref": "#/definitions/ImageTexture3D"
                },
                "MovieTexture": {
                    "$ref": "#/definitions/MovieTexture"
                },
                "PixelTexture": {
                    "$ref": "#/definitions/PixelTexture"
                },
                "PixelTexture3D": {
                    "$ref": "#/definitions/PixelTexture3D"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-trimmingContour": {
            "description": "MF Contour2D content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "Contour2D": {
                        "$ref": "#/definitions/Contour2D"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        },
        "-viewport": {
            "description": "SF X3DViewportNode content",
            "type": "object",
            "properties": {
                "Viewport": {
                    "$ref": "#/definitions/Viewport"
                },
                "ProtoInstance": {
                    "$ref": "#/definitions/ProtoInstance"
                }
            },
            "additionalProperties": false
        },
        "-watchList": {
            "description": "MF X3DUrlObject content",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "Anchor": {
                        "$ref": "#/definitions/Anchor"
                    },
                    "AudioClip": {
                        "$ref": "#/definitions/AudioClip"
                    },
                    "DISEntityTypeMapping": {
                        "$ref": "#/definitions/DISEntityTypeMapping"
                    },
                    "GeoMetadata": {
                        "$ref": "#/definitions/GeoMetadata"
                    },
                    "ImageCubeMapTexture": {
                        "$ref": "#/definitions/ImageCubeMapTexture"
                    },
                    "ImageTexture": {
                        "$ref": "#/definitions/ImageTexture"
                    },
                    "ImageTexture3D": {
                        "$ref": "#/definitions/ImageTexture3D"
                    },
                    "Inline": {
                        "$ref": "#/definitions/Inline"
                    },
                    "MovieTexture": {
                        "$ref": "#/definitions/MovieTexture"
                    },
                    "PackagedShader": {
                        "$ref": "#/definitions/PackagedShader"
                    },
                    "Script": {
                        "$ref": "#/definitions/Script"
                    },
                    "ShaderPart": {
                        "$ref": "#/definitions/ShaderPart"
                    },
                    "ShaderProgram": {
                        "$ref": "#/definitions/ShaderProgram"
                    },
                    "ProtoInstance": {
                        "$ref": "#/definitions/ProtoInstance"
                    }
                },
                "additionalProperties": false
            }
        }
    }
}

--- X3D separator bar ---