{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://usechartory.com/schemas/break-even.json",
 "description": "The data prop of <BreakEven> (Chartory chart 129).",
 "type": "object",
 "title": "BreakEvenData",
 "properties": {
  "xmin": {
   "type": "number",
   "description": "The left end of the x scale."
  },
  "xmax": {
   "type": "number",
   "description": "The right end of the x scale."
  },
  "ymin": {
   "type": "number",
   "description": "The bottom of the y scale."
  },
  "ymax": {
   "type": "number",
   "description": "The top of the y scale."
  },
  "xt": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "type": "number"
     },
     {
      "type": "string"
     }
    ],
    "minItems": 2,
    "maxItems": 2
   },
   "description": "The x axis ticks: [value, label] pairs."
  },
  "yt": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "type": "number"
     },
     {
      "type": "string"
     }
    ],
    "minItems": 2,
    "maxItems": 2
   },
   "description": "The y axis ticks: [value, label] pairs."
  },
  "plan": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "type": "number"
     },
     {
      "type": "number"
     }
    ],
    "minItems": 2,
    "maxItems": 2
   },
   "description": "The plan."
  },
  "planText": {
   "type": "string",
   "description": "The plan's label."
  },
  "alt": {
   "type": "object",
   "title": "BreakEvenAlt",
   "properties": {
    "y": {
     "type": "number",
     "description": "The y value."
    },
    "text": {
     "type": "string",
     "description": "The label as shown."
    }
   },
   "required": [
    "y",
    "text"
   ],
   "description": "The alternative line: value and label."
  },
  "cross": {
   "type": "object",
   "title": "BreakEvenCross",
   "properties": {
    "x": {
     "type": "number",
     "description": "The x value."
    },
    "text": {
     "type": "string",
     "description": "The label as shown."
    }
   },
   "required": [
    "x",
    "text"
   ],
   "description": "The cross: see BreakEvenCross."
  },
  "pts": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "BreakEvenPoint",
    "properties": {
     "x": {
      "type": "number",
      "description": "The x value."
     },
     "y": {
      "type": "number",
      "description": "The y value."
     },
     "text": {
      "type": "string",
      "description": "The label as shown."
     },
     "tone": {
      "enum": [
       "warning",
       "primary"
      ],
      "description": "The tone of the mark (a colour token)."
     }
    },
    "required": [
     "x",
     "y",
     "text",
     "tone"
    ]
   },
   "description": "One entry per point."
  }
 },
 "required": [
  "xmin",
  "xmax",
  "ymin",
  "ymax",
  "xt",
  "yt",
  "plan",
  "planText",
  "alt",
  "cross",
  "pts"
 ]
}
