{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://ufoathome.org/schema/1/sighting.schema.json",
  "title": "UFO@home recording",
  "description": "One observer's recording of a sighting. See https://ufoathome.org/docs/format/",
  "type": "object",
  "properties": {
    "$schema": {
      "anyOf": [
        {
          "description": "The schema this file was written against, for an editor to check it with: https://ufoathome.org/schema/1/sighting.schema.json.",
          "type": "string"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "version": {
      "anyOf": [
        {
          "description": "The version of the format this file is written in (see FormatVersion): 1, the only one so far.",
          "type": "number",
          "const": 1
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "id": {
      "anyOf": [
        {
          "description": "Which account this is, unique across every recording anywhere: the day it happened, then who saw it (\"1964-04-24-ZamoraLonnie\"), or where for an anonymous observer.",
          "type": "string"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "time": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "year": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "month": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "day": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "hour": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "minute": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "second": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "season": {
              "anyOf": [
                {
                  "description": "The season, when the date is only known to be \"in the spring of 2022\" (EDTF `2022-21`): then `month` and `day` are undefined.",
                  "enum": [
                    "spring",
                    "summer",
                    "autumn",
                    "winter"
                  ]
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "raw": {
              "anyOf": [
                {
                  "description": "The exact EDTF-ish text as typed in the editor UI (e.g.",
                  "type": "string"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "endTime": {
      "anyOf": [
        {
          "description": "See SightingEvent.endTime.",
          "type": "object",
          "properties": {
            "year": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "month": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "day": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "hour": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "minute": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "second": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "season": {
              "anyOf": [
                {
                  "description": "The season, when the date is only known to be \"in the spring of 2022\" (EDTF `2022-21`): then `month` and `day` are undefined.",
                  "enum": [
                    "spring",
                    "summer",
                    "autumn",
                    "winter"
                  ]
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "raw": {
              "anyOf": [
                {
                  "description": "The exact EDTF-ish text as typed in the editor UI (e.g.",
                  "type": "string"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "durationSeconds": {
      "anyOf": [
        {
          "description": "See SightingEvent.durationSeconds.",
          "type": "number"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "durationText": {
      "anyOf": [
        {
          "description": "See SightingEvent.durationText.",
          "type": "string"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "utcOffsetHours": {
      "anyOf": [
        {
          "description": "See SightingEvent.utcOffsetHours — the legal time zone `time`/`endTime` are expressed in.",
          "type": "number"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "timeZone": {
      "anyOf": [
        {
          "description": "See SightingEvent.timeZone — the IANA rule `utcOffsetHours` was derived from, when it was.",
          "type": "string"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "place": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "lat": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "lng": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "name": {
                    "anyOf": [
                      {
                        "description": "The place as it is named, fully qualified — \"Valensole, Alpes-de-Haute-Provence, …, France\".",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              {
                "$ref": "#/$defs/stated"
              }
            ]
          }
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "observer": {
      "anyOf": [
        {
          "description": "See Sighting.observer.",
          "type": "object",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "description": "Who this is, as a reference: last name then first names, run together (\"ZamoraLonnie\"), whether or not a page exists for them yet.",
                  "type": "string"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "title": {
              "anyOf": [
                {
                  "description": "What the observer is called when no name is given or wanted — \"Witness 2\" in one language, \"Témoin 2\" in another — or their name as they gave it."
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "lastName": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "firstNames": {
              "anyOf": [
                {
                  "type": "array"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "account": {
      "anyOf": [
        {
          "description": "Who saw it and how their account travelled — see Account, and Sighting.account.",
          "type": "object",
          "properties": {
            "observerAgeYears": {
              "anyOf": [
                {
                  "description": "The main observer's age in years AT THE TIME, not today — a 1974 account is read by whoever finds it decades later, and the number that means anything is the one from then.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "observerBirth": {
              "anyOf": [
                {
                  "description": "The main observer's birth date, as precisely as it is known (a full date, a year, or one marked approximate): the other way of stating `observerAgeYears`, which the editor keeps in step with it against the observation date (see ObserverAge).",
                  "type": "object",
                  "properties": {
                    "year": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "month": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "day": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "hour": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "minute": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "second": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "season": {
                      "anyOf": [
                        {
                          "description": "The season, when the date is only known to be \"in the spring of 2022\" (EDTF `2022-21`): then `month` and `day` are undefined.",
                          "enum": [
                            "spring",
                            "summer",
                            "autumn",
                            "winter"
                          ]
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "raw": {
                      "anyOf": [
                        {
                          "description": "The exact EDTF-ish text as typed in the editor UI (e.g.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "observerPerception": {
              "anyOf": [
                {
                  "description": "How the main observer's own perception differs from a typical one — colour vision, alcohol, fatigue — as the values of the ObserverProviders' settings, by provider id.",
                  "type": "object"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "observerOccupation": {
              "anyOf": [
                {
                  "description": "What the main observer did, as they are described: \"boulanger\", \"pilote de ligne\", \"gendarme\"."
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "source": {
              "anyOf": [
                {
                  "description": "How the account reached the person who wrote this recording.",
                  "enum": [
                    "on-site",
                    "interview",
                    "telephone",
                    "questionnaire",
                    "letter",
                    "social-media",
                    "press"
                  ]
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "followedUp": {
              "anyOf": [
                {
                  "description": "Whether the observer was gone back to after the first account.",
                  "type": "boolean"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "conditions": {
              "anyOf": [
                {
                  "description": "The conditions of this account and of the sighting as the observer lived it: what the error laws of the values they give read (see docs/witness-error-model.md and WitnessError).",
                  "type": "object",
                  "properties": {
                    "delayDays": {
                      "anyOf": [
                        {
                          "description": "Days between the sighting and this account.",
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "version": {
                      "anyOf": [
                        {
                          "description": "Which version of the observer's account this is: 1 for the first given.",
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "word": {
                      "anyOf": [
                        {
                          "enum": [
                            "object",
                            "light",
                            "craft",
                            "ufo",
                            "other"
                          ]
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "exposure": {
                      "anyOf": [
                        {
                          "enum": [
                            "press",
                            "none",
                            "broadcast",
                            "other-witnesses",
                            "investigators"
                          ]
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "independent": {
                      "anyOf": [
                        {
                          "description": "Whether the observers gave their accounts without talking to each other first.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "darkAdapted": {
                      "anyOf": [
                        {
                          "description": "Whether the observer's eyes were used to the dark.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "correctedVision": {
                      "anyOf": [
                        {
                          "description": "Whether the observer wore the glasses or lenses they need.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "glare": {
                      "anyOf": [
                        {
                          "description": "Whether a bright light dazzled the observer just before.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "moonShownDeg": {
                      "anyOf": [
                        {
                          "description": "How wide the observer showed the full Moon, in degrees, the way they showed the object: their own angular-size factor is this over the Moon's real 0.52°, applied to every angular size they give (see WitnessError.MOON_DEG).",
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "sway": {
      "anyOf": [
        {
          "description": "How much the observer's body sways the view at rest: 1 a person, 0 a tripod — see Sighting.sway.",
          "type": "number"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "vehicle": {
      "anyOf": [
        {
          "description": "The vehicle the observer was in, when the decor does not draw it — see Sighting.vehicle.",
          "type": "object",
          "properties": {
            "kind": {
              "anyOf": [
                {
                  "enum": [
                    "car",
                    "van",
                    "truck",
                    "motorcycle",
                    "generic"
                  ]
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "windowsOpen": {
              "anyOf": [
                {
                  "description": "Whether the windows were open: the road and the wind come in, the cabin no longer muffles the engine.",
                  "type": "boolean"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "noise": {
              "anyOf": [
                {
                  "description": "How loud it was, against an ordinary one of its kind: 1 by default, 1.5 for \"very noisy\".",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "headlights": {
              "anyOf": [
                {
                  "description": "How its lights are set (see HeadlightMode), or \"auto\": the dipped beam from the dusk on and nothing by day, which is what a driver does.",
                  "enum": [
                    "off",
                    "position",
                    "dipped",
                    "main",
                    "fog",
                    "auto"
                  ]
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "headlightKeyframes": {
              "anyOf": [
                {
                  "description": "Sorted by t.",
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "t": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "mode": {
                            "anyOf": [
                              {
                                "enum": [
                                  "off",
                                  "position",
                                  "dipped",
                                  "main",
                                  "fog",
                                  "auto"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "description": {
      "anyOf": [
        {
          "description": "See SightingEvent.description — a plain string, or one per language."
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "image": {
      "anyOf": [
        {
          "description": "See SightingEvent.image — the picture a shared link to this recording shows.",
          "type": "string"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "summary": {
      "anyOf": [
        {
          "description": "See SightingEvent.summary — what a shared link to this recording says of it."
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "summaryTime": {
      "anyOf": [
        {
          "description": "See SightingEvent.summaryTime — the second the picture of this recording's card is taken at.",
          "type": "number"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "tags": {
      "anyOf": [
        {
          "description": "See SightingEvent.tags.",
          "type": "array"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "timeline": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "keyframes": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "t": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "shapes": {
                            "anyOf": [
                              {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "sourceId": {
                                          "anyOf": [
                                            {
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "shape": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "properties": {
                                                "kind": {
                                                  "anyOf": [
                                                    {
                                                      "enum": [
                                                        "oval",
                                                        "polygon"
                                                      ]
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "bounds": {
                                                  "anyOf": [
                                                    {
                                                      "type": "object",
                                                      "properties": {
                                                        "x": {
                                                          "anyOf": [
                                                            {
                                                              "type": "number"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        },
                                                        "y": {
                                                          "anyOf": [
                                                            {
                                                              "type": "number"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        },
                                                        "width": {
                                                          "anyOf": [
                                                            {
                                                              "type": "number"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        },
                                                        "height": {
                                                          "anyOf": [
                                                            {
                                                              "type": "number"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        }
                                                      },
                                                      "additionalProperties": false
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "color": {
                                                  "anyOf": [
                                                    {
                                                      "description": "CSS color",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "angle": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Rotation in radians about the shape's centre, positive = clockwise on screen; 0 = no rotation",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "transparency": {
                                                  "anyOf": [
                                                    {
                                                      "description": "0 = opaque, 1 = fully transparent",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "haloScale": {
                                                  "anyOf": [
                                                    {
                                                      "description": "0 = no halo/glow, >1 = larger glow radius",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "blur": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How indistinct the observer said its edges were — 0 for a hard outline, 1 for a shape with no edge at all.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "brightness": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How dazzling the observer said it was — 0 for a light you can look at, 1 for one you cannot.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "selected": {
                                                  "anyOf": [
                                                    {
                                                      "type": "boolean"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "title": {
                                                  "anyOf": [
                                                    {
                                                      "description": "What the observer calls it, if anything."
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "angular": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How big this looked to the observer, in degrees of arc (see AngularExtent) — the recording's OWN statement of size, and the one it is allowed to make.",
                                                      "type": "object",
                                                      "properties": {
                                                        "widthDeg": {
                                                          "anyOf": [
                                                            {
                                                              "description": "How wide it looked, in degrees of arc.",
                                                              "type": "number"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        },
                                                        "heightDeg": {
                                                          "anyOf": [
                                                            {
                                                              "description": "How tall it looked, in degrees of arc.",
                                                              "type": "number"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        }
                                                      },
                                                      "additionalProperties": false
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "aim": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Where the phenomenon itself was in the observer's sky (the direction of the shape's centre, not the way the observer was facing) — degrees of azimuth from true north and of altitude above the horizon, the same conventions as ObserverPose.",
                                                      "type": "object",
                                                      "properties": {
                                                        "azimuthDeg": {
                                                          "anyOf": [
                                                            {
                                                              "description": "Degrees clockwise from true north, the same convention as ObserverPose.headingDeg.",
                                                              "type": "number"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        },
                                                        "altitudeDeg": {
                                                          "anyOf": [
                                                            {
                                                              "description": "Degrees above (positive) or below the horizon.",
                                                              "type": "number"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        }
                                                      },
                                                      "additionalProperties": false
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "points": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Points relative to bounds origin (0,0 = bounds.x, bounds.y)",
                                                      "type": "array",
                                                      "items": {
                                                        "anyOf": [
                                                          {
                                                            "type": "object",
                                                            "properties": {
                                                              "x": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "y": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              }
                                                            },
                                                            "additionalProperties": false
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "order": {
              "anyOf": [
                {
                  "description": "Back-to-front paint/hit-test order — see Timeline's own `order` field.",
                  "type": "array"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "groups": {
              "anyOf": [
                {
                  "description": "Each inner array is one group's member sourceIds (always >= 2 members) — see Timeline's own `groups` field.",
                  "type": "array"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "span": {
              "anyOf": [
                {
                  "description": "The length of the observation the keyframes were placed against, in ms, when it is longer than the last keyframe — a shape placed at 0 s then moved at 5 s of a 10 s observation has keyframes at 0 and 5000 only, and without this the recording would end (and be stretched over the whole observation) at 5 s.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "observerTrack": {
      "anyOf": [
        {
          "description": "The observer's position/elevation/orientation over time — absent for older recordings, which fall back to the legacy static place[0] (see Sighting.ts's resolveObserverPoseAt).",
          "type": "object",
          "properties": {
            "keyframes": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "t": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "pose": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "lat": {
                                    "anyOf": [
                                      {
                                        "description": "Decimal degrees.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "lng": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "saidPosition": {
                                    "anyOf": [
                                      {
                                        "description": "How `lat`/`lng` were said, when not as degrees: from a decor object (see SaidPosition).",
                                        "type": "object",
                                        "properties": {
                                          "relativeTo": {
                                            "anyOf": [
                                              {
                                                "description": "The id of the element it is said from; absent, the observer.",
                                                "type": "string"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "eastM": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "northM": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "lat": {
                                            "anyOf": [
                                              {},
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "lng": {
                                            "anyOf": [
                                              {},
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "elevationM": {
                                    "anyOf": [
                                      {
                                        "description": "Metres above the local ground under the observer, not above sea level: 0 for someone standing on it, the height of a window or a cliff top otherwise.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "headingDeg": {
                                    "anyOf": [
                                      {
                                        "description": "Degrees clockwise from true north.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "pitchDeg": {
                                    "anyOf": [
                                      {
                                        "description": "Degrees above (positive) or below (negative) the local horizontal — how far up/down the observer was looking, e.g.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "rollDeg": {
                                    "anyOf": [
                                      {
                                        "description": "How far the instrument itself was tilted about its own line of sight, degrees, positive clockwise as the observer saw it — a camera held askew, a head leaned over.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "fovDeg": {
                                    "anyOf": [
                                      {
                                        "description": "Vertical field of view in degrees, as a Three.js PerspectiveCamera would take it.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "fNumber": {
                                    "anyOf": [
                                      {
                                        "description": "How far the lens was stopped down — undefined for anything the recording did not state, which then falls back to the instrument's own setting (see Instrument.fNumber).",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "focusDistanceM": {
                                    "anyOf": [
                                      {
                                        "description": "How far away the lens was focused, metres — undefined meaning at infinity, which is where a camera pointed at the sky sits and the only setting under which everything celestial comes out sharp.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "filter": {
                                    "anyOf": [
                                      {
                                        "description": "What was held in front of the instrument — a FILTERS id, a solar filter for an eclipse.",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "weatherTrack": {
      "anyOf": [
        {
          "description": "Weather over time — absent for older recordings, which fall back to the legacy static `weather` field below (see Sighting.ts's resolveWeatherAt).",
          "type": "object",
          "properties": {
            "keyframes": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "t": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "weather": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "cloudLayers": {
                                    "anyOf": [
                                      {
                                        "description": "Explicit layers override the historical cloud fields; [] means no clouds.",
                                        "type": "array",
                                        "items": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Stable across keyframes: reordering layers must not regenerate their cloud pattern.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "instances": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Optional explicit masses, independent of the generated coverage percentage.",
                                                      "type": "array",
                                                      "items": {
                                                        "anyOf": [
                                                          {
                                                            "type": "object",
                                                            "properties": {
                                                              "id": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "string"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "eastM": {
                                                                "anyOf": [
                                                                  {
                                                                    "description": "Position relative to the recording's initial observer, in metres east/north.",
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "northM": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "saidPosition": {
                                                                "anyOf": [
                                                                  {
                                                                    "description": "How it was said, when not as metres from the observer (see SaidPosition).",
                                                                    "type": "object",
                                                                    "properties": {
                                                                      "relativeTo": {
                                                                        "anyOf": [
                                                                          {
                                                                            "description": "The id of the element it is said from; absent, the observer.",
                                                                            "type": "string"
                                                                          },
                                                                          {
                                                                            "$ref": "#/$defs/stated"
                                                                          }
                                                                        ]
                                                                      },
                                                                      "eastM": {
                                                                        "anyOf": [
                                                                          {
                                                                            "type": "number"
                                                                          },
                                                                          {
                                                                            "$ref": "#/$defs/stated"
                                                                          }
                                                                        ]
                                                                      },
                                                                      "northM": {
                                                                        "anyOf": [
                                                                          {
                                                                            "type": "number"
                                                                          },
                                                                          {
                                                                            "$ref": "#/$defs/stated"
                                                                          }
                                                                        ]
                                                                      },
                                                                      "lat": {
                                                                        "anyOf": [
                                                                          {},
                                                                          {
                                                                            "$ref": "#/$defs/stated"
                                                                          }
                                                                        ]
                                                                      },
                                                                      "lng": {
                                                                        "anyOf": [
                                                                          {},
                                                                          {
                                                                            "$ref": "#/$defs/stated"
                                                                          }
                                                                        ]
                                                                      }
                                                                    },
                                                                    "additionalProperties": false
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "baseM": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "thicknessM": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "widthM": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "depthM": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "rotationDeg": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "density": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "darkness": {
                                                                "anyOf": [
                                                                  {
                                                                    "description": "Visual shading, 0 (white) to 1 (very dark); absent inherits the parent layer.",
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              },
                                                              "seed": {
                                                                "anyOf": [
                                                                  {
                                                                    "type": "number"
                                                                  },
                                                                  {
                                                                    "$ref": "#/$defs/stated"
                                                                  }
                                                                ]
                                                              }
                                                            },
                                                            "additionalProperties": false
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "type": {
                                                  "anyOf": [
                                                    {
                                                      "enum": [
                                                        "cumulus",
                                                        "stratus",
                                                        "stratocumulus",
                                                        "cirrus",
                                                        "unknown"
                                                      ]
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "baseM": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Base in metres above the recording's reference ground, not above the moving observer.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "thicknessM": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Vertical extent in metres.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "coverage": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Horizontal coverage, 0–1.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "sizeM": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Characteristic horizontal cloud size in metres.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "density": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Relative optical density, 0–2; zero is transparent.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "darkness": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Visual shading, 0 (white) to 1 (very dark).",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "iceCrystalAlignment": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Degree of preferential crystal orientation, meaningful only for cirrus.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "seed": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Reproducible variation; defaults to a hash of the stable layer id.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "windDirectionDeg": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Optional wind overrides; bearing TOWARD which the cloud travels, clockwise from north.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "windSpeed": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "cloudCover": {
                                    "anyOf": [
                                      {
                                        "description": "0 = clear sky, 1 = fully overcast.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "cloudDarkness": {
                                    "anyOf": [
                                      {
                                        "description": "0 = light/clear clouds, 1 = dark/stormy character.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "cloudBaseM": {
                                    "anyOf": [
                                      {
                                        "description": "Height of the cloud layer's BASE above the ground, in meters — 600 to 2000 m covers most real low cloud.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "highCloudCover": {
                                    "anyOf": [
                                      {
                                        "description": "How much of the sky the HIGH deck covered, 0 to 1 — cirrus and cirrostratus, above about six kilometres, where anything present is ice rather than water.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "lowerCloudCover": {
                                    "anyOf": [
                                      {
                                        "description": "How much of the sky the LOW and MIDDLE decks covered, 0 to 1 — the cloud that stands between a observer and anything higher up.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "iceCrystalAlignment": {
                                    "anyOf": [
                                      {
                                        "description": "How steadily the ice crystals were falling, 0 to 1 — the one thing about the sky that decides which halo forms stood, and the one thing no record of any sighting holds.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "rareIceCrystals": {
                                    "anyOf": [
                                      {
                                        "description": "The share of a cirrus deck's crystals that are the rare kinds, 0 to 1: columns capped with pyramids, which draw the odd-radius rings (9, 20, 35 degrees), and plates free to turn about a level axis, which draw Lowitz's arcs sloping from the sundogs.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "relativeHumidity": {
                                    "anyOf": [
                                      {
                                        "description": "Relative humidity near the ground, 0 to 1.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "precipitationType": {
                                    "anyOf": [
                                      {
                                        "enum": [
                                          "none",
                                          "rain",
                                          "snow",
                                          "hail"
                                        ]
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "precipitationIntensity": {
                                    "anyOf": [
                                      {
                                        "description": "0-1; meaningless while precipitationType is \"none\".",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "precipitationAmount": {
                                    "anyOf": [
                                      {
                                        "description": "How much of that precipitation is actually falling yet, 0 to 1 — absent meaning all of it.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "windDirectionDeg": {
                                    "anyOf": [
                                      {
                                        "description": "Degrees clockwise from true north — same convention as ObserverPose.headingDeg, and the direction the wind blows *toward*, not the one it comes from: SceneRenderer drifts every precipitation particle and cloud field along exactly this bearing (`sin/-cos`, north = -Z), so 0 means snow drifting northward.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "windSpeed": {
                                    "anyOf": [
                                      {
                                        "description": "Real-world wind speed in m/s (0 = calm, ~30 = violent storm/hurricane-force) — drives both cloud advection, visual precipitation drift and wind audio volume directly.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "storm": {
                                    "anyOf": [
                                      {
                                        "description": "Whether a thunderstorm was reported — drives both a scene-fog lightning flash and a delayed thunderclap (see SceneRenderer's lightning-flash scheduling, named for the visual mechanism it implements internally, not for this field).",
                                        "type": "boolean"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "weather": {
      "anyOf": [
        {
          "description": "Legacy static weather condition, kept only as weatherTrack's own fallback for recordings made before it existed — absent means \"unknown/not recorded\", not \"clear skies\" (renderers default to DEFAULT_WEATHER, see Weather.ts).",
          "type": "object",
          "properties": {
            "cloudLayers": {
              "anyOf": [
                {
                  "description": "Explicit layers override the historical cloud fields; [] means no clouds.",
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "anyOf": [
                              {
                                "description": "Stable across keyframes: reordering layers must not regenerate their cloud pattern.",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "instances": {
                            "anyOf": [
                              {
                                "description": "Optional explicit masses, independent of the generated coverage percentage.",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "id": {
                                          "anyOf": [
                                            {
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "eastM": {
                                          "anyOf": [
                                            {
                                              "description": "Position relative to the recording's initial observer, in metres east/north.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "northM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "saidPosition": {
                                          "anyOf": [
                                            {
                                              "description": "How it was said, when not as metres from the observer (see SaidPosition).",
                                              "type": "object",
                                              "properties": {
                                                "relativeTo": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The id of the element it is said from; absent, the observer.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "eastM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "northM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lat": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lng": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "baseM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "thicknessM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "widthM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "depthM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "rotationDeg": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "density": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "darkness": {
                                          "anyOf": [
                                            {
                                              "description": "Visual shading, 0 (white) to 1 (very dark); absent inherits the parent layer.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "seed": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "type": {
                            "anyOf": [
                              {
                                "enum": [
                                  "cumulus",
                                  "stratus",
                                  "stratocumulus",
                                  "cirrus",
                                  "unknown"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "baseM": {
                            "anyOf": [
                              {
                                "description": "Base in metres above the recording's reference ground, not above the moving observer.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "thicknessM": {
                            "anyOf": [
                              {
                                "description": "Vertical extent in metres.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "coverage": {
                            "anyOf": [
                              {
                                "description": "Horizontal coverage, 0–1.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "sizeM": {
                            "anyOf": [
                              {
                                "description": "Characteristic horizontal cloud size in metres.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "density": {
                            "anyOf": [
                              {
                                "description": "Relative optical density, 0–2; zero is transparent.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "darkness": {
                            "anyOf": [
                              {
                                "description": "Visual shading, 0 (white) to 1 (very dark).",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "iceCrystalAlignment": {
                            "anyOf": [
                              {
                                "description": "Degree of preferential crystal orientation, meaningful only for cirrus.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "seed": {
                            "anyOf": [
                              {
                                "description": "Reproducible variation; defaults to a hash of the stable layer id.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "windDirectionDeg": {
                            "anyOf": [
                              {
                                "description": "Optional wind overrides; bearing TOWARD which the cloud travels, clockwise from north.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "windSpeed": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "cloudCover": {
              "anyOf": [
                {
                  "description": "0 = clear sky, 1 = fully overcast.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "cloudDarkness": {
              "anyOf": [
                {
                  "description": "0 = light/clear clouds, 1 = dark/stormy character.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "cloudBaseM": {
              "anyOf": [
                {
                  "description": "Height of the cloud layer's BASE above the ground, in meters — 600 to 2000 m covers most real low cloud.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "highCloudCover": {
              "anyOf": [
                {
                  "description": "How much of the sky the HIGH deck covered, 0 to 1 — cirrus and cirrostratus, above about six kilometres, where anything present is ice rather than water.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "lowerCloudCover": {
              "anyOf": [
                {
                  "description": "How much of the sky the LOW and MIDDLE decks covered, 0 to 1 — the cloud that stands between a observer and anything higher up.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "iceCrystalAlignment": {
              "anyOf": [
                {
                  "description": "How steadily the ice crystals were falling, 0 to 1 — the one thing about the sky that decides which halo forms stood, and the one thing no record of any sighting holds.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "rareIceCrystals": {
              "anyOf": [
                {
                  "description": "The share of a cirrus deck's crystals that are the rare kinds, 0 to 1: columns capped with pyramids, which draw the odd-radius rings (9, 20, 35 degrees), and plates free to turn about a level axis, which draw Lowitz's arcs sloping from the sundogs.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "relativeHumidity": {
              "anyOf": [
                {
                  "description": "Relative humidity near the ground, 0 to 1.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "precipitationType": {
              "anyOf": [
                {
                  "enum": [
                    "none",
                    "rain",
                    "snow",
                    "hail"
                  ]
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "precipitationIntensity": {
              "anyOf": [
                {
                  "description": "0-1; meaningless while precipitationType is \"none\".",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "precipitationAmount": {
              "anyOf": [
                {
                  "description": "How much of that precipitation is actually falling yet, 0 to 1 — absent meaning all of it.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "windDirectionDeg": {
              "anyOf": [
                {
                  "description": "Degrees clockwise from true north — same convention as ObserverPose.headingDeg, and the direction the wind blows *toward*, not the one it comes from: SceneRenderer drifts every precipitation particle and cloud field along exactly this bearing (`sin/-cos`, north = -Z), so 0 means snow drifting northward.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "windSpeed": {
              "anyOf": [
                {
                  "description": "Real-world wind speed in m/s (0 = calm, ~30 = violent storm/hurricane-force) — drives both cloud advection, visual precipitation drift and wind audio volume directly.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "storm": {
              "anyOf": [
                {
                  "description": "Whether a thunderstorm was reported — drives both a scene-fog lightning flash and a delayed thunderclap (see SceneRenderer's lightning-flash scheduling, named for the visual mechanism it implements internally, not for this field).",
                  "type": "boolean"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "soundTrack": {
      "anyOf": [
        {
          "description": "What the sighting sounded like over time — see SoundTrack.",
          "type": "object",
          "properties": {
            "keyframes": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "t": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "sound": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "anyOf": [
                                      {
                                        "enum": [
                                          "none",
                                          "hum",
                                          "whistle",
                                          "rumble",
                                          "crackle"
                                        ]
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "volume": {
                                    "anyOf": [
                                      {
                                        "description": "How loud it was, 0 (inaudible) to 1 (as loud as the observer could describe) — deliberately relative rather than a dB SPL figure: nobody reports a sound level in decibels, and inventing one would claim a measurement where there is only an impression.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "pitchHz": {
                                    "anyOf": [
                                      {
                                        "description": "The sound's own frequency in Hz — the oscillator's pitch for the pitched kinds (\"hum\", \"whistle\"), and the noise filter's centre for the unpitched ones (\"rumble\", \"crackle\"), where it reads as how deep or how sharp the noise is.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "src": {
                                    "anyOf": [
                                      {
                                        "description": "An actual audio recording of the sound, when one exists (a observer who filmed the event, a later recording of the same phenomenon) — replaces synthesis entirely while it is set, with `volume` still scaling it.",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "decor": {
      "anyOf": [
        {
          "description": "See Sighting.decor.",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "kind": {
                    "anyOf": [
                      {
                        "enum": [
                          "terrace",
                          "wall",
                          "building",
                          "tree",
                          "crop",
                          "mound",
                          "streetlight",
                          "vehicle",
                          "observer",
                          "aircraft",
                          "trafficlight",
                          "crossing",
                          "roadsign",
                          "shrub",
                          "bridge",
                          "wire",
                          "entity"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "title": {
                    "anyOf": [
                      {
                        "description": "Optional display name, same role as Shape.title — falls back to a generic \"{kind} {n}\" label (see SightingEditorElement.decorLabel) when absent."
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "eastM": {
                    "anyOf": [
                      {
                        "description": "Meters from the observer's own position — eastM positive = east, northM positive = north.",
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "northM": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "saidPosition": {
                    "anyOf": [
                      {
                        "description": "How `eastM`/`northM` were said, when it was not as they are kept: from another object, or as a latitude and a longitude (see SaidPosition).",
                        "type": "object",
                        "properties": {
                          "relativeTo": {
                            "anyOf": [
                              {
                                "description": "The id of the element it is said from; absent, the observer.",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "eastM": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "northM": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "lat": {
                            "anyOf": [
                              {},
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "lng": {
                            "anyOf": [
                              {},
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "headingDeg": {
                    "anyOf": [
                      {
                        "description": "Degrees clockwise from true north, same convention as ObserverPose.headingDeg — which way a vehicle is facing, or a observer looking.",
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "lit": {
                    "anyOf": [
                      {
                        "description": "Streetlight lamp / vehicle headlights switched on.",
                        "type": "boolean"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "litKeyframes": {
                    "anyOf": [
                      {
                        "description": "Sorted by t.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "t": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "lit": {
                                  "anyOf": [
                                    {
                                      "type": "boolean"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "headlights": {
                    "anyOf": [
                      {
                        "description": "For a vehicle: how its lights are set (see HeadlightMode).",
                        "enum": [
                          "off",
                          "position",
                          "dipped",
                          "main",
                          "fog"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "headlightKeyframes": {
                    "anyOf": [
                      {
                        "description": "Sorted by t.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "t": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "mode": {
                                  "anyOf": [
                                    {
                                      "enum": [
                                        "off",
                                        "position",
                                        "dipped",
                                        "main",
                                        "fog"
                                      ]
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "lights": {
                    "anyOf": [
                      {
                        "description": "The object's individual lamps, each with its own place on the body and its own rhythm — see DecorLight, and LIGHT_RIGS for the ready-made sets.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "anyOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "offsetM": {
                                  "anyOf": [
                                    {
                                      "description": "Where it sits on the object, in meters relative to the object's own centre and heading: +x is its right, +y up, +z its front.",
                                      "type": "object",
                                      "properties": {
                                        "x": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "y": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "z": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "color": {
                                  "anyOf": [
                                    {
                                      "description": "CSS hex colour, as emitted — the regulated red/green/white of navigation lights, the amber of a hazard flasher.",
                                      "type": "string"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "intensity": {
                                  "anyOf": [
                                    {
                                      "description": "Peak luminous intensity as a ratio to an ordinary navigation light's (1, about a hundred candela — see DecorSystem's LAMP_CANDELA); the airliner rig (LIGHT_RIGS) gives its beacon 1.5 and its wingtip strobes 20.",
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "pattern": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "kind": {
                                          "anyOf": [
                                            {
                                              "enum": [
                                                "steady",
                                                "flash"
                                              ]
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "perMinute": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "dutyCycle": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "phase": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "radiusM": {
                                  "anyOf": [
                                    {
                                      "description": "The radius of what shines, metres, where it is not a quarter of a metre: the lens of a traffic light is ten centimetres.",
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "beamDeg": {
                                  "anyOf": [
                                    {
                                      "description": "Where the lamp is seen from, when it is not from everywhere: the angle off the object's front (−z, where its heading points) at which it gives half its light, degrees.",
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "track": {
                    "anyOf": [
                      {
                        "description": "Where the object is over time, when it moves — an aircraft crossing the sky, a car driving past.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "t": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "eastM": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "northM": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "saidPosition": {
                                  "anyOf": [
                                    {
                                      "description": "How this place was said (see DecorObject.saidPosition).",
                                      "type": "object",
                                      "properties": {
                                        "relativeTo": {
                                          "anyOf": [
                                            {
                                              "description": "The id of the element it is said from; absent, the observer.",
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "eastM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "northM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lat": {
                                          "anyOf": [
                                            {},
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lng": {
                                          "anyOf": [
                                            {},
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "altitudeM": {
                                  "anyOf": [
                                    {
                                      "description": "Meters above the observer's own elevation.",
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "headingDeg": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "gazeAzimuthDeg": {
                                  "anyOf": [
                                    {
                                      "description": "Where a figure looks, as a compass azimuth: its head turns to face it, as far as a neck turns (85 degrees either side of where its body points), if its model has a node named \"head\" (scripts/people/split_head.py).",
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "sightingUrl": {
                    "anyOf": [
                      {
                        "description": "For kind \"observer\" only: the URL of that observer's own sighting.json recording, if known — lets the 3D scene's own context menu offer \"view this observer's account\" (loading it the same way SightingEditorElement.importFromUrl already does).",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "windows": {
                    "anyOf": [
                      {
                        "description": "Per-side window opacity, 0 (fully open — the pane is invisible, and DecorSystem.addRoom's own interior wall panel is skipped there too, same as no window at all) to 100 (fully closed — a solid-looking pane).",
                        "type": "object"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "color": {
                    "anyOf": [
                      {
                        "description": "What colour this object actually is, as a CSS colour — the same way a shape states its own (see Shape.color), because a recording is written and read by people and \"#8f86a8\" is a colour a person can type.",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "observerSide": {
                    "anyOf": [
                      {
                        "enum": [
                          "front",
                          "behind",
                          "left",
                          "right",
                          "front-left",
                          "front-right",
                          "behind-left",
                          "behind-right"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "observerFacing": {
                    "anyOf": [
                      {
                        "description": "Which window the observer looks through, when it is not the one at their own seat: a driver sits at \"front-left\" and looks through the windshield (\"front\").",
                        "enum": [
                          "front",
                          "behind",
                          "left",
                          "right",
                          "front-left",
                          "front-right",
                          "behind-left",
                          "behind-right"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "observerKeyframes": {
                    "anyOf": [
                      {
                        "description": "Where the observer sits over time, when they do not stay where they are: a driver is in the car until the moment they get out of it.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "t": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "side": {
                                  "anyOf": [
                                    {
                                      "description": "The seat they are in from this instant; absent means they are outside the object.",
                                      "enum": [
                                        "front",
                                        "behind",
                                        "left",
                                        "right",
                                        "front-left",
                                        "front-right",
                                        "behind-left",
                                        "behind-right"
                                      ]
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "facing": {
                                  "anyOf": [
                                    {
                                      "description": "The window they look through from this instant, when it is not the one at their seat.",
                                      "enum": [
                                        "front",
                                        "behind",
                                        "left",
                                        "right",
                                        "front-left",
                                        "front-right",
                                        "behind-left",
                                        "behind-right"
                                      ]
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "engine": {
                    "anyOf": [
                      {
                        "description": "A vehicle heard running — see DecorEngine: its engine turning with its own `track`, heard less the further it is from the observer.",
                        "type": "object",
                        "properties": {
                          "kind": {
                            "anyOf": [
                              {
                                "description": "Which sound: a decor object's own `kind` says only \"vehicle\".",
                                "enum": [
                                  "car",
                                  "van",
                                  "truck",
                                  "motorcycle",
                                  "generic"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "noise": {
                            "anyOf": [
                              {
                                "description": "As ObserverVehicle.noise.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "aircraftSound": {
                    "anyOf": [
                      {
                        "description": "An aircraft heard while it flies — what sort of noise it makes (see AircraftHearing.noiseOfKind), or \"silent\" for one that makes none (a glider's cousin, a stand-in for something nobody heard).",
                        "enum": [
                          "unknown",
                          "airliner-narrow",
                          "airliner-wide",
                          "regional-turboprop",
                          "regional-jet",
                          "business-jet",
                          "light-piston",
                          "turboprop-light",
                          "helicopter-light",
                          "helicopter-medium",
                          "helicopter-heavy",
                          "military-jet",
                          "glider",
                          "balloon",
                          "ultralight",
                          "unmanned",
                          "silent"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "surveyedOn": {
                    "anyOf": [
                      {
                        "description": "The day (YYYY-MM-DD) of the survey this object was taken from, where it comes from one (see `origin`): the latest of the days of everything it was drawn from (the laser flight, the aerial photograph, the map's edition).",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "facade": {
                    "anyOf": [
                      {
                        "description": "Kind \"building\" only: the colour of its walls, and the windows and door drawn on them.",
                        "type": "object",
                        "properties": {
                          "color": {
                            "anyOf": [
                              {
                                "description": "The colour of the wall, \"#rrggbb\": plaster, stone, brick.",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "plain": {
                            "anyOf": [
                              {
                                "description": "A plain wall, with no windows and no door.",
                                "type": "boolean"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "openings": {
                            "anyOf": [
                              {
                                "description": "How the walls are opened.",
                                "enum": [
                                  "tall",
                                  "lancet"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "storeyM": {
                            "anyOf": [
                              {
                                "description": "The height of a storey, metres, where it is known (the floors a survey states, or those of an old building): absent is three.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "closedAtNight": {
                            "anyOf": [
                              {
                                "description": "The windows of a place nobody is in at night (a shop, an office, a pool, a gymnasium): it has windows, but a fifth as many of them lit as a home has at the same hour (see DecorSystem.CLOSED_AT_NIGHT_SHARE).",
                                "type": "boolean"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "roof": {
                    "anyOf": [
                      {
                        "description": "Kind \"building\" only: the shape and colour of its roof.",
                        "type": "object",
                        "properties": {
                          "shape": {
                            "anyOf": [
                              {
                                "description": "\"flat\" is the box; \"gable\" rises to a ridge along the building's longer side; \"hip\" slopes down on all four; \"dome\" is a cupola over the ellipse the walls hold.",
                                "enum": [
                                  "flat",
                                  "gable",
                                  "hip",
                                  "dome"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "ridge": {
                            "anyOf": [
                              {
                                "description": "Which side of the building a gable's ridge runs along: \"width\" (the longer side, the default) or \"depth\".",
                                "enum": [
                                  "width",
                                  "depth"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "riseM": {
                            "anyOf": [
                              {
                                "description": "How far the ridge stands above the eaves, metres.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "color": {
                            "anyOf": [
                              {
                                "description": "The colour of the roof seen from above, \"#rrggbb\", where it was measured (see RoofShapes): the walls keep their own.",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "bridge": {
                    "anyOf": [
                      {
                        "description": "Kind \"bridge\" only: how it is built, where that is known — see BridgeStructure.",
                        "type": "object",
                        "properties": {
                          "spanM": {
                            "anyOf": [
                              {
                                "description": "Metres of open span under the deck, centred on the object.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "deckThicknessM": {
                            "anyOf": [
                              {
                                "description": "Thickness of the deck slab, metres.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "railing": {
                            "anyOf": [
                              {
                                "description": "The railing along both edges: its height above the road, the spacing of its posts, and how many horizontal rails it has — two rails make two rows of rectangular openings.",
                                "type": "object",
                                "properties": {
                                  "heightM": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "postSpacingM": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "rails": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "wire": {
                    "anyOf": [
                      {
                        "description": "Kind \"wire\" only: how many strands, where they hang, and which ends stand on a pole — see WireStructure.",
                        "type": "object",
                        "properties": {
                          "strands": {
                            "anyOf": [
                              {
                                "description": "The strands: each one's height above the ground and, for a crossarm, how far it hangs to one side of the line (positive to the right of its heading).",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "heightM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "acrossM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "poles": {
                            "anyOf": [
                              {
                                "description": "Which ends stand on a pole: both (default), the one the object's heading points away from (`start`) or towards (`end`), or none, for a line anchored on buildings at both ends.",
                                "enum": [
                                  "none",
                                  "both",
                                  "start",
                                  "end"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "diameterM": {
                            "anyOf": [
                              {
                                "description": "How thick a strand is, metres.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "poleHeightM": {
                            "anyOf": [
                              {
                                "description": "How tall a pole is, metres.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "lamp": {
                    "anyOf": [
                      {
                        "description": "Kind \"streetlight\" only: the lamp it carries, where it is known (a town's inventory says it).",
                        "type": "object",
                        "properties": {
                          "colorTemperatureK": {
                            "anyOf": [
                              {
                                "description": "The colour of its light, kelvins: 2 000 a sodium lamp's orange, 2 700 to 3 000 a warm white LED's, 4 000 a cold one.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "lumens": {
                            "anyOf": [
                              {
                                "description": "Its luminous flux, lumens.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "mount": {
                            "anyOf": [
                              {
                                "description": "\"wall\": a bracket on a facade, with no column of its own.",
                                "enum": [
                                  "wall",
                                  "column"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "supposed": {
                            "anyOf": [
                              {
                                "description": "True when nobody surveyed where it stands: it was put there because a map says the street is lit, at the spacing of a town's lamps (see OsmStreetLamps).",
                                "type": "boolean"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "sign": {
                    "anyOf": [
                      {
                        "description": "Kind \"roadsign\" only: what its face says.",
                        "type": "object",
                        "properties": {
                          "face": {
                            "anyOf": [
                              {
                                "description": "\"stop\" is the red octagon, \"give-way\" the triangle point down, \"speed-limit\" the disc ringed in red; \"other\" a sign whose face is not drawn.",
                                "enum": [
                                  "other",
                                  "stop",
                                  "give-way",
                                  "speed-limit"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "code": {
                            "anyOf": [
                              {
                                "description": "The sign as the map codes it, where it does (\"FR:B14[50]\").",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "value": {
                            "anyOf": [
                              {
                                "description": "The limit, km/h, for a \"speed-limit\".",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "floors": {
                    "anyOf": [
                      {
                        "description": "Kind \"building\" only: number of upper stories above the ground floor, set when the building is created (default 2, see SightingEditorElement.addDecor) and editable afterward.",
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "occupiedFloor": {
                    "anyOf": [
                      {
                        "description": "Kind \"building\" only, meaningful once observerSide is set: which floor the observer is on, 0 (ground floor) up to floors.",
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "occludesSourceIds": {
                    "anyOf": [
                      {
                        "description": "Shape sourceIds (see Timeline.sourceIds/Shape) this decor object sits in front of, from the observer's own reported viewpoint — occluding that shape wherever their screen positions line up (see SceneRenderer.isScreenPointOccluded).",
                        "type": "array"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "sizeM": {
                    "anyOf": [
                      {
                        "description": "How big it really is, in meters, along its own axes — see DecorSize.",
                        "type": "object",
                        "properties": {
                          "widthM": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "lengthM": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "heightM": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "modelParameters": {
                    "anyOf": [
                      {
                        "description": "The settings of the model this object is drawn as, by the key the model publishes them under (see ModelParameters.parameters): a being's costume colour, say.",
                        "type": "object"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "model": {
                    "anyOf": [
                      {
                        "description": "The real 3D model that stands in for the primitive, if one does — see DecorModelRef.",
                        "type": "object",
                        "properties": {
                          "id": {
                            "anyOf": [
                              {
                                "description": "Catalogue entry, resolved by the live DecorModelProvider.",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "url": {
                            "anyOf": [
                              {
                                "description": "Direct glTF/GLB address, taking precedence over `id`.",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "headingOffsetDeg": {
                            "anyOf": [
                              {
                                "description": "Degrees to turn the loaded model about its own vertical axis so its nose points the way this scene's heading convention expects (0 faces -Z — see DecorSystem's build).",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "credit": {
                            "anyOf": [
                              {
                                "description": "Who made it and under what licence.",
                                "type": "object",
                                "properties": {
                                  "title": {
                                    "anyOf": [
                                      {
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "author": {
                                    "anyOf": [
                                      {
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "license": {
                                    "anyOf": [
                                      {
                                        "description": "Licence name as its author states it, e.g.",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "sourceUrl": {
                                    "anyOf": [
                                      {
                                        "description": "Where it came from, so the claim can be checked.",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "origin": {
                    "anyOf": [
                      {
                        "description": "The survey this object was taken from, by the id of its provider (\"ign-lidar-hd\"), when the author did not place it by hand: the trees the editor plants from a canopy survey (see CanopyProvider).",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              {
                "$ref": "#/$defs/stated"
              }
            ]
          }
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "roads": {
      "anyOf": [
        {
          "description": "The roads the account's own plan draws — see Sighting.roads and Road.ts.",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "title": {
                    "anyOf": [
                      {
                        "description": "What the account calls it, where it calls it anything."
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "surface": {
                    "anyOf": [
                      {
                        "enum": [
                          "paved",
                          "gravel",
                          "dirt"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "widthM": {
                    "anyOf": [
                      {
                        "description": "Carriageway width, metres.",
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "path": {
                    "anyOf": [
                      {
                        "description": "The centre line, in metres east and north of the observer's place at t=0.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "eastM": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "northM": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "source": {
                    "anyOf": [
                      {
                        "description": "Where this line comes from — the plan, the survey, the report it was read off."
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              {
                "$ref": "#/$defs/stated"
              }
            ]
          }
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "traces": {
      "anyOf": [
        {
          "description": "What an investigator drew over the place, imported from their file — see Sighting.traces and Trace.ts.",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "title": {
                    "anyOf": [
                      {
                        "description": "What its author called it (\"Ligne de visée depuis la ferme\")."
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "kind": {
                    "anyOf": [
                      {
                        "enum": [
                          "polygon",
                          "point",
                          "line"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "points": {
                    "anyOf": [
                      {
                        "description": "One point for a marker, the vertices of a line, the vertices of an outline (not repeated at the end: it is closed by being a polygon).",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "lat": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "lng": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "altM": {
                                  "anyOf": [
                                    {
                                      "description": "Metres, read as `InvestigatorTrace.altitude` says.",
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "altitude": {
                    "anyOf": [
                      {
                        "description": "How `altM` is read.",
                        "enum": [
                          "ground",
                          "relative",
                          "absolute"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "color": {
                    "anyOf": [
                      {
                        "description": "CSS colour the author gave it, `#rrggbb`.",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "source": {
                    "anyOf": [
                      {
                        "description": "Whose it is and where it comes from — the person, the report, the file."
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              {
                "$ref": "#/$defs/stated"
              }
            ]
          }
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "weatherSource": {
      "anyOf": [
        {
          "description": "Which meteorological record `weatherTrack` was looked up from, when it wasn't the observer who stated the conditions — see Sighting.weatherSource.",
          "type": "object",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "description": "Stable dataset id, e.g.",
                  "type": "string"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "name": {
              "anyOf": [
                {
                  "description": "Human-readable dataset name, e.g.",
                  "type": "string"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "url": {
              "anyOf": [
                {
                  "description": "The exact request that produced these values, so the claim stays checkable years later.",
                  "type": "string"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "instrument": {
      "anyOf": [
        {
          "description": "Which INSTRUMENTS entry this was observed through — see Sighting.instrumentId.",
          "type": "string"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "exposureSeconds": {
      "anyOf": [
        {
          "description": "How long the shutter stayed open, seconds — one value for the whole observation, see Sighting.exposureSeconds.",
          "type": "number"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "iso": {
      "anyOf": [
        {
          "description": "The speed of the film or sensor this picture was taken on — see Sighting.iso.",
          "type": "number"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "metering": {
      "anyOf": [
        {
          "description": "How the device metered the light it exposed by — see Sighting.metering.",
          "enum": [
            "average",
            "highlights"
          ]
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "lens": {
      "anyOf": [
        {
          "description": "See Sighting.lens.",
          "type": "object",
          "properties": {
            "glass": {
              "anyOf": [
                {
                  "description": "What the picture was taken through besides the lens: a filter screwed on it, a window pane, a car's windscreen.",
                  "enum": [
                    "filter",
                    "window",
                    "windscreen"
                  ]
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "drops": {
              "anyOf": [
                {
                  "description": "Drops of water on the outermost glass.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "condensation": {
              "anyOf": [
                {
                  "description": "Condensation on it: a lens taken from a warm room or car into the cold, or the cold glass of a windscreen.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "dirt": {
              "anyOf": [
                {
                  "description": "Dirt, grease or fingerprints on it: a phone's lens wiped on a pocket.",
                  "type": "number"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "sheltered": {
              "anyOf": [
                {
                  "description": "Whether the outermost glass was out of the rain or snow: under a roof, behind a windscreen whose wipers run.",
                  "type": "boolean"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "lightPollution": {
      "anyOf": [
        {
          "description": "How bright the night sky is at the place, towns and all: the zenith of a moonless night in magnitudes per square arcsecond, a Sky Quality Meter's reading or the World Atlas's \"SQM\" figure (Falchi et al.",
          "type": "number"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "observerMap": {
      "anyOf": [
        {
          "description": "Whether the map of where the observer stood starts open — see Sighting.observerMap.",
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "milestones": {
      "anyOf": [
        {
          "description": "The named moments of the account — see Milestone.",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "description": "When, in milliseconds from the start of the recording — the same scale every track uses.",
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "label": {
                    "anyOf": [
                      {
                        "description": "Short label, shown on the seek bar: the letter or number the account itself uses (\"A\", \"B\"), or a couple of words where it uses none."
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "note": {
                    "anyOf": [
                      {
                        "description": "What happened at that moment, in the account's own words where possible."
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              {
                "$ref": "#/$defs/stated"
              }
            ]
          }
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "references": {
      "anyOf": [
        {
          "description": "Pictures of the place, laid over the reconstruction at the direction each was registered in — see SceneReference.",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "description": "Stable id, what the editor's own list and a future trace on the picture name.",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "kind": {
                    "anyOf": [
                      {
                        "enum": [
                          "photo",
                          "panorama"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "src": {
                    "anyOf": [
                      {
                        "description": "Where the picture is: an address, or the picture itself as a `data:` URL.",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "title": {
                    "anyOf": [
                      {
                        "description": "What to call it — \"Vue depuis le muret, fin été 1968\"."
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "credit": {
                    "anyOf": [
                      {
                        "description": "Who made it and on what terms — shown wherever the picture is, because a credit that is not displayed is not a licence (see DataSource for the same rule on the data).",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "creditUrl": {
                    "anyOf": [
                      {
                        "description": "Where that credit points: the source page, the licence.",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "t": {
                    "anyOf": [
                      {
                        "description": "The instant of the timeline it was taken at, milliseconds, for a picture made DURING the observation — by the observer, or by whoever was there.",
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "from": {
                    "anyOf": [
                      {
                        "description": "Where it was taken from — the one point its registration holds for.",
                        "type": "object",
                        "properties": {
                          "lat": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "lng": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "drawing": {
                    "anyOf": [
                      {
                        "description": "Whether somebody drew on it — a trajectory, an outline, an arrow — so that what the picture shows of the phenomenon is a statement made afterwards, not a thing the camera recorded.",
                        "type": "boolean"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "opacity": {
                    "anyOf": [
                      {
                        "description": "How much of it shows, 0 to 1 — the starting point of the reader's own slider, since the comparison is made by sliding: all picture, all render, and the registration checked at every step between.",
                        "type": "number"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "registration": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "headingDeg": {
                            "anyOf": [
                              {
                                "description": "Degrees clockwise from true north, the direction the picture's centre looks at.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "pitchDeg": {
                            "anyOf": [
                              {
                                "description": "Degrees above the local horizontal, positive up.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "rollDeg": {
                            "anyOf": [
                              {
                                "description": "Degrees the picture is tilted about its own axis, positive clockwise as it is looked at — see ObserverPose.rollDeg.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "fovDeg": {
                            "anyOf": [
                              {
                                "description": "The picture's VERTICAL field, degrees — what the lens took in top to bottom, its horizontal field following from the image's own aspect ratio.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "landmarks": {
                    "anyOf": [
                      {
                        "description": "The details it was lined up on — see PictureLandmark.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "anyOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "label": {
                                  "anyOf": [
                                    {
                                      "description": "What the detail is — \"Arbre masquant\", \"barrière\"."
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "picture": {
                                  "anyOf": [
                                    {
                                      "description": "Where it is on the picture, 0..1 from the top-left corner.",
                                      "type": "object",
                                      "properties": {
                                        "u": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "v": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "scene": {
                                  "anyOf": [
                                    {
                                      "description": "Where it is from the observer, in the scene.",
                                      "type": "object",
                                      "properties": {
                                        "azimuthDeg": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeDeg": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              {
                "$ref": "#/$defs/stated"
              }
            ]
          }
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "sources": {
      "anyOf": [
        {
          "description": "Where the account can be read as it was given, each one a source — see RecordingSource.",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "anyOf": [
                      {
                        "enum": [
                          "book",
                          "article"
                        ]
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "title": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "authors": {
                    "anyOf": [
                      {
                        "description": "The author(s) name(s): for a post, the account that posted it.",
                        "type": "array"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "url": {
                    "anyOf": [
                      {
                        "description": "Where it can be read.",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "publication": {
                    "anyOf": [
                      {
                        "description": "Who published it and when (EDTF).",
                        "type": "object",
                        "properties": {
                          "publisher": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "time": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "index": {
                    "anyOf": [
                      {
                        "description": "Chapter, page, etc.",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              {
                "$ref": "#/$defs/stated"
              }
            ]
          }
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "interpretation": {
      "anyOf": [
        {
          "description": "What the observer took it to be, in metres — see InterpretationJson.",
          "type": "object",
          "properties": {
            "title": {
              "anyOf": [
                {
                  "description": "What the claim is, in a few words — \"Craft on its legs\", \"Weather balloon at 3 km\"."
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "bodies": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "title": {
                            "anyOf": [
                              {},
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "explains": {
                            "anyOf": [
                              {
                                "description": "The phenomena of the account (their `sourceId`s) this body claims to be — what its projected outline is measured against at each instant, and what is drawn as a ghost beside it.",
                                "type": "array"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "model": {
                            "anyOf": [
                              {
                                "description": "What it is shaped like.",
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "anyOf": [
                                      {
                                        "description": "Catalogue entry, resolved by the live DecorModelProvider.",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "url": {
                                    "anyOf": [
                                      {
                                        "description": "Direct glTF/GLB address, taking precedence over `id`.",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "headingOffsetDeg": {
                                    "anyOf": [
                                      {
                                        "description": "Degrees to turn the loaded model about its own vertical axis so its nose points the way this scene's heading convention expects (0 faces -Z — see DecorSystem's build).",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "credit": {
                                    "anyOf": [
                                      {
                                        "description": "Who made it and under what licence.",
                                        "type": "object",
                                        "properties": {
                                          "title": {
                                            "anyOf": [
                                              {
                                                "type": "string"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "author": {
                                            "anyOf": [
                                              {
                                                "type": "string"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "license": {
                                            "anyOf": [
                                              {
                                                "description": "Licence name as its author states it, e.g.",
                                                "type": "string"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "sourceUrl": {
                                            "anyOf": [
                                              {
                                                "description": "Where it came from, so the claim can be checked.",
                                                "type": "string"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "modelParameters": {
                            "anyOf": [
                              {
                                "description": "The settings of its model, by the key the model publishes them under (see ModelParameters.parameters): the colour of a sky lantern's paper, say.",
                                "type": "object"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "altitudeFrom": {
                            "anyOf": [
                              {
                                "description": "The point of the ground its keyframes' `altitudeM` are counted from, metres east and north of the recording's origin, instead of the ground at that origin: a sky lantern let go from a lawn fifteen metres off starts on that lawn, whatever the relief makes of it.",
                                "type": "object",
                                "properties": {
                                  "eastM": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "northM": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "flicker": {
                            "anyOf": [
                              {
                                "description": "How much its light wavers, as a flame's does, as a share of it: 0.15 has it go some 15 % above and below what its track states, a few times a second, alike every time the recording is played.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "withObserver": {
                            "anyOf": [
                              {
                                "description": "Whether the observer carries it: its keyframes, stated FROM THE OBSERVER, are offsets from their eye that go with the eye, instead of points of the world fixed where the eye was at each keyframe's instant.",
                                "type": "boolean"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "outlineNode": {
                            "anyOf": [
                              {
                                "description": "The node of the model that IS what the observer drew — \"hull\" for a craft on legs the observer drew as an oval — and so what its outline is measured by (see BodyConfrontation).",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "track": {
                            "anyOf": [
                              {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "t": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "eastM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "northM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "saidPosition": {
                                          "anyOf": [
                                            {
                                              "description": "How `eastM`/`northM` were said, when not as metres from the observer: from a decor object, or as degrees (see SaidPosition).",
                                              "type": "object",
                                              "properties": {
                                                "relativeTo": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The id of the element it is said from; absent, the observer.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "eastM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "northM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lat": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lng": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "azimuthDeg": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeDeg": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "distanceM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "onGround": {
                                          "anyOf": [
                                            {
                                              "description": "Standing on the ground.",
                                              "type": "boolean"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "present": {
                                          "anyOf": [
                                            {
                                              "description": "Gone from here on — `false` — or back — `true`.",
                                              "type": "boolean"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeAboveGroundM": {
                                          "anyOf": [
                                            {
                                              "description": "Metres between the ground under it and its lowest point.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeM": {
                                          "anyOf": [
                                            {
                                              "description": "Metres between its lowest point and the ground at the recording's own origin (where the observer stands at the start) — a height in the air that does NOT follow what is under the body.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "sizeM": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "properties": {
                                                "widthM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lengthM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "heightM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "attitude": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "properties": {
                                                "headingDeg": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "pitchDeg": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "rollDeg": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "appearance": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "properties": {
                                                "color": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Its surface colour, CSS.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "albedo": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How much of the light falling on it it sends back, 0-1: aluminium ~0.7, a matt dark hull ~0.1.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "luminanceCdM2": {
                                                  "anyOf": [
                                                    {
                                                      "description": "What it gives out of itself, candela per square metre — read through the scene's own photometry exactly as a flame's is (see BodyFlame), so that the same figure is a lamp at night and nothing at all against a noon sky.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "transparency": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How much of what is behind it shows through, 0 (opaque, the default) to 1 (gone): the same statement a drawn shape's transparency makes, for a body of the scene.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "haloScale": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How far the glare it throws round itself reaches, as a multiple of what its light gives (1, the default): 0 puts the glare out, 2 doubles its width.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "flame": {
                                          "anyOf": [
                                            {
                                              "description": "A flame coming out of it, from here on — see BodyFlame.",
                                              "type": "object",
                                              "properties": {
                                                "node": {
                                                  "anyOf": [
                                                    {
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lengthM": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How far it reaches from the node, metres.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "widthM": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How wide it is at its widest, metres.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "color": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Its colour where it leaves the node, CSS.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "tipColor": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Its colour at its far end; the same as `color` when absent.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "luminanceCdM2": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "raisesDust": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Whether it raises dust where it meets the ground — a flame reaching loose, dry soil does, the more the nearer it gets.",
                                                      "type": "boolean"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "motions": {
                                          "anyOf": [
                                            {
                                              "description": "How far along each of its model's own movements it is, by the movement's name in the model (a glTF animation): 0 at its start, 1 at its end, and on past 1 for one that repeats — a turn made three times is 3.",
                                              "type": "object"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lights": {
                                          "anyOf": [
                                            {
                                              "description": "The luminance of each of its model's own lights, cd/m², by the name of the light's material in the model: what lets one body carry lights that behave each their own way — a steady white at each end, a red one flashing between.",
                                              "type": "object"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "sound": {
                            "anyOf": [
                              {
                                "description": "What it sounds like: heard from where the observer stands, late by the time sound takes to come, shifted in pitch as it comes and goes, and masked by the noise of the place (see BodyHearing).",
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "anyOf": [
                                      {
                                        "enum": [
                                          "unknown",
                                          "airliner-narrow",
                                          "airliner-wide",
                                          "regional-turboprop",
                                          "regional-jet",
                                          "business-jet",
                                          "light-piston",
                                          "turboprop-light",
                                          "helicopter-light",
                                          "helicopter-medium",
                                          "helicopter-heavy",
                                          "military-jet",
                                          "glider",
                                          "balloon",
                                          "ultralight",
                                          "unmanned"
                                        ]
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "quieterDb": {
                                    "anyOf": [
                                      {
                                        "description": "Decibels less than the class's own sound power, across its spectrum.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "smoke": {
              "anyOf": [
                {
                  "description": "Fires the interpretation lights on the ground, as their smoke — see SmokeSource.",
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "eastM": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "northM": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "fromT": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "untilT": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "halfLifeS": {
                            "anyOf": [
                              {
                                "description": "How fast it dies down, seconds to half its thickness — brush flares and smoulders.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "flares": {
              "anyOf": [
                {
                  "description": "Salvoes of decoy flares an aircraft dispensed, computed into bodies when shown — see FlareSalvoJson.",
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "title": {
                            "anyOf": [
                              {},
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "aircraft": {
                            "anyOf": [
                              {
                                "description": "The aircraft at one instant of the recording, flying straight and level from there on (and before).",
                                "type": "object",
                                "properties": {
                                  "t": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "eastM": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "northM": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "altitudeM": {
                                    "anyOf": [
                                      {
                                        "description": "Metres above the ground at the recording's origin — see BodyKeyframe.altitudeM.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "headingDeg": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "speedMS": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "originElevationM": {
                                    "anyOf": [
                                      {
                                        "description": "Its height above sea level at `t` would be this plus `altitudeM`: what sets how thick the air braking the flares is.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "model": {
                                    "anyOf": [
                                      {
                                        "description": "Drawn when given (a catalogue model or a primitive), dark and unlit as a fighter in an exercise often is.",
                                        "type": "object",
                                        "properties": {
                                          "id": {
                                            "anyOf": [
                                              {
                                                "description": "Catalogue entry, resolved by the live DecorModelProvider.",
                                                "type": "string"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "url": {
                                            "anyOf": [
                                              {
                                                "description": "Direct glTF/GLB address, taking precedence over `id`.",
                                                "type": "string"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "headingOffsetDeg": {
                                            "anyOf": [
                                              {
                                                "description": "Degrees to turn the loaded model about its own vertical axis so its nose points the way this scene's heading convention expects (0 faces -Z — see DecorSystem's build).",
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "credit": {
                                            "anyOf": [
                                              {
                                                "description": "Who made it and under what licence.",
                                                "type": "object",
                                                "properties": {
                                                  "title": {
                                                    "anyOf": [
                                                      {
                                                        "type": "string"
                                                      },
                                                      {
                                                        "$ref": "#/$defs/stated"
                                                      }
                                                    ]
                                                  },
                                                  "author": {
                                                    "anyOf": [
                                                      {
                                                        "type": "string"
                                                      },
                                                      {
                                                        "$ref": "#/$defs/stated"
                                                      }
                                                    ]
                                                  },
                                                  "license": {
                                                    "anyOf": [
                                                      {
                                                        "description": "Licence name as its author states it, e.g.",
                                                        "type": "string"
                                                      },
                                                      {
                                                        "$ref": "#/$defs/stated"
                                                      }
                                                    ]
                                                  },
                                                  "sourceUrl": {
                                                    "anyOf": [
                                                      {
                                                        "description": "Where it came from, so the claim can be checked.",
                                                        "type": "string"
                                                      },
                                                      {
                                                        "$ref": "#/$defs/stated"
                                                      }
                                                    ]
                                                  }
                                                },
                                                "additionalProperties": false
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "sizeM": {
                                    "anyOf": [
                                      {
                                        "type": "object",
                                        "properties": {
                                          "widthM": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "lengthM": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "heightM": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "glow": {
                                    "anyOf": [
                                      {
                                        "description": "A light it gives off as it flies — its afterburner — which an observer may have taken for a phenomenon of its own.",
                                        "type": "object",
                                        "properties": {
                                          "explains": {
                                            "anyOf": [
                                              {
                                                "description": "The phenomena of the account it claims to be — see BodyJson.explains.",
                                                "type": "array"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "sizeM": {
                                            "anyOf": [
                                              {
                                                "description": "How wide it looks, m.",
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "luminousIntensityCd": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "color": {
                                            "anyOf": [
                                              {
                                                "type": "string"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "fromT": {
                                            "anyOf": [
                                              {
                                                "description": "Ms of the recording.",
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "untilT": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "onS": {
                                            "anyOf": [
                                              {
                                                "description": "Seconds lit, then seconds out, repeated from `fromT`; always lit when absent.",
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "offS": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "sound": {
                                    "anyOf": [
                                      {
                                        "description": "What it sounds like (see BodySound): heard from the two minutes before the recording on, as its sound takes that long to come from afar.",
                                        "type": "object",
                                        "properties": {
                                          "kind": {
                                            "anyOf": [
                                              {
                                                "enum": [
                                                  "unknown",
                                                  "airliner-narrow",
                                                  "airliner-wide",
                                                  "regional-turboprop",
                                                  "regional-jet",
                                                  "business-jet",
                                                  "light-piston",
                                                  "turboprop-light",
                                                  "helicopter-light",
                                                  "helicopter-medium",
                                                  "helicopter-heavy",
                                                  "military-jet",
                                                  "glider",
                                                  "balloon",
                                                  "ultralight",
                                                  "unmanned"
                                                ]
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "quieterDb": {
                                            "anyOf": [
                                              {
                                                "description": "Decibels less than the class's own sound power, across its spectrum.",
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "releases": {
                            "anyOf": [
                              {
                                "description": "When each flare leaves it, and which phenomena of the account it claims to be.",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "t": {
                                          "anyOf": [
                                            {
                                              "description": "Ms of the recording.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "explains": {
                                          "anyOf": [
                                            {
                                              "description": "The phenomena of the account this flare claims to be — see BodyJson.explains.",
                                              "type": "array"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "flare": {
                            "anyOf": [
                              {
                                "description": "The flare dispensed: an MJU-7 when absent (see DecoyFlare.MJU_7).",
                                "type": "object",
                                "properties": {
                                  "massKg": {
                                    "anyOf": [
                                      {
                                        "description": "Mass at ejection, kg.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "burnedKg": {
                                    "anyOf": [
                                      {
                                        "description": "Mass burned away by burnout, kg.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "dragAreaM2": {
                                    "anyOf": [
                                      {
                                        "description": "Drag coefficient times reference area, m²: how hard the air brakes it.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "ejectionMS": {
                                    "anyOf": [
                                      {
                                        "description": "The dispenser's kick, m/s, straight down out of the aircraft.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "burnS": {
                                    "anyOf": [
                                      {
                                        "description": "How long it burns, s.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "luminousIntensityCd": {
                                    "anyOf": [
                                      {
                                        "description": "Its luminous intensity at full burn, candela, in the visible: what the eye gets of it.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "flameSizeM": {
                                    "anyOf": [
                                      {
                                        "description": "How wide its burning plume looks, m: the size of the glowing sphere drawn.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "color": {
                                    "anyOf": [
                                      {
                                        "description": "The colour of its light, CSS.",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "wind": {
                            "anyOf": [
                              {
                                "description": "The wind at the flares' height: where it blows TOWARDS, degrees, and its speed.",
                                "type": "object",
                                "properties": {
                                  "towardDeg": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "speedMS": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "lanterns": {
              "anyOf": [
                {
                  "description": "Sky lanterns let go from the ground, computed into bodies when shown — see LanternLaunchJson.",
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "title": {
                            "anyOf": [
                              {},
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "site": {
                            "anyOf": [
                              {
                                "description": "Where they are let go, in the recording's own frame (see BodyKeyframe).",
                                "type": "object",
                                "properties": {
                                  "eastM": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "northM": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "saidPosition": {
                                    "anyOf": [
                                      {
                                        "description": "How it was said, when not as metres from the observer (see SaidPosition).",
                                        "type": "object",
                                        "properties": {
                                          "relativeTo": {
                                            "anyOf": [
                                              {
                                                "description": "The id of the element it is said from; absent, the observer.",
                                                "type": "string"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "eastM": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "northM": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "lat": {
                                            "anyOf": [
                                              {},
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "lng": {
                                            "anyOf": [
                                              {},
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "altitudeM": {
                                    "anyOf": [
                                      {
                                        "description": "Metres between where they are let go and the ground at the recording's origin.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "originElevationM": {
                                    "anyOf": [
                                      {
                                        "description": "The height above sea level of the ground at the recording's origin, m: what sets how thin the air they climb into is.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "releases": {
                            "anyOf": [
                              {
                                "description": "Each lantern let go, stated one by one.",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "t": {
                                          "anyOf": [
                                            {
                                              "description": "Ms of the recording.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "explains": {
                                          "anyOf": [
                                            {
                                              "description": "The phenomena of the account this lantern claims to be — see BodyJson.explains.",
                                              "type": "array"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "eastM": {
                                          "anyOf": [
                                            {
                                              "description": "Metres east and north of the site it is let go from: a crowd lets them go a few metres apart.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "northM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeM": {
                                          "anyOf": [
                                            {
                                              "description": "Metres above the ground at the recording's origin it starts from, instead of the site's: for a lantern the account only has from where it was first seen, already up, rather than from where it was let go.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "burnedS": {
                                          "anyOf": [
                                            {
                                              "description": "How long it had burned already at `t`, s: one first seen in the air has not got its whole burn ahead of it.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lantern": {
                                          "anyOf": [
                                            {
                                              "description": "What this one has of its own: no two fuel cells burn alike, nor do two envelopes hold their air alike.",
                                              "type": "object",
                                              "properties": {
                                                "envelopeVolumeM3": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How much air its envelope holds, m³.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "massKg": {
                                                  "anyOf": [
                                                    {
                                                      "description": "What it weighs when let go — paper, frame and fuel cell — kg.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "fuelKg": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The mass of fuel it burns away by the time it goes out, kg.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "burnS": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How long it burns from when it is let go, s.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "insideExcessK": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How much hotter than the air round it the air in its envelope is while its fuel burns fully, K.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "dragAreaM2": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Drag coefficient times reference area, m²: how hard the air brakes it.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "luminousIntensityCd": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Its luminous intensity at full burn, candela: the flame's light through the paper.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "widthM": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How wide and how tall its envelope is, m: the size of the glowing body drawn.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "heightM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "color": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The colour of its flame's light through white paper, CSS: what its paper's colour then tints (see paperColor).",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "shape": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Its shape (see public/models/ufoathome-sky-lantern-*): \"classic\", round at its mouth and square at its flat top, or \"balloon\", narrow at its mouth and swelling to a wide, lobed top.",
                                                      "enum": [
                                                        "balloon",
                                                        "classic"
                                                      ]
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "paperColor": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The colour of its paper, CSS: what it looks like by day, and what tints its light by night.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "seed": {
                                          "anyOf": [
                                            {
                                              "description": "What the gusts it meets are drawn from (see LanternTurbulence): drawn from the group's seed for a group, from when and where it is let go when absent.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "group": {
                            "anyOf": [
                              {
                                "description": "Lanterns let go as a group, of which only how many, over what span and how unlike each other is stated (see LanternGroup); added to `releases`.",
                                "type": "object",
                                "properties": {
                                  "count": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "fromT": {
                                    "anyOf": [
                                      {
                                        "description": "Ms of the recording between which they are let go, spread evenly with a jitter of half the interval.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "untilT": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "radiusM": {
                                    "anyOf": [
                                      {
                                        "description": "How far round the site each is let go from, m.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "burnS": {
                                    "anyOf": [
                                      {
                                        "description": "How long each burns from when it is let go, s, drawn between the two.",
                                        "type": "object",
                                        "properties": {
                                          "min": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "max": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "insideExcessK": {
                                    "anyOf": [
                                      {
                                        "description": "How much hotter than the air its air is at full burn, K, drawn between the two: what sets how fast it climbs, and so how high it gets.",
                                        "type": "object",
                                        "properties": {
                                          "min": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "max": {
                                            "anyOf": [
                                              {
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "burnedS": {
                                    "anyOf": [
                                      {
                                        "description": "How long each had burned already when let go, or seen first (see LanternRelease.burnedS).",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "explains": {
                                    "anyOf": [
                                      {
                                        "description": "The phenomena of the account the group claims to be — see BodyJson.explains.",
                                        "type": "array"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "seed": {
                                    "anyOf": [
                                      {
                                        "description": "What the draws start from.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "lantern": {
                            "anyOf": [
                              {
                                "description": "The lantern let go: a common 1 m one when absent (see SkyLantern.COMMON).",
                                "type": "object",
                                "properties": {
                                  "envelopeVolumeM3": {
                                    "anyOf": [
                                      {
                                        "description": "How much air its envelope holds, m³.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "massKg": {
                                    "anyOf": [
                                      {
                                        "description": "What it weighs when let go — paper, frame and fuel cell — kg.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "fuelKg": {
                                    "anyOf": [
                                      {
                                        "description": "The mass of fuel it burns away by the time it goes out, kg.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "burnS": {
                                    "anyOf": [
                                      {
                                        "description": "How long it burns from when it is let go, s.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "insideExcessK": {
                                    "anyOf": [
                                      {
                                        "description": "How much hotter than the air round it the air in its envelope is while its fuel burns fully, K.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "dragAreaM2": {
                                    "anyOf": [
                                      {
                                        "description": "Drag coefficient times reference area, m²: how hard the air brakes it.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "luminousIntensityCd": {
                                    "anyOf": [
                                      {
                                        "description": "Its luminous intensity at full burn, candela: the flame's light through the paper.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "widthM": {
                                    "anyOf": [
                                      {
                                        "description": "How wide and how tall its envelope is, m: the size of the glowing body drawn.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "heightM": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "color": {
                                    "anyOf": [
                                      {
                                        "description": "The colour of its flame's light through white paper, CSS: what its paper's colour then tints (see paperColor).",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "shape": {
                                    "anyOf": [
                                      {
                                        "description": "Its shape (see public/models/ufoathome-sky-lantern-*): \"classic\", round at its mouth and square at its flat top, or \"balloon\", narrow at its mouth and swelling to a wide, lobed top.",
                                        "enum": [
                                          "balloon",
                                          "classic"
                                        ]
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "paperColor": {
                                    "anyOf": [
                                      {
                                        "description": "The colour of its paper, CSS: what it looks like by day, and what tints its light by night.",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "wind": {
                            "anyOf": [
                              {
                                "description": "The wind at the ground: where it blows TOWARDS, degrees, and its speed.",
                                "type": "object",
                                "properties": {
                                  "towardDeg": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "speedMS": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "windAloft": {
                            "anyOf": [
                              {
                                "description": "The wind higher up, at `atM` metres above the site, blended with `wind` in between and held above: what makes lanterns let go at the same spot part ways as they climb at different rates."
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "airTemperatureC": {
                            "anyOf": [
                              {
                                "description": "The air temperature at the site, °C, falling by 6.5 °C per kilometre above it: what the lanterns' hot air is lighter than.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "turbulence": {
                            "anyOf": [
                              {
                                "description": "The gusts and eddies of the air, each lantern meeting its own: what scatters a group let go at one spot (see LanternTurbulence).",
                                "type": "object",
                                "properties": {
                                  "horizontalMS": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "verticalMS": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "timescaleS": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "variant": {
              "anyOf": [
                {
                  "description": "When this interpretation is a VARIANT of the account: what the observer would have to have erred by for the account to be a misperception of a candidate, as the candidate search found it (see CandidateSearch, docs/witness-error-model.md).",
                  "type": "object",
                  "properties": {
                    "candidate": {
                      "anyOf": [
                        {
                          "description": "Which candidate: a body of the sky (\"Venus\"), a satellite, a re-entry, an aircraft, or another interpretation.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "label": {
                      "anyOf": [
                        {
                          "description": "What the candidate is called, as it was when the variant was kept.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "phenomenon": {
                      "anyOf": [
                        {
                          "description": "The known phenomenon of Poher's matrix it is an instance of, when it is one.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "parameters": {
                      "anyOf": [
                        {
                          "description": "The witness parameters applied: a clock offset in minutes, a rotation of the heading in degrees, factors on elevation and size.",
                          "type": "object",
                          "properties": {
                            "clockMinutes": {
                              "anyOf": [
                                {
                                  "type": "number"
                                },
                                {
                                  "$ref": "#/$defs/stated"
                                }
                              ]
                            },
                            "headingDeg": {
                              "anyOf": [
                                {
                                  "type": "number"
                                },
                                {
                                  "$ref": "#/$defs/stated"
                                }
                              ]
                            },
                            "elevationFactor": {
                              "anyOf": [
                                {
                                  "type": "number"
                                },
                                {
                                  "$ref": "#/$defs/stated"
                                }
                              ]
                            },
                            "sizeFactor": {
                              "anyOf": [
                                {
                                  "type": "number"
                                },
                                {
                                  "$ref": "#/$defs/stated"
                                }
                              ]
                            },
                            "durationFactor": {
                              "anyOf": [
                                {
                                  "type": "number"
                                },
                                {
                                  "$ref": "#/$defs/stated"
                                }
                              ]
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "moved": {
                      "anyOf": [
                        {
                          "description": "The values it moves: what the account says, what the variant reads, the bias and its status.",
                          "type": "array",
                          "items": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "field": {
                                    "anyOf": [
                                      {
                                        "enum": [
                                          "time",
                                          "heading",
                                          "elevation",
                                          "size",
                                          "duration",
                                          "sweep"
                                        ]
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "stated": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "variant": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "parameter": {
                                    "anyOf": [
                                      {
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "amount": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "z": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "status": {
                                    "anyOf": [
                                      {
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "readings": {
                      "anyOf": [
                        {
                          "description": "The structural readings it uses (see CandidateSearch's StructuralReading), each with what the studies say of it.",
                          "type": "array",
                          "items": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "reading": {
                                    "anyOf": [
                                      {
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "status": {
                                    "anyOf": [
                                      {
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "cost": {
                      "anyOf": [
                        {
                          "description": "What it costs, in units of the laws' spread (σ), and the verdict it got.",
                          "type": "number"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "verdict": {
                      "anyOf": [
                        {
                          "enum": [
                            "consolidated",
                            "contested",
                            "incompatible"
                          ]
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "modelId": {
                      "anyOf": [
                        {
                          "description": "The error model it was computed with (see WitnessError.MODELS).",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "variants": {
      "anyOf": [
        {
          "description": "The variants of the account that were kept: each an interpretation saying what the observer would have erred by for it to be a misperception of a candidate (see InterpretationJson.variant).",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "title": {
                    "anyOf": [
                      {
                        "description": "What the claim is, in a few words — \"Craft on its legs\", \"Weather balloon at 3 km\"."
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "bodies": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "anyOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "title": {
                                  "anyOf": [
                                    {},
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "explains": {
                                  "anyOf": [
                                    {
                                      "description": "The phenomena of the account (their `sourceId`s) this body claims to be — what its projected outline is measured against at each instant, and what is drawn as a ghost beside it.",
                                      "type": "array"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "model": {
                                  "anyOf": [
                                    {
                                      "description": "What it is shaped like.",
                                      "type": "object",
                                      "properties": {
                                        "id": {
                                          "anyOf": [
                                            {
                                              "description": "Catalogue entry, resolved by the live DecorModelProvider.",
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "url": {
                                          "anyOf": [
                                            {
                                              "description": "Direct glTF/GLB address, taking precedence over `id`.",
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "headingOffsetDeg": {
                                          "anyOf": [
                                            {
                                              "description": "Degrees to turn the loaded model about its own vertical axis so its nose points the way this scene's heading convention expects (0 faces -Z — see DecorSystem's build).",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "credit": {
                                          "anyOf": [
                                            {
                                              "description": "Who made it and under what licence.",
                                              "type": "object",
                                              "properties": {
                                                "title": {
                                                  "anyOf": [
                                                    {
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "author": {
                                                  "anyOf": [
                                                    {
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "license": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Licence name as its author states it, e.g.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "sourceUrl": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Where it came from, so the claim can be checked.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "modelParameters": {
                                  "anyOf": [
                                    {
                                      "description": "The settings of its model, by the key the model publishes them under (see ModelParameters.parameters): the colour of a sky lantern's paper, say.",
                                      "type": "object"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "altitudeFrom": {
                                  "anyOf": [
                                    {
                                      "description": "The point of the ground its keyframes' `altitudeM` are counted from, metres east and north of the recording's origin, instead of the ground at that origin: a sky lantern let go from a lawn fifteen metres off starts on that lawn, whatever the relief makes of it.",
                                      "type": "object",
                                      "properties": {
                                        "eastM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "northM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "flicker": {
                                  "anyOf": [
                                    {
                                      "description": "How much its light wavers, as a flame's does, as a share of it: 0.15 has it go some 15 % above and below what its track states, a few times a second, alike every time the recording is played.",
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "withObserver": {
                                  "anyOf": [
                                    {
                                      "description": "Whether the observer carries it: its keyframes, stated FROM THE OBSERVER, are offsets from their eye that go with the eye, instead of points of the world fixed where the eye was at each keyframe's instant.",
                                      "type": "boolean"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "outlineNode": {
                                  "anyOf": [
                                    {
                                      "description": "The node of the model that IS what the observer drew — \"hull\" for a craft on legs the observer drew as an oval — and so what its outline is measured by (see BodyConfrontation).",
                                      "type": "string"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "track": {
                                  "anyOf": [
                                    {
                                      "type": "array",
                                      "items": {
                                        "anyOf": [
                                          {
                                            "type": "object",
                                            "properties": {
                                              "t": {
                                                "anyOf": [
                                                  {
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "eastM": {
                                                "anyOf": [
                                                  {
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "northM": {
                                                "anyOf": [
                                                  {
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "saidPosition": {
                                                "anyOf": [
                                                  {
                                                    "description": "How `eastM`/`northM` were said, when not as metres from the observer: from a decor object, or as degrees (see SaidPosition).",
                                                    "type": "object",
                                                    "properties": {
                                                      "relativeTo": {
                                                        "anyOf": [
                                                          {
                                                            "description": "The id of the element it is said from; absent, the observer.",
                                                            "type": "string"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "eastM": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "northM": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "lat": {
                                                        "anyOf": [
                                                          {},
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "lng": {
                                                        "anyOf": [
                                                          {},
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    "additionalProperties": false
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "azimuthDeg": {
                                                "anyOf": [
                                                  {
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "altitudeDeg": {
                                                "anyOf": [
                                                  {
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "distanceM": {
                                                "anyOf": [
                                                  {
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "onGround": {
                                                "anyOf": [
                                                  {
                                                    "description": "Standing on the ground.",
                                                    "type": "boolean"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "present": {
                                                "anyOf": [
                                                  {
                                                    "description": "Gone from here on — `false` — or back — `true`.",
                                                    "type": "boolean"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "altitudeAboveGroundM": {
                                                "anyOf": [
                                                  {
                                                    "description": "Metres between the ground under it and its lowest point.",
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "altitudeM": {
                                                "anyOf": [
                                                  {
                                                    "description": "Metres between its lowest point and the ground at the recording's own origin (where the observer stands at the start) — a height in the air that does NOT follow what is under the body.",
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "sizeM": {
                                                "anyOf": [
                                                  {
                                                    "type": "object",
                                                    "properties": {
                                                      "widthM": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "lengthM": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "heightM": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    "additionalProperties": false
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "attitude": {
                                                "anyOf": [
                                                  {
                                                    "type": "object",
                                                    "properties": {
                                                      "headingDeg": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "pitchDeg": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "rollDeg": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    "additionalProperties": false
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "appearance": {
                                                "anyOf": [
                                                  {
                                                    "type": "object",
                                                    "properties": {
                                                      "color": {
                                                        "anyOf": [
                                                          {
                                                            "description": "Its surface colour, CSS.",
                                                            "type": "string"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "albedo": {
                                                        "anyOf": [
                                                          {
                                                            "description": "How much of the light falling on it it sends back, 0-1: aluminium ~0.7, a matt dark hull ~0.1.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "luminanceCdM2": {
                                                        "anyOf": [
                                                          {
                                                            "description": "What it gives out of itself, candela per square metre — read through the scene's own photometry exactly as a flame's is (see BodyFlame), so that the same figure is a lamp at night and nothing at all against a noon sky.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "transparency": {
                                                        "anyOf": [
                                                          {
                                                            "description": "How much of what is behind it shows through, 0 (opaque, the default) to 1 (gone): the same statement a drawn shape's transparency makes, for a body of the scene.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "haloScale": {
                                                        "anyOf": [
                                                          {
                                                            "description": "How far the glare it throws round itself reaches, as a multiple of what its light gives (1, the default): 0 puts the glare out, 2 doubles its width.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    "additionalProperties": false
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "flame": {
                                                "anyOf": [
                                                  {
                                                    "description": "A flame coming out of it, from here on — see BodyFlame.",
                                                    "type": "object",
                                                    "properties": {
                                                      "node": {
                                                        "anyOf": [
                                                          {
                                                            "type": "string"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "lengthM": {
                                                        "anyOf": [
                                                          {
                                                            "description": "How far it reaches from the node, metres.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "widthM": {
                                                        "anyOf": [
                                                          {
                                                            "description": "How wide it is at its widest, metres.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "color": {
                                                        "anyOf": [
                                                          {
                                                            "description": "Its colour where it leaves the node, CSS.",
                                                            "type": "string"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "tipColor": {
                                                        "anyOf": [
                                                          {
                                                            "description": "Its colour at its far end; the same as `color` when absent.",
                                                            "type": "string"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "luminanceCdM2": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "raisesDust": {
                                                        "anyOf": [
                                                          {
                                                            "description": "Whether it raises dust where it meets the ground — a flame reaching loose, dry soil does, the more the nearer it gets.",
                                                            "type": "boolean"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    "additionalProperties": false
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "motions": {
                                                "anyOf": [
                                                  {
                                                    "description": "How far along each of its model's own movements it is, by the movement's name in the model (a glTF animation): 0 at its start, 1 at its end, and on past 1 for one that repeats — a turn made three times is 3.",
                                                    "type": "object"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "lights": {
                                                "anyOf": [
                                                  {
                                                    "description": "The luminance of each of its model's own lights, cd/m², by the name of the light's material in the model: what lets one body carry lights that behave each their own way — a steady white at each end, a red one flashing between.",
                                                    "type": "object"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              }
                                            },
                                            "additionalProperties": false
                                          },
                                          {
                                            "$ref": "#/$defs/stated"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "sound": {
                                  "anyOf": [
                                    {
                                      "description": "What it sounds like: heard from where the observer stands, late by the time sound takes to come, shifted in pitch as it comes and goes, and masked by the noise of the place (see BodyHearing).",
                                      "type": "object",
                                      "properties": {
                                        "kind": {
                                          "anyOf": [
                                            {
                                              "enum": [
                                                "unknown",
                                                "airliner-narrow",
                                                "airliner-wide",
                                                "regional-turboprop",
                                                "regional-jet",
                                                "business-jet",
                                                "light-piston",
                                                "turboprop-light",
                                                "helicopter-light",
                                                "helicopter-medium",
                                                "helicopter-heavy",
                                                "military-jet",
                                                "glider",
                                                "balloon",
                                                "ultralight",
                                                "unmanned"
                                              ]
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "quieterDb": {
                                          "anyOf": [
                                            {
                                              "description": "Decibels less than the class's own sound power, across its spectrum.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "smoke": {
                    "anyOf": [
                      {
                        "description": "Fires the interpretation lights on the ground, as their smoke — see SmokeSource.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "eastM": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "northM": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "fromT": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "untilT": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "halfLifeS": {
                                  "anyOf": [
                                    {
                                      "description": "How fast it dies down, seconds to half its thickness — brush flares and smoulders.",
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "flares": {
                    "anyOf": [
                      {
                        "description": "Salvoes of decoy flares an aircraft dispensed, computed into bodies when shown — see FlareSalvoJson.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "anyOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "title": {
                                  "anyOf": [
                                    {},
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "aircraft": {
                                  "anyOf": [
                                    {
                                      "description": "The aircraft at one instant of the recording, flying straight and level from there on (and before).",
                                      "type": "object",
                                      "properties": {
                                        "t": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "eastM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "northM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeM": {
                                          "anyOf": [
                                            {
                                              "description": "Metres above the ground at the recording's origin — see BodyKeyframe.altitudeM.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "headingDeg": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "speedMS": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "originElevationM": {
                                          "anyOf": [
                                            {
                                              "description": "Its height above sea level at `t` would be this plus `altitudeM`: what sets how thick the air braking the flares is.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "model": {
                                          "anyOf": [
                                            {
                                              "description": "Drawn when given (a catalogue model or a primitive), dark and unlit as a fighter in an exercise often is.",
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Catalogue entry, resolved by the live DecorModelProvider.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "url": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Direct glTF/GLB address, taking precedence over `id`.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "headingOffsetDeg": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Degrees to turn the loaded model about its own vertical axis so its nose points the way this scene's heading convention expects (0 faces -Z — see DecorSystem's build).",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "credit": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Who made it and under what licence.",
                                                      "type": "object",
                                                      "properties": {
                                                        "title": {
                                                          "anyOf": [
                                                            {
                                                              "type": "string"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        },
                                                        "author": {
                                                          "anyOf": [
                                                            {
                                                              "type": "string"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        },
                                                        "license": {
                                                          "anyOf": [
                                                            {
                                                              "description": "Licence name as its author states it, e.g.",
                                                              "type": "string"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        },
                                                        "sourceUrl": {
                                                          "anyOf": [
                                                            {
                                                              "description": "Where it came from, so the claim can be checked.",
                                                              "type": "string"
                                                            },
                                                            {
                                                              "$ref": "#/$defs/stated"
                                                            }
                                                          ]
                                                        }
                                                      },
                                                      "additionalProperties": false
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "sizeM": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "properties": {
                                                "widthM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lengthM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "heightM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "glow": {
                                          "anyOf": [
                                            {
                                              "description": "A light it gives off as it flies — its afterburner — which an observer may have taken for a phenomenon of its own.",
                                              "type": "object",
                                              "properties": {
                                                "explains": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The phenomena of the account it claims to be — see BodyJson.explains.",
                                                      "type": "array"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "sizeM": {
                                                  "anyOf": [
                                                    {
                                                      "description": "How wide it looks, m.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "luminousIntensityCd": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "color": {
                                                  "anyOf": [
                                                    {
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "fromT": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Ms of the recording.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "untilT": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "onS": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Seconds lit, then seconds out, repeated from `fromT`; always lit when absent.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "offS": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "sound": {
                                          "anyOf": [
                                            {
                                              "description": "What it sounds like (see BodySound): heard from the two minutes before the recording on, as its sound takes that long to come from afar.",
                                              "type": "object",
                                              "properties": {
                                                "kind": {
                                                  "anyOf": [
                                                    {
                                                      "enum": [
                                                        "unknown",
                                                        "airliner-narrow",
                                                        "airliner-wide",
                                                        "regional-turboprop",
                                                        "regional-jet",
                                                        "business-jet",
                                                        "light-piston",
                                                        "turboprop-light",
                                                        "helicopter-light",
                                                        "helicopter-medium",
                                                        "helicopter-heavy",
                                                        "military-jet",
                                                        "glider",
                                                        "balloon",
                                                        "ultralight",
                                                        "unmanned"
                                                      ]
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "quieterDb": {
                                                  "anyOf": [
                                                    {
                                                      "description": "Decibels less than the class's own sound power, across its spectrum.",
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "releases": {
                                  "anyOf": [
                                    {
                                      "description": "When each flare leaves it, and which phenomena of the account it claims to be.",
                                      "type": "array",
                                      "items": {
                                        "anyOf": [
                                          {
                                            "type": "object",
                                            "properties": {
                                              "t": {
                                                "anyOf": [
                                                  {
                                                    "description": "Ms of the recording.",
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "explains": {
                                                "anyOf": [
                                                  {
                                                    "description": "The phenomena of the account this flare claims to be — see BodyJson.explains.",
                                                    "type": "array"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              }
                                            },
                                            "additionalProperties": false
                                          },
                                          {
                                            "$ref": "#/$defs/stated"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "flare": {
                                  "anyOf": [
                                    {
                                      "description": "The flare dispensed: an MJU-7 when absent (see DecoyFlare.MJU_7).",
                                      "type": "object",
                                      "properties": {
                                        "massKg": {
                                          "anyOf": [
                                            {
                                              "description": "Mass at ejection, kg.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "burnedKg": {
                                          "anyOf": [
                                            {
                                              "description": "Mass burned away by burnout, kg.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "dragAreaM2": {
                                          "anyOf": [
                                            {
                                              "description": "Drag coefficient times reference area, m²: how hard the air brakes it.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "ejectionMS": {
                                          "anyOf": [
                                            {
                                              "description": "The dispenser's kick, m/s, straight down out of the aircraft.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "burnS": {
                                          "anyOf": [
                                            {
                                              "description": "How long it burns, s.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "luminousIntensityCd": {
                                          "anyOf": [
                                            {
                                              "description": "Its luminous intensity at full burn, candela, in the visible: what the eye gets of it.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "flameSizeM": {
                                          "anyOf": [
                                            {
                                              "description": "How wide its burning plume looks, m: the size of the glowing sphere drawn.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "color": {
                                          "anyOf": [
                                            {
                                              "description": "The colour of its light, CSS.",
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "wind": {
                                  "anyOf": [
                                    {
                                      "description": "The wind at the flares' height: where it blows TOWARDS, degrees, and its speed.",
                                      "type": "object",
                                      "properties": {
                                        "towardDeg": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "speedMS": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "lanterns": {
                    "anyOf": [
                      {
                        "description": "Sky lanterns let go from the ground, computed into bodies when shown — see LanternLaunchJson.",
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "anyOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "title": {
                                  "anyOf": [
                                    {},
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "site": {
                                  "anyOf": [
                                    {
                                      "description": "Where they are let go, in the recording's own frame (see BodyKeyframe).",
                                      "type": "object",
                                      "properties": {
                                        "eastM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "northM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "saidPosition": {
                                          "anyOf": [
                                            {
                                              "description": "How it was said, when not as metres from the observer (see SaidPosition).",
                                              "type": "object",
                                              "properties": {
                                                "relativeTo": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The id of the element it is said from; absent, the observer.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "eastM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "northM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lat": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lng": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeM": {
                                          "anyOf": [
                                            {
                                              "description": "Metres between where they are let go and the ground at the recording's origin.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "originElevationM": {
                                          "anyOf": [
                                            {
                                              "description": "The height above sea level of the ground at the recording's origin, m: what sets how thin the air they climb into is.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "releases": {
                                  "anyOf": [
                                    {
                                      "description": "Each lantern let go, stated one by one.",
                                      "type": "array",
                                      "items": {
                                        "anyOf": [
                                          {
                                            "type": "object",
                                            "properties": {
                                              "t": {
                                                "anyOf": [
                                                  {
                                                    "description": "Ms of the recording.",
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "explains": {
                                                "anyOf": [
                                                  {
                                                    "description": "The phenomena of the account this lantern claims to be — see BodyJson.explains.",
                                                    "type": "array"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "eastM": {
                                                "anyOf": [
                                                  {
                                                    "description": "Metres east and north of the site it is let go from: a crowd lets them go a few metres apart.",
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "northM": {
                                                "anyOf": [
                                                  {
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "altitudeM": {
                                                "anyOf": [
                                                  {
                                                    "description": "Metres above the ground at the recording's origin it starts from, instead of the site's: for a lantern the account only has from where it was first seen, already up, rather than from where it was let go.",
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "burnedS": {
                                                "anyOf": [
                                                  {
                                                    "description": "How long it had burned already at `t`, s: one first seen in the air has not got its whole burn ahead of it.",
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "lantern": {
                                                "anyOf": [
                                                  {
                                                    "description": "What this one has of its own: no two fuel cells burn alike, nor do two envelopes hold their air alike.",
                                                    "type": "object",
                                                    "properties": {
                                                      "envelopeVolumeM3": {
                                                        "anyOf": [
                                                          {
                                                            "description": "How much air its envelope holds, m³.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "massKg": {
                                                        "anyOf": [
                                                          {
                                                            "description": "What it weighs when let go — paper, frame and fuel cell — kg.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "fuelKg": {
                                                        "anyOf": [
                                                          {
                                                            "description": "The mass of fuel it burns away by the time it goes out, kg.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "burnS": {
                                                        "anyOf": [
                                                          {
                                                            "description": "How long it burns from when it is let go, s.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "insideExcessK": {
                                                        "anyOf": [
                                                          {
                                                            "description": "How much hotter than the air round it the air in its envelope is while its fuel burns fully, K.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "dragAreaM2": {
                                                        "anyOf": [
                                                          {
                                                            "description": "Drag coefficient times reference area, m²: how hard the air brakes it.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "luminousIntensityCd": {
                                                        "anyOf": [
                                                          {
                                                            "description": "Its luminous intensity at full burn, candela: the flame's light through the paper.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "widthM": {
                                                        "anyOf": [
                                                          {
                                                            "description": "How wide and how tall its envelope is, m: the size of the glowing body drawn.",
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "heightM": {
                                                        "anyOf": [
                                                          {
                                                            "type": "number"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "color": {
                                                        "anyOf": [
                                                          {
                                                            "description": "The colour of its flame's light through white paper, CSS: what its paper's colour then tints (see paperColor).",
                                                            "type": "string"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "shape": {
                                                        "anyOf": [
                                                          {
                                                            "description": "Its shape (see public/models/ufoathome-sky-lantern-*): \"classic\", round at its mouth and square at its flat top, or \"balloon\", narrow at its mouth and swelling to a wide, lobed top.",
                                                            "enum": [
                                                              "balloon",
                                                              "classic"
                                                            ]
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      },
                                                      "paperColor": {
                                                        "anyOf": [
                                                          {
                                                            "description": "The colour of its paper, CSS: what it looks like by day, and what tints its light by night.",
                                                            "type": "string"
                                                          },
                                                          {
                                                            "$ref": "#/$defs/stated"
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    "additionalProperties": false
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              },
                                              "seed": {
                                                "anyOf": [
                                                  {
                                                    "description": "What the gusts it meets are drawn from (see LanternTurbulence): drawn from the group's seed for a group, from when and where it is let go when absent.",
                                                    "type": "number"
                                                  },
                                                  {
                                                    "$ref": "#/$defs/stated"
                                                  }
                                                ]
                                              }
                                            },
                                            "additionalProperties": false
                                          },
                                          {
                                            "$ref": "#/$defs/stated"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "group": {
                                  "anyOf": [
                                    {
                                      "description": "Lanterns let go as a group, of which only how many, over what span and how unlike each other is stated (see LanternGroup); added to `releases`.",
                                      "type": "object",
                                      "properties": {
                                        "count": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "fromT": {
                                          "anyOf": [
                                            {
                                              "description": "Ms of the recording between which they are let go, spread evenly with a jitter of half the interval.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "untilT": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "radiusM": {
                                          "anyOf": [
                                            {
                                              "description": "How far round the site each is let go from, m.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "burnS": {
                                          "anyOf": [
                                            {
                                              "description": "How long each burns from when it is let go, s, drawn between the two.",
                                              "type": "object",
                                              "properties": {
                                                "min": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "max": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "insideExcessK": {
                                          "anyOf": [
                                            {
                                              "description": "How much hotter than the air its air is at full burn, K, drawn between the two: what sets how fast it climbs, and so how high it gets.",
                                              "type": "object",
                                              "properties": {
                                                "min": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "max": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "burnedS": {
                                          "anyOf": [
                                            {
                                              "description": "How long each had burned already when let go, or seen first (see LanternRelease.burnedS).",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "explains": {
                                          "anyOf": [
                                            {
                                              "description": "The phenomena of the account the group claims to be — see BodyJson.explains.",
                                              "type": "array"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "seed": {
                                          "anyOf": [
                                            {
                                              "description": "What the draws start from.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "lantern": {
                                  "anyOf": [
                                    {
                                      "description": "The lantern let go: a common 1 m one when absent (see SkyLantern.COMMON).",
                                      "type": "object",
                                      "properties": {
                                        "envelopeVolumeM3": {
                                          "anyOf": [
                                            {
                                              "description": "How much air its envelope holds, m³.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "massKg": {
                                          "anyOf": [
                                            {
                                              "description": "What it weighs when let go — paper, frame and fuel cell — kg.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "fuelKg": {
                                          "anyOf": [
                                            {
                                              "description": "The mass of fuel it burns away by the time it goes out, kg.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "burnS": {
                                          "anyOf": [
                                            {
                                              "description": "How long it burns from when it is let go, s.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "insideExcessK": {
                                          "anyOf": [
                                            {
                                              "description": "How much hotter than the air round it the air in its envelope is while its fuel burns fully, K.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "dragAreaM2": {
                                          "anyOf": [
                                            {
                                              "description": "Drag coefficient times reference area, m²: how hard the air brakes it.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "luminousIntensityCd": {
                                          "anyOf": [
                                            {
                                              "description": "Its luminous intensity at full burn, candela: the flame's light through the paper.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "widthM": {
                                          "anyOf": [
                                            {
                                              "description": "How wide and how tall its envelope is, m: the size of the glowing body drawn.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "heightM": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "color": {
                                          "anyOf": [
                                            {
                                              "description": "The colour of its flame's light through white paper, CSS: what its paper's colour then tints (see paperColor).",
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "shape": {
                                          "anyOf": [
                                            {
                                              "description": "Its shape (see public/models/ufoathome-sky-lantern-*): \"classic\", round at its mouth and square at its flat top, or \"balloon\", narrow at its mouth and swelling to a wide, lobed top.",
                                              "enum": [
                                                "balloon",
                                                "classic"
                                              ]
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "paperColor": {
                                          "anyOf": [
                                            {
                                              "description": "The colour of its paper, CSS: what it looks like by day, and what tints its light by night.",
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "wind": {
                                  "anyOf": [
                                    {
                                      "description": "The wind at the ground: where it blows TOWARDS, degrees, and its speed.",
                                      "type": "object",
                                      "properties": {
                                        "towardDeg": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "speedMS": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "windAloft": {
                                  "anyOf": [
                                    {
                                      "description": "The wind higher up, at `atM` metres above the site, blended with `wind` in between and held above: what makes lanterns let go at the same spot part ways as they climb at different rates."
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "airTemperatureC": {
                                  "anyOf": [
                                    {
                                      "description": "The air temperature at the site, °C, falling by 6.5 °C per kilometre above it: what the lanterns' hot air is lighter than.",
                                      "type": "number"
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                },
                                "turbulence": {
                                  "anyOf": [
                                    {
                                      "description": "The gusts and eddies of the air, each lantern meeting its own: what scatters a group let go at one spot (see LanternTurbulence).",
                                      "type": "object",
                                      "properties": {
                                        "horizontalMS": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "verticalMS": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "timescaleS": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "$ref": "#/$defs/stated"
                            }
                          ]
                        }
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  },
                  "variant": {
                    "anyOf": [
                      {
                        "description": "When this interpretation is a VARIANT of the account: what the observer would have to have erred by for the account to be a misperception of a candidate, as the candidate search found it (see CandidateSearch, docs/witness-error-model.md).",
                        "type": "object",
                        "properties": {
                          "candidate": {
                            "anyOf": [
                              {
                                "description": "Which candidate: a body of the sky (\"Venus\"), a satellite, a re-entry, an aircraft, or another interpretation.",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "label": {
                            "anyOf": [
                              {
                                "description": "What the candidate is called, as it was when the variant was kept.",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "phenomenon": {
                            "anyOf": [
                              {
                                "description": "The known phenomenon of Poher's matrix it is an instance of, when it is one.",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "parameters": {
                            "anyOf": [
                              {
                                "description": "The witness parameters applied: a clock offset in minutes, a rotation of the heading in degrees, factors on elevation and size.",
                                "type": "object",
                                "properties": {
                                  "clockMinutes": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "headingDeg": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "elevationFactor": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "sizeFactor": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "durationFactor": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "moved": {
                            "anyOf": [
                              {
                                "description": "The values it moves: what the account says, what the variant reads, the bias and its status.",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "field": {
                                          "anyOf": [
                                            {
                                              "enum": [
                                                "time",
                                                "heading",
                                                "elevation",
                                                "size",
                                                "duration",
                                                "sweep"
                                              ]
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "stated": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "variant": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "parameter": {
                                          "anyOf": [
                                            {
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "amount": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "z": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "status": {
                                          "anyOf": [
                                            {
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "readings": {
                            "anyOf": [
                              {
                                "description": "The structural readings it uses (see CandidateSearch's StructuralReading), each with what the studies say of it.",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "reading": {
                                          "anyOf": [
                                            {
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "status": {
                                          "anyOf": [
                                            {
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "cost": {
                            "anyOf": [
                              {
                                "description": "What it costs, in units of the laws' spread (σ), and the verdict it got.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "verdict": {
                            "anyOf": [
                              {
                                "enum": [
                                  "consolidated",
                                  "contested",
                                  "incompatible"
                                ]
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "modelId": {
                            "anyOf": [
                              {
                                "description": "The error model it was computed with (see WitnessError.MODELS).",
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              {
                "$ref": "#/$defs/stated"
              }
            ]
          }
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "skyEvents": {
      "anyOf": [
        {
          "description": "What happened in the sky while it runs, as facts (a laser shot, a launch, a re-entry) — see SkyEventsJson.",
          "type": "object",
          "properties": {
            "beams": {
              "anyOf": [
                {
                  "description": "Beams of light sent through the air from the ground: a laser, a searchlight — see BeamJson.",
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "title": {
                            "anyOf": [
                              {},
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "explains": {
                            "anyOf": [
                              {
                                "description": "The phenomena of the account (their `sourceId`s) this beam claims to be — see BodyJson.explains.",
                                "type": "array"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "path": {
                            "anyOf": [
                              {
                                "description": "Where the light goes, in order: where it leaves the emitter, then where it is turned (a mirror) if it is, and where it ends (what it hits, or where it has gone far enough for nothing more of it to matter).",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "lat": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lng": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "saidPosition": {
                                          "anyOf": [
                                            {
                                              "description": "How it was said, when not as degrees (see SaidPosition).",
                                              "type": "object",
                                              "properties": {
                                                "relativeTo": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The id of the element it is said from; absent, the observer.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "eastM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "northM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lat": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lng": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeM": {
                                          "anyOf": [
                                            {
                                              "description": "Altitude above the sea, metres.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "wavelengthNm": {
                            "anyOf": [
                              {
                                "description": "The wavelength of the light, nm: 532 for the green of a frequency-doubled Nd:YAG laser, 520 for a green diode, 638 for a red one.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "powerW": {
                            "anyOf": [
                              {
                                "description": "The optical power it carries, watts: its mean power for a pulsed laser, whose pulses an eye cannot tell apart.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "divergenceMrad": {
                            "anyOf": [
                              {
                                "description": "How fast it widens, milliradians, full angle.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "apertureM": {
                            "anyOf": [
                              {
                                "description": "How wide it leaves the emitter, metres.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "fromT": {
                            "anyOf": [
                              {
                                "description": "When it is on, ms of the recording: from its start and until its end when absent.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "untilT": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "launches": {
              "anyOf": [
                {
                  "description": "Rocket launches, whose exhaust shows lit by a Sun the ground no longer sees — see LaunchJson.",
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "title": {
                            "anyOf": [
                              {},
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "explains": {
                            "anyOf": [
                              {
                                "description": "The phenomena of the account (their `sourceId`s) this launch claims to be — see BodyJson.explains.",
                                "type": "array"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "vehicle": {
                            "anyOf": [
                              {
                                "description": "What flew, as its operator names it.",
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "anyOf": [
                                      {
                                        "description": "\"Falcon 9\".",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "mission": {
                                    "anyOf": [
                                      {
                                        "description": "\"Starlink Group 10-49\".",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "engine": {
                                    "anyOf": [
                                      {
                                        "description": "The engine whose exhaust it is.",
                                        "type": "object",
                                        "properties": {
                                          "thrustKN": {
                                            "anyOf": [
                                              {
                                                "description": "Thrust in vacuum, kN: a Merlin Vacuum's 934, an RL10's 110, a solid booster's thousands.",
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "specificImpulseS": {
                                            "anyOf": [
                                              {
                                                "description": "Specific impulse in vacuum, seconds: 348 for a Merlin Vacuum, 465 for an RL10, 285 for a solid.",
                                                "type": "number"
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          },
                                          "propellant": {
                                            "anyOf": [
                                              {
                                                "enum": [
                                                  "rp1-lox",
                                                  "methane-lox",
                                                  "hydrogen-lox",
                                                  "hypergolic",
                                                  "solid"
                                                ]
                                              },
                                              {
                                                "$ref": "#/$defs/stated"
                                              }
                                            ]
                                          }
                                        },
                                        "additionalProperties": false
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "track": {
                            "anyOf": [
                              {
                                "description": "Where the stage stood at instants of the recording, ms.",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "t": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lat": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lng": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "saidPosition": {
                                          "anyOf": [
                                            {
                                              "description": "How it was said, when not as degrees (see SaidPosition).",
                                              "type": "object",
                                              "properties": {
                                                "relativeTo": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The id of the element it is said from; absent, the observer.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "eastM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "northM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lat": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lng": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeKm": {
                                          "anyOf": [
                                            {
                                              "description": "Height above the ellipsoid, km.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "burnFromT": {
                            "anyOf": [
                              {
                                "description": "When the engine started and stopped, ms of the recording.",
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "burnUntilT": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "plume": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "exhaustKgPerS": {
                                    "anyOf": [
                                      {
                                        "description": "Mass of exhaust leaving the engine, kg per second.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "condensedShare": {
                                    "anyOf": [
                                      {
                                        "description": "The share of that exhaust that ends up as particles that scatter light, 0 to 1.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "particleRadiusUm": {
                                    "anyOf": [
                                      {
                                        "description": "Radius of those particles, micrometres.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "expansionKmPerS": {
                                    "anyOf": [
                                      {
                                        "description": "How fast a puff's radius grows, km per second, from `initialRadiusKm`.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "initialRadiusKm": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "lifetimeS": {
                                    "anyOf": [
                                      {
                                        "description": "How long a puff lasts before the particles have gone, seconds.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "collarShare": {
                                    "anyOf": [
                                      {
                                        "description": "The share of the particles that is the collar: exhaust just let go, which leaves the nozzle at its exhaust velocity (3.4 km/s for a Merlin Vacuum) and, with almost no air to stop it, spreads into a wide, short-lived shell round the stage, where the rest stays behind as the narrow trail.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "collarExpansionKmPerS": {
                                    "anyOf": [
                                      {
                                        "description": "How fast the collar's radius grows, km per second, and how long it lasts, seconds.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "collarLifetimeS": {
                                    "anyOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "jets": {
                            "anyOf": [
                              {
                                "description": "What else the stage lets go, each while some seconds of the recording.",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "id": {
                                          "anyOf": [
                                            {
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "kind": {
                                          "anyOf": [
                                            {
                                              "description": "\"burn\": the engine burns, and what leaves it is its exhaust, with the vehicle's plume (its flow, its velocity, its collar and trail).",
                                              "enum": [
                                                "burn",
                                                "vent"
                                              ]
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "fromT": {
                                          "anyOf": [
                                            {
                                              "description": "When it starts and stops, ms of the recording.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "untilT": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "angleDeg": {
                                          "anyOf": [
                                            {
                                              "description": "Which way it leaves the stage, degrees from straight back along the stage's motion: 0 behind it (an engine pushing it on), 90 sideways, 180 ahead of it (an engine braking it).",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "azimuthDeg": {
                                          "anyOf": [
                                            {
                                              "description": "Round the stage's line of motion, which side it leaves on at the start, degrees from the side facing away from the Earth, towards the right of the motion.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "spinPeriodS": {
                                          "anyOf": [
                                            {
                                              "description": "How long the stage takes to turn once round its line of motion, seconds; the jet turns with it.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "speedKmPerS": {
                                          "anyOf": [
                                            {
                                              "description": "How fast it leaves the stage, km/s.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "massKgPerS": {
                                          "anyOf": [
                                            {
                                              "description": "Mass let go each second, kg.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "condensedShare": {
                                          "anyOf": [
                                            {
                                              "description": "What of it ends up as particles, their size, how fast a puff spreads and how long it lasts: as for the plume.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "particleRadiusUm": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "expansionKmPerS": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "initialRadiusKm": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lifetimeS": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "reentries": {
              "anyOf": [
                {
                  "description": "Re-entries: placed on the Earth, not round the observer — see ReentryJson.",
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "title": {
                            "anyOf": [
                              {},
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "explains": {
                            "anyOf": [
                              {
                                "description": "The phenomena of the account (their `sourceId`s) this re-entry claims to be — see BodyJson.explains.",
                                "type": "array"
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "object": {
                            "anyOf": [
                              {
                                "description": "The object that came down, when it is known — the catalogue says which piece it was.",
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "anyOf": [
                                      {
                                        "description": "Its catalogue name — \"SL-12 R/B\".",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "cosparId": {
                                    "anyOf": [
                                      {
                                        "description": "International designator — \"1968-013C\".",
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  },
                                  "norad": {
                                    "anyOf": [
                                      {
                                        "description": "US Space Surveillance Network catalogue number — 3136.",
                                        "type": "number"
                                      },
                                      {
                                        "$ref": "#/$defs/stated"
                                      }
                                    ]
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "track": {
                            "anyOf": [
                              {
                                "description": "Where the leading point of the break-up was, at instants of the recording.",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "t": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lat": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lng": {
                                          "anyOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "saidPosition": {
                                          "anyOf": [
                                            {
                                              "description": "How it was said, when not as degrees (see SaidPosition).",
                                              "type": "object",
                                              "properties": {
                                                "relativeTo": {
                                                  "anyOf": [
                                                    {
                                                      "description": "The id of the element it is said from; absent, the observer.",
                                                      "type": "string"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "eastM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "northM": {
                                                  "anyOf": [
                                                    {
                                                      "type": "number"
                                                    },
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lat": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                },
                                                "lng": {
                                                  "anyOf": [
                                                    {},
                                                    {
                                                      "$ref": "#/$defs/stated"
                                                    }
                                                  ]
                                                }
                                              },
                                              "additionalProperties": false
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "altitudeKm": {
                                          "anyOf": [
                                            {
                                              "description": "Height above the ellipsoid, km.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          },
                          "fragments": {
                            "anyOf": [
                              {
                                "description": "The pieces seen, each following the same path some seconds behind the leading point.",
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "id": {
                                          "anyOf": [
                                            {
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "lagS": {
                                          "anyOf": [
                                            {
                                              "description": "Seconds behind the leading point, along the same path.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "fromT": {
                                          "anyOf": [
                                            {
                                              "description": "When it is first seen, ms of the recording — when it broke off, or when it began to glow.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "untilT": {
                                          "anyOf": [
                                            {
                                              "description": "When it goes out, ms — burned up, or slowed below glowing.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "absoluteMagnitude": {
                                          "anyOf": [
                                            {
                                              "description": "Its brightness as a magnitude at 100 km — the meteor astronomers' absolute magnitude, which a fireball report gives — from which the brightness at the observer's actual distance follows.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "color": {
                                          "anyOf": [
                                            {
                                              "description": "Its colour, as a CSS hex colour.",
                                              "type": "string"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        },
                                        "trainS": {
                                          "anyOf": [
                                            {
                                              "description": "How long a stretch of its own past path still glows behind it, seconds: the tail observers describe.",
                                              "type": "number"
                                            },
                                            {
                                              "$ref": "#/$defs/stated"
                                            }
                                          ]
                                        }
                                      },
                                      "additionalProperties": false
                                    },
                                    {
                                      "$ref": "#/$defs/stated"
                                    }
                                  ]
                                }
                              },
                              {
                                "$ref": "#/$defs/stated"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/$defs/stated"
                      }
                    ]
                  }
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    },
    "frozen": {
      "anyOf": [
        {
          "description": "Where the data its scene would otherwise ask third parties for is kept, beside this file — see FrozenData.",
          "type": "object",
          "properties": {
            "live": {
              "anyOf": [
                {
                  "description": "Every group asked of its source at every play, and nothing taken at save: off (absent) by default.",
                  "type": "boolean"
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "relief": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "imagery": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "roads": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "water": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "railways": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "upperAir": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "map": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "weather": {
              "anyOf": [
                {
                  "description": "Where the weather is kept, when it is not inside the recording (its `weatherTrack` and `weatherSource`): an annex holding them, read as the recording is loaded (see RecordingSections).",
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "place": {
              "anyOf": [
                {
                  "description": "The place's name and coordinates (`place`), read from the recording's file rather than looked up by a geocoder when present: inside the recording, or in the annex `src` names.",
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "lightPollution": {
              "anyOf": [
                {
                  "description": "The night sky's figure (`lightPollution`), read from the recording's file rather than looked up in the atlas when present: inside the recording, or in the annex `src` names.",
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            },
            "decor": {
              "anyOf": [
                {
                  "description": "The scenery (`decor`), read from the recording's file rather than taken again from a survey of the place as the observer moves, when present: inside the recording, or in the annex `src` names.",
                  "type": "object",
                  "properties": {
                    "src": {
                      "anyOf": [
                        {
                          "description": "The annex holding it, relative to the recording's own file (as a model's `url` is), or a `data:` URL for an annex kept inside the recording itself.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "live": {
                      "anyOf": [
                        {
                          "description": "Asked of its source at every play, and never taken at save: what an author chooses by picking a source rather than the file.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "takenOn": {
                      "anyOf": [
                        {
                          "description": "The day it was taken from its source, YYYY-MM-DD: what the data is a picture of (a road network, a survey) is that day's.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "attribution": {
                      "anyOf": [
                        {
                          "description": "Whom it was taken from, as their licence asks it to be said.",
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    },
                    "refresh": {
                      "anyOf": [
                        {
                          "description": "Asked of its source again, once: the scene does not read the annex, and the editor takes it again at the next save and drops this.",
                          "type": "boolean"
                        },
                        {
                          "$ref": "#/$defs/stated"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/$defs/stated"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/stated"
        }
      ]
    }
  },
  "additionalProperties": false,
  "$defs": {
    "stated": {
      "description": "A value with its provenance beside it: what any field may be written as, in place of the bare value.",
      "type": "object",
      "required": [
        "value"
      ],
      "properties": {
        "value": {},
        "basis": {
          "enum": [
            "stated",
            "derived",
            "assumed"
          ],
          "description": "Absent means stated."
        },
        "rationale": {
          "type": "string",
          "description": "The working for a derivation, or what a guess was chosen for."
        }
      },
      "additionalProperties": false
    }
  }
}
