{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://jabbertoon.com/schemas/cartoon.schema.json",
 "title": "Jabbertoon cartoon",
 "description": "The content of a cartoon pack: the cast, the places and the program (a program of kind \"cartoon\"). The outer cast and places are merged into the program when it starts (https://jabbertoon.com/docs/packs/).",
 "type": "object",
 "required": [
  "program"
 ],
 "additionalProperties": false,
 "properties": {
  "cast": {
   "type": "object",
   "additionalProperties": {
    "$ref": "program.schema.json#/$defs/castEntry"
   }
  },
  "places": {
   "type": "object",
   "additionalProperties": {
    "oneOf": [
     {
      "type": "string"
     },
     {
      "type": "object"
     }
    ]
   }
  },
  "program": {
   "allOf": [
    {
     "$ref": "program.schema.json"
    },
    {
     "properties": {
      "kind": {
       "const": "cartoon"
      }
     }
    }
   ]
  }
 }
}
