{ "$schema":              "https://json-schema.org/draft/2020-12/schema",
  "$id":                  "https://schemas.mpai.community/PAF/V1.6/data/FaceMotionObject.json",
  "title":                "Face Motion Object V1.6",
  "description":          "Motion of the face of the Persona (e.g., gaze, expression, nod) as a mini-PA, in a vocabulary named by its Qualifier.",
  "type":                 "object",
  "additionalProperties": false,
  "required":             [ "Header", "FaceMotionObjectID", "FaceMotionObjectData" ],
  "properties":           {

    "Header":             { "type": "string", "const": "PAF-FMO-V1.6" },
    "MInstanceID":        { "type": "string" },
    "UEnvironmentID":     { "type": "string" },
    "FaceMotionObjectID":     { "type": "string" },
    "FaceMotionObjectTime":   { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/SimpleTime.json" },

    "ProcessActionID":    { "type": "string", "description": "Identifier of the Process Action of which this Object is a mini-PA, if any." },
    "ParentObjectID":     { "type": "string", "description": "Identifier of the mini-PA that this one follows, if any; the order of the mini-PAs of a Process Action." },

    "FaceMotionObjectData":   { "type": "array", "items": { "anyOf": [
                          { "type": "object", "properties": {
      "Data":             { "type": "string" } } },
                          { "type": "object", "properties": {
      "DataLength":       { "type": "integer" },
      "DataURI":          { "type": "string", "format": "uri" } } },
                          { "type": "object", "properties": {
      "ID":               { "type": "string" } } } ] } },

    "FaceMotionQualifier":    { "$ref": "https://schemas.mpai.community/TFA/V1.5/data/FaceMotionQualifier.json" },

    "DataXMData":         { "$ref": "https://schemas.mpai.community/PTF/V1.0/data/DataExchangeMetadata.json" },
    "DescrMetadata":      { "type": "string", "maxLength": 2048 } } }
