{
  "title": "foxglove.CompressedPointCloud",
  "description": "A compressed point cloud. A decoder for `format` must decompress `data`, using metadata stored in the compressed payload to recover point positions and any additional per-point attributes. The decoded point cloud must include at least 2 coordinate fields from `x`, `y`, and `z`; `red`, `green`, `blue`, and `alpha` are optional for customizing each point's color.",
  "$comment": "Generated by https://github.com/foxglove/foxglove-sdk",
  "type": "object",
  "properties": {
    "timestamp": {
      "type": "object",
      "title": "time",
      "properties": {
        "sec": {
          "type": "integer",
          "minimum": 0
        },
        "nsec": {
          "type": "integer",
          "minimum": 0,
          "maximum": 999999999
        }
      },
      "description": "Timestamp of point cloud"
    },
    "frame_id": {
      "type": "string",
      "description": "Frame of reference"
    },
    "pose": {
      "title": "foxglove.Pose",
      "description": "The origin of the point cloud relative to the frame of reference",
      "type": "object",
      "properties": {
        "position": {
          "title": "foxglove.Vector3",
          "description": "Point denoting position in 3D space",
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "description": "x component"
            },
            "y": {
              "type": "number",
              "description": "y component"
            },
            "z": {
              "type": "number",
              "description": "z component"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ]
        },
        "orientation": {
          "title": "foxglove.Quaternion",
          "description": "Quaternion denoting orientation in 3D space",
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "description": "x value"
            },
            "y": {
              "type": "number",
              "description": "y value"
            },
            "z": {
              "type": "number",
              "description": "z value"
            },
            "w": {
              "type": "number",
              "description": "w value"
            }
          },
          "required": [
            "x",
            "y",
            "z",
            "w"
          ]
        }
      },
      "required": [
        "position",
        "orientation"
      ]
    },
    "data": {
      "type": "string",
      "contentEncoding": "base64",
      "description": "Compressed point cloud data for exactly one point cloud, including any format-specific metadata needed to describe the decoded point attributes."
    },
    "format": {
      "type": "string",
      "description": "Point cloud compression format.\n\nSupported values: `draco` ([Google Draco](https://google.github.io/draco/))."
    }
  },
  "required": [
    "timestamp",
    "frame_id",
    "pose",
    "data",
    "format"
  ]
}
