{
  "type": "object",
  "required": [
    "surfaceKind",
    "surfaceId",
    "occurrenceId",
    "sourceKind",
    "sourceLanguage",
    "region",
    "hostArtifactKind",
    "hostFilePath",
    "hostBlockId",
    "editable"
  ],
  "properties": {
    "surfaceKind": {
      "type": "string",
      "enum": [
        "raster_image",
        "svg",
        "mermaid"
      ]
    },
    "surfaceId": {
      "type": "string",
      "maxLength": 256
    },
    "occurrenceId": {
      "type": "string",
      "maxLength": 256
    },
    "sourceKind": {
      "type": "string",
      "enum": [
        "repository",
        "draft",
        "embedded",
        "external"
      ]
    },
    "sourcePath": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 2048
    },
    "sourceRef": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 512
    },
    "sourceHash": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 256
    },
    "sourceLanguage": {
      "type": "string",
      "enum": [
        "binary",
        "svg",
        "mermaid",
        "markdown",
        "html"
      ]
    },
    "intrinsicWidth": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1
    },
    "intrinsicHeight": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1
    },
    "viewBox": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 128
    },
    "region": {
      "$ref": "#/components/schemas/VisualRegion"
    },
    "hostArtifactKind": {
      "type": "string",
      "enum": [
        "markdown",
        "html",
        "form",
        "image",
        "svg",
        "mermaid"
      ]
    },
    "hostFilePath": {
      "type": "string",
      "maxLength": 2048
    },
    "hostBlockId": {
      "type": "string",
      "maxLength": 256
    },
    "sourceLineStart": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1
    },
    "sourceLineEnd": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1
    },
    "slideId": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 256
    },
    "elementHint": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 256
        },
        "tagName": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 64
        },
        "accessibleName": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 512
        },
        "title": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 512
        }
      }
    },
    "editable": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}