{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://usechartory.com/schemas/retention-cut.json",
 "description": "The data prop of <RetentionCut> (Chartory chart 130).",
 "type": "object",
 "title": "RetentionCutData",
 "properties": {
  "vals": {
   "type": "array",
   "items": {
    "type": "number"
   },
   "description": "The values, in order."
  },
  "cut": {
   "type": "number",
   "description": "Where the cut is."
  },
  "now": {
   "type": "number",
   "description": "Where now is on the axis."
  },
  "ymax": {
   "type": "number",
   "description": "The top of the y scale."
  },
  "yt": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "type": "number"
     },
     {
      "type": "string"
     }
    ],
    "minItems": 2,
    "maxItems": 2
   },
   "description": "The y axis ticks: [value, label] pairs."
  },
  "xt": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "type": "number"
     },
     {
      "type": "string"
     }
    ],
    "minItems": 2,
    "maxItems": 2
   },
   "description": "The x axis ticks: [value, label] pairs."
  },
  "pins": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "RetentionCutPin",
    "properties": {
     "d": {
      "type": "number",
      "description": "The point it marks (index into vals)."
     },
     "text": {
      "type": "string",
      "description": "The label as shown."
     },
     "short": {
      "type": "string",
      "description": "The short form of the label, for the small sizes."
     },
     "open": {
      "type": "boolean",
      "description": "Marks it as open."
     }
    },
    "required": [
     "d",
     "text",
     "short",
     "open"
    ]
   },
   "description": "One entry per pin."
  },
  "kept": {
   "type": "string",
   "description": "The kept share as shown."
  },
  "freed": {
   "type": "string",
   "description": "The freed share as shown."
  },
  "gone": {
   "type": "string",
   "description": "The lost share as shown."
  }
 },
 "required": [
  "vals",
  "cut",
  "now",
  "ymax",
  "yt",
  "xt",
  "pins",
  "kept",
  "freed",
  "gone"
 ]
}
