{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "description": "Path to the current source PPTX.",
      "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
    },
    "template": {
      "type": "string",
      "minLength": 1,
      "description": "Path to the selected current template PPTX.",
      "x-tiwater-file-role": "read"
    },
    "targetMasterPath": {
      "type": "string",
      "minLength": 1
    },
    "slides": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slideNumber": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "targetLayoutPath": {
            "type": "string",
            "minLength": 1
          },
          "contentBounds": {
            "type": "object",
            "properties": {
              "x": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "y": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "cx": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "cy": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "x",
              "y",
              "cx",
              "cy"
            ],
            "additionalProperties": false
          },
          "contentShapeIds": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          "sourceLayoutShapeIdsToPreserve": {
            "type": "array",
            "items": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          }
        },
        "required": [
          "slideNumber",
          "targetLayoutPath"
        ],
        "additionalProperties": false
      }
    },
    "systemPlaceholderPolicy": {
      "type": "string",
      "enum": [
        "preserve",
        "target-template"
      ],
      "description": "Whether source slide-level date, footer, header, and slide-number placeholders remain or yield to the selected target template."
    },
    "output": {
      "type": "string",
      "minLength": 1,
      "description": "Output PPTX path; may equal input for an atomic in-place update.",
      "x-tiwater-file-role": "write"
    },
    "receiptOutput": {
      "type": "string",
      "minLength": 1,
      "description": "New JSON receipt path. Existing files are never overwritten.",
      "x-tiwater-file-role": "write",
      "x-tiwater-file-effect": false
    }
  },
  "required": [
    "input",
    "template",
    "targetMasterPath",
    "slides",
    "systemPlaceholderPolicy",
    "output",
    "receiptOutput"
  ],
  "additionalProperties": false
}
