{
  "schemaVersion": 2,
  "packageVersion": "0.0.17",
  "constraints": [
    {
      "id": "program.canvas",
      "phrases": [
        "chart canvas",
        "create canvas",
        "plot bounds"
      ]
    },
    {
      "id": "program.data",
      "phrases": [
        "create dataset",
        "load rows",
        "inline data"
      ]
    },
    {
      "id": "chart.scatter",
      "phrases": [
        "scatter plot",
        "scatter chart",
        "point chart"
      ]
    },
    {
      "id": "chart.dot",
      "phrases": [
        "dot plot",
        "categorical dot plot",
        "category dot chart"
      ]
    },
    {
      "id": "chart.lollipop",
      "phrases": [
        "lollipop plot",
        "lollipop chart",
        "baseline stem chart"
      ]
    },
    {
      "id": "chart.dumbbell",
      "phrases": [
        "dumbbell plot",
        "dumbbell chart",
        "connected dot plot",
        "before and after chart"
      ]
    },
    {
      "id": "chart.ecdf",
      "phrases": [
        "ecdf plot",
        "ecdf chart",
        "empirical cumulative distribution",
        "empirical cumulative distribution plot"
      ]
    },
    {
      "id": "chart.interval",
      "phrases": [
        "interval plot",
        "point interval plot",
        "point and interval chart"
      ]
    },
    {
      "id": "chart.regression",
      "phrases": [
        "regression plot",
        "regression scatter plot",
        "scatter plot with fit"
      ],
      "shadows": [
        "chart.scatter"
      ]
    },
    {
      "id": "chart.line",
      "phrases": [
        "line chart",
        "line plot",
        "time series chart"
      ]
    },
    {
      "id": "chart.bar",
      "phrases": [
        "bar chart",
        "bar plot",
        "column chart"
      ]
    },
    {
      "id": "chart.bar.horizontal",
      "phrases": [
        "horizontal bar chart",
        "horizontal bar plot",
        "horizontal bars"
      ],
      "shadows": [
        "chart.bar"
      ]
    },
    {
      "id": "chart.histogram",
      "phrases": [
        "histogram",
        "binned distribution",
        "frequency distribution",
        "frequency histogram"
      ]
    },
    {
      "id": "chart.heatmap",
      "phrases": [
        "heatmap",
        "heat map",
        "two dimensional distribution"
      ]
    },
    {
      "id": "chart.parallel",
      "phrases": [
        "parallel coordinates",
        "parallel coordinate plot"
      ]
    },
    {
      "id": "chart.box",
      "phrases": [
        "box plot",
        "boxplot",
        "quartile plot"
      ]
    },
    {
      "id": "chart.violin",
      "phrases": [
        "violin plot",
        "violin chart"
      ]
    },
    {
      "id": "chart.gradient",
      "phrases": [
        "gradient plot",
        "density gradient"
      ]
    },
    {
      "id": "chart.density",
      "phrases": [
        "density plot",
        "density curve",
        "kernel density plot"
      ]
    },
    {
      "id": "chart.area",
      "phrases": [
        "area chart",
        "area plot"
      ]
    },
    {
      "id": "chart.rug",
      "phrases": [
        "rug plot",
        "rug chart",
        "edge tick distribution"
      ]
    },
    {
      "id": "chart.strip",
      "phrases": [
        "strip plot",
        "strip chart",
        "jittered strip plot"
      ]
    },
    {
      "id": "chart.beeswarm",
      "phrases": [
        "beeswarm plot",
        "beeswarm chart",
        "packed point plot",
        "swarm plot"
      ]
    },
    {
      "id": "chart.raincloud",
      "phrases": [
        "raincloud plot",
        "raincloud chart",
        "half violin with box and points",
        "density summary raw points"
      ]
    },
    {
      "id": "chart.horizon",
      "phrases": [
        "horizon chart",
        "horizon plot"
      ]
    },
    {
      "id": "chart.pie",
      "phrases": [
        "pie chart",
        "pie plot"
      ],
      "exclusiveGroup": "polar.partition-chart"
    },
    {
      "id": "chart.donut",
      "phrases": [
        "donut chart",
        "doughnut chart",
        "donut plot"
      ],
      "exclusiveGroup": "polar.partition-chart"
    },
    {
      "id": "chart.rose",
      "phrases": [
        "rose chart",
        "rose plot",
        "coxcomb chart",
        "polar area chart"
      ],
      "shadows": [
        "chart.bar",
        "chart.area"
      ]
    },
    {
      "id": "chart.radialBar",
      "phrases": [
        "radial bar chart",
        "radial bar plot"
      ],
      "shadows": [
        "chart.bar"
      ]
    },
    {
      "id": "chart.polarScatter",
      "phrases": [
        "polar scatter plot",
        "polar scatter chart",
        "radial scatter plot"
      ],
      "shadows": [
        "chart.scatter"
      ]
    },
    {
      "id": "chart.polarLine",
      "phrases": [
        "polar line plot",
        "polar line chart",
        "radial line chart"
      ],
      "shadows": [
        "chart.line"
      ]
    },
    {
      "id": "chart.radar",
      "phrases": [
        "radar chart",
        "spider chart"
      ]
    },
    {
      "id": "mark.point",
      "phrases": [
        "point mark",
        "circle marks"
      ]
    },
    {
      "id": "mark.tick",
      "phrases": [
        "tick mark",
        "tick plot"
      ]
    },
    {
      "id": "mark.text",
      "phrases": [
        "text mark",
        "data labels"
      ]
    },
    {
      "id": "mark.line",
      "phrases": [
        "line mark",
        "path mark"
      ]
    },
    {
      "id": "mark.bar",
      "phrases": [
        "bar mark",
        "rectangle bars"
      ]
    },
    {
      "id": "mark.area",
      "phrases": [
        "area mark",
        "filled area"
      ]
    },
    {
      "id": "mark.rule",
      "phrases": [
        "rule mark",
        "reference line mark"
      ],
      "shadows": [
        "mark.line"
      ]
    },
    {
      "id": "mark.arc",
      "phrases": [
        "arc mark",
        "polar sectors"
      ]
    },
    {
      "id": "mark.rect",
      "phrases": [
        "rect mark",
        "rectangle cells"
      ]
    },
    {
      "id": "transform.filter",
      "phrases": [
        "filter data",
        "filtered dataset",
        "filter rows"
      ]
    },
    {
      "id": "transform.density",
      "phrases": [
        "density data",
        "kde data",
        "kernel density data"
      ]
    },
    {
      "id": "transform.regression",
      "phrases": [
        "regression data",
        "fitted rows",
        "loess data"
      ]
    },
    {
      "id": "transform.window",
      "phrases": [
        "moving average",
        "moving mean",
        "window transform",
        "rank rows",
        "lag values"
      ]
    },
    {
      "id": "transform.timeUnit",
      "phrases": [
        "time unit",
        "date bucket",
        "month bucket",
        "year bucket"
      ]
    },
    {
      "id": "transform.bin1d",
      "phrases": [
        "bin one field",
        "one dimensional bins",
        "histogram bins"
      ]
    },
    {
      "id": "transform.bin2d",
      "phrases": [
        "bin two fields",
        "two dimensional bins",
        "2d bins",
        "bin2d",
        "rectangular bins",
        "binned heatmap"
      ]
    },
    {
      "id": "transform.interval",
      "phrases": [
        "interval data",
        "confidence interval data",
        "summary interval"
      ]
    },
    {
      "id": "transform.ecdf",
      "phrases": [
        "ecdf data",
        "empirical cumulative distribution data",
        "cumulative probability transform"
      ]
    },
    {
      "id": "statistics.regression",
      "phrases": [
        "regression line",
        "trend line",
        "fitted line",
        "regression fit",
        "best fit line",
        "fitted trend"
      ]
    },
    {
      "id": "statistics.errorBar",
      "phrases": [
        "error bars",
        "error bar",
        "point and whisker",
        "point whisker plot",
        "uncertainty whiskers"
      ]
    },
    {
      "id": "statistics.errorBand",
      "phrases": [
        "error band",
        "uncertainty ribbon",
        "confidence band"
      ]
    },
    {
      "id": "scale.create",
      "phrases": [
        "create scale",
        "named scale",
        "custom scale"
      ]
    },
    {
      "id": "scale.log",
      "phrases": [
        "log scale",
        "logarithmic scale"
      ]
    },
    {
      "id": "scale.time",
      "phrases": [
        "time scale",
        "temporal scale"
      ]
    },
    {
      "id": "scale.color",
      "phrases": [
        "color scale",
        "colour scale",
        "palette scale"
      ]
    },
    {
      "id": "encoding.channels",
      "phrases": [
        "atomic encoding update",
        "encode channels together",
        "batch encoding channels"
      ]
    },
    {
      "id": "encoding.x",
      "phrases": [
        "x encoding",
        "encode x",
        "map to x"
      ]
    },
    {
      "id": "encoding.y",
      "phrases": [
        "y encoding",
        "encode y",
        "map to y"
      ]
    },
    {
      "id": "encoding.color",
      "phrases": [
        "color encoding",
        "encode color",
        "map to color",
        "color legend",
        "colour legend"
      ]
    },
    {
      "id": "encoding.size",
      "phrases": [
        "size encoding",
        "encode size",
        "map to size",
        "size legend"
      ]
    },
    {
      "id": "encoding.shape",
      "phrases": [
        "shape encoding",
        "encode shape",
        "map to shape",
        "shape legend"
      ]
    },
    {
      "id": "encoding.angle",
      "phrases": [
        "angle encoding",
        "encode angle",
        "rotate ticks",
        "rotate points"
      ]
    },
    {
      "id": "encoding.opacity",
      "phrases": [
        "opacity encoding",
        "encode opacity",
        "map to opacity",
        "opacity legend"
      ]
    },
    {
      "id": "encoding.strokeDash",
      "phrases": [
        "stroke dash encoding",
        "stroke dash",
        "dashed stroke",
        "dash encoding",
        "line style encoding",
        "stroke dash legend"
      ]
    },
    {
      "id": "encoding.strokeWidth",
      "phrases": [
        "stroke width encoding",
        "encode stroke width",
        "line width encoding",
        "stroke width legend"
      ]
    },
    {
      "id": "encoding.text",
      "phrases": [
        "text encoding",
        "encode text",
        "label field"
      ]
    },
    {
      "id": "encoding.group",
      "phrases": [
        "group encoding",
        "group series",
        "series grouping"
      ]
    },
    {
      "id": "encoding.theta",
      "phrases": [
        "theta encoding",
        "angular encoding",
        "encode theta"
      ]
    },
    {
      "id": "encoding.radius",
      "phrases": [
        "radius encoding",
        "radial encoding",
        "encode radius"
      ]
    },
    {
      "id": "encoding.parallel",
      "phrases": [
        "parallel dimensions",
        "dimension axes"
      ]
    },
    {
      "id": "guide.all",
      "phrases": [
        "create guides",
        "automatic guides",
        "all guides"
      ]
    },
    {
      "id": "guide.axes",
      "phrases": [
        "axes",
        "axis guides",
        "x and y axes"
      ]
    },
    {
      "id": "guide.xAxis",
      "phrases": [
        "x axis",
        "horizontal axis"
      ]
    },
    {
      "id": "guide.yAxis",
      "phrases": [
        "y axis",
        "vertical axis"
      ]
    },
    {
      "id": "guide.thetaAxis",
      "phrases": [
        "theta axis",
        "angular axis"
      ]
    },
    {
      "id": "guide.radialAxis",
      "phrases": [
        "radial axis",
        "radius axis"
      ]
    },
    {
      "id": "guide.legend",
      "phrases": [
        "legend",
        "encoding key"
      ]
    },
    {
      "id": "guide.grid",
      "phrases": [
        "grid lines",
        "chart grid",
        "reference grid",
        "grid"
      ]
    },
    {
      "id": "guide.title",
      "phrases": [
        "chart title",
        "add title",
        "with title",
        "titled",
        "title and subtitle"
      ]
    },
    {
      "id": "guide.subtitle",
      "phrases": [
        "subtitle",
        "title and subtitle"
      ]
    },
    {
      "id": "layout.coordinateAspect",
      "phrases": [
        "coordinate aspect ratio",
        "equal data units",
        "equal axis units",
        "square plot frame"
      ]
    },
    {
      "id": "layout.polarFrame",
      "phrases": [
        "move polar chart center",
        "polar frame radius",
        "fixed polar radius",
        "off-center polar plot"
      ]
    },
    {
      "id": "layout.legend.bottom",
      "phrases": [
        "legend at bottom",
        "bottom legend"
      ],
      "exclusiveGroup": "legend.position"
    },
    {
      "id": "layout.legend.top",
      "phrases": [
        "legend at top",
        "top legend"
      ],
      "exclusiveGroup": "legend.position"
    },
    {
      "id": "layout.legend.left",
      "phrases": [
        "legend at left",
        "left legend"
      ],
      "exclusiveGroup": "legend.position"
    },
    {
      "id": "layout.legend.right",
      "phrases": [
        "legend at right",
        "right legend"
      ],
      "exclusiveGroup": "legend.position"
    },
    {
      "id": "layout.labels",
      "phrases": [
        "avoid label overlap",
        "label collision",
        "layout labels",
        "label collision avoidance"
      ]
    },
    {
      "id": "layout.labels.semanticPlacement",
      "phrases": [
        "labels outside bars",
        "bar end labels",
        "inside arc labels",
        "semantic label placement",
        "reset label placement"
      ]
    },
    {
      "id": "selection.labels.membership",
      "phrases": [
        "select labels",
        "edit label selection",
        "label only selected items",
        "show all labels"
      ]
    },
    {
      "id": "lifecycle.labels.remove",
      "phrases": [
        "remove mark labels",
        "remove labels",
        "delete mark labels",
        "delete attached labels",
        "remove labels from bar",
        "remove labels from bars"
      ]
    },
    {
      "id": "layout.jitter",
      "phrases": [
        "jitter points",
        "point jitter",
        "reduce overplotting"
      ]
    },
    {
      "id": "layout.packing",
      "phrases": [
        "pack points",
        "point packing",
        "avoid point overlap",
        "collision free points"
      ]
    },
    {
      "id": "layout.categoryOrder",
      "phrases": [
        "order categories",
        "sort categories",
        "category order"
      ]
    },
    {
      "id": "layout.facet",
      "phrases": [
        "facet chart",
        "small multiples",
        "repeat chart by field"
      ]
    },
    {
      "id": "selection.store",
      "phrases": [
        "store selection",
        "reusable selection",
        "select marks"
      ]
    },
    {
      "id": "selection.highlight",
      "phrases": [
        "highlight marks",
        "highlight selected",
        "conditional highlight"
      ]
    },
    {
      "id": "selection.filter",
      "phrases": [
        "filter marks",
        "retain matching marks"
      ]
    },
    {
      "id": "composition.horizontal",
      "phrases": [
        "horizontal concat",
        "horizontally concatenate",
        "charts side by side"
      ]
    },
    {
      "id": "composition.vertical",
      "phrases": [
        "vertical concat",
        "vertically concatenate",
        "stack charts vertically"
      ]
    },
    {
      "id": "renderer.canvas",
      "phrases": [
        "render to canvas",
        "browser canvas",
        "canvas renderer",
        "as canvas",
        "on canvas",
        "on the chart canvas"
      ]
    },
    {
      "id": "renderer.svg",
      "phrases": [
        "render svg",
        "export svg",
        "svg output",
        "as svg",
        "vector svg",
        "svg document",
        "accessible svg",
        "svg"
      ]
    },
    {
      "id": "renderer.png",
      "phrases": [
        "render png",
        "export png",
        "png output",
        "as png"
      ]
    },
    {
      "id": "renderer.pdf",
      "phrases": [
        "render pdf",
        "export pdf",
        "pdf output",
        "as pdf",
        "vector pdf",
        "pdf document"
      ]
    },
    {
      "id": "unsupported.geo",
      "phrases": [
        "map chart",
        "geographic chart",
        "geo projection",
        "choropleth"
      ],
      "unsupported": "Geographic projections and map marks are outside the current ggaction contract."
    },
    {
      "id": "unsupported.animation",
      "phrases": [
        "animate chart",
        "chart animation",
        "animated transition",
        "animated chart",
        "animation",
        "transitions"
      ],
      "unsupported": "Animation is outside the current static-chart contract."
    },
    {
      "id": "unsupported.interaction",
      "phrases": [
        "interactive tooltip",
        "hover tooltip",
        "tooltip on hover",
        "tooltip",
        "tooltips",
        "zoom interaction",
        "pan interaction",
        "brush interaction",
        "hover interaction",
        "click interaction",
        "interactive chart",
        "event handling"
      ],
      "unsupported": "Interactive runtime behaviors are outside the current static-chart contract."
    },
    {
      "id": "unsupported.3d",
      "phrases": [
        "3d chart",
        "three dimensional chart",
        "three dimensional plot"
      ],
      "unsupported": "Three-dimensional charts are not supported."
    },
    {
      "id": "unsupported.jpg",
      "phrases": [
        "export jpg",
        "render jpeg",
        "jpeg output",
        "jpeg image",
        "jpg image"
      ],
      "unsupported": "JPEG is not a current renderer; use SVG, PNG, PDF, or Browser Canvas."
    }
  ],
  "providers": [
    {
      "id": "action.createCanvas",
      "kind": "action",
      "name": "createCanvas",
      "order": 10,
      "anchors": [
        "program.canvas"
      ],
      "covers": [
        "program.canvas"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createData",
      "kind": "action",
      "name": "createData",
      "order": 20,
      "anchors": [
        "program.data"
      ],
      "covers": [
        "program.data"
      ],
      "baseOptions": {
        "values": "[{ category: \"A\", x: 1, y: 2, value: 3 }]"
      }
    },
    {
      "id": "action.createScatterPlot",
      "kind": "action",
      "name": "createScatterPlot",
      "order": 40,
      "anchors": [
        "chart.scatter"
      ],
      "covers": [
        "chart.scatter",
        "encoding.x",
        "encoding.y",
        "encoding.color",
        "encoding.size",
        "encoding.shape",
        "guide.axes",
        "guide.legend"
      ],
      "baseOptions": {
        "x": "\"x\"",
        "y": "\"y\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "encoding.size": {
          "size": "\"value\""
        },
        "encoding.shape": {
          "shape": "\"category\""
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        }
      }
    },
    {
      "id": "action.createDotPlot",
      "kind": "action",
      "name": "createDotPlot",
      "order": 40,
      "anchors": [
        "chart.dot"
      ],
      "covers": [
        "chart.dot",
        "encoding.x",
        "encoding.y",
        "guide.axes",
        "guide.all"
      ],
      "baseOptions": {
        "category": "\"category\"",
        "value": "\"value\""
      }
    },
    {
      "id": "action.createLollipopPlot",
      "kind": "action",
      "name": "createLollipopPlot",
      "order": 40,
      "anchors": [
        "chart.lollipop"
      ],
      "covers": [
        "chart.lollipop",
        "encoding.x",
        "encoding.y",
        "guide.axes",
        "guide.all"
      ],
      "baseOptions": {
        "category": "\"category\"",
        "value": "\"value\""
      }
    },
    {
      "id": "action.createDumbbellPlot",
      "kind": "action",
      "name": "createDumbbellPlot",
      "order": 40,
      "anchors": [
        "chart.dumbbell"
      ],
      "covers": [
        "chart.dumbbell",
        "encoding.x",
        "encoding.y",
        "guide.axes",
        "guide.all"
      ],
      "baseOptions": {
        "category": "\"category\"",
        "start": "\"before\"",
        "end": "\"after\""
      }
    },
    {
      "id": "action.createECDFPlot",
      "kind": "action",
      "name": "createECDFPlot",
      "order": 40,
      "anchors": [
        "chart.ecdf"
      ],
      "covers": [
        "chart.ecdf",
        "transform.ecdf",
        "encoding.x",
        "encoding.y",
        "guide.axes",
        "guide.all"
      ],
      "baseOptions": {
        "field": "\"value\""
      }
    },
    {
      "id": "action.createIntervalPlot",
      "kind": "action",
      "name": "createIntervalPlot",
      "order": 40,
      "anchors": [
        "chart.interval"
      ],
      "covers": [
        "chart.interval",
        "statistics.errorBar",
        "encoding.x",
        "encoding.y",
        "guide.axes",
        "guide.all"
      ],
      "baseOptions": {
        "x": "\"category\"",
        "y": "\"value\""
      }
    },
    {
      "id": "action.createRegressionPlot",
      "kind": "action",
      "name": "createRegressionPlot",
      "order": 40,
      "anchors": [
        "chart.regression"
      ],
      "covers": [
        "chart.regression",
        "chart.scatter",
        "statistics.regression",
        "statistics.errorBand",
        "encoding.x",
        "encoding.y",
        "guide.axes",
        "guide.all"
      ],
      "baseOptions": {
        "x": "\"x\"",
        "y": "\"y\""
      }
    },
    {
      "id": "action.createLinePlot",
      "kind": "action",
      "name": "createLinePlot",
      "order": 40,
      "anchors": [
        "chart.line"
      ],
      "covers": [
        "chart.line",
        "encoding.x",
        "encoding.y",
        "encoding.color",
        "encoding.group",
        "encoding.strokeDash",
        "guide.axes",
        "guide.legend"
      ],
      "baseOptions": {
        "x": "\"x\"",
        "y": "\"y\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "encoding.group": {
          "groupBy": "\"category\""
        },
        "encoding.strokeDash": {
          "strokeDash": "{ field: \"category\" }"
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        }
      }
    },
    {
      "id": "action.createBarPlot",
      "kind": "action",
      "name": "createBarPlot",
      "order": 40,
      "anchors": [
        "chart.bar"
      ],
      "covers": [
        "chart.bar",
        "encoding.x",
        "encoding.y",
        "encoding.color",
        "guide.axes",
        "guide.legend"
      ],
      "baseOptions": {
        "x": "\"category\"",
        "y": "\"value\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        }
      }
    },
    {
      "id": "action.createHorizontalBar",
      "kind": "action",
      "name": "createBarMark",
      "order": 40,
      "anchors": [
        "chart.bar.horizontal"
      ],
      "covers": [
        "chart.bar.horizontal"
      ],
      "baseOptions": {
        "id": "\"bar\""
      }
    },
    {
      "id": "action.createHistogram",
      "kind": "action",
      "name": "createHistogram",
      "order": 40,
      "anchors": [
        "chart.histogram"
      ],
      "covers": [
        "chart.histogram",
        "transform.bin1d",
        "encoding.color",
        "guide.axes",
        "guide.legend"
      ],
      "baseOptions": {
        "field": "\"value\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        }
      }
    },
    {
      "id": "action.createHeatmap",
      "kind": "action",
      "name": "createHeatmap",
      "order": 40,
      "anchors": [
        "chart.heatmap"
      ],
      "covers": [
        "chart.heatmap",
        "transform.bin2d",
        "encoding.x",
        "encoding.y",
        "encoding.color",
        "guide.axes",
        "guide.legend"
      ],
      "baseOptions": {
        "x": "\"x\"",
        "y": "\"y\"",
        "bin": "{}"
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "{}"
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        }
      }
    },
    {
      "id": "action.createParallelCoordinates",
      "kind": "action",
      "name": "createParallelCoordinates",
      "order": 40,
      "anchors": [
        "chart.parallel"
      ],
      "covers": [
        "chart.parallel",
        "encoding.parallel",
        "encoding.color",
        "encoding.strokeDash",
        "guide.axes",
        "guide.legend"
      ],
      "baseOptions": {
        "dimensions": "[\"a\", \"b\"]"
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "encoding.strokeDash": {
          "strokeDash": "{ field: \"category\" }"
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        }
      }
    },
    {
      "id": "action.createBoxPlot",
      "kind": "action",
      "name": "createBoxPlot",
      "order": 40,
      "anchors": [
        "chart.box"
      ],
      "covers": [
        "chart.box",
        "guide.axes"
      ],
      "baseOptions": {},
      "optionsByConstraint": {
        "guide.axes": {
          "guides": "{}"
        }
      }
    },
    {
      "id": "action.createViolinPlot",
      "kind": "action",
      "name": "createViolinPlot",
      "order": 40,
      "anchors": [
        "chart.violin"
      ],
      "covers": [
        "chart.violin",
        "encoding.color",
        "guide.axes",
        "guide.legend"
      ],
      "baseOptions": {
        "x": "\"category\"",
        "y": "\"value\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        }
      }
    },
    {
      "id": "action.createGradientPlot",
      "kind": "action",
      "name": "createGradientPlot",
      "order": 40,
      "anchors": [
        "chart.gradient"
      ],
      "covers": [
        "chart.gradient",
        "guide.axes"
      ],
      "baseOptions": {},
      "optionsByConstraint": {
        "guide.axes": {
          "guides": "{}"
        }
      }
    },
    {
      "id": "action.createDensityPlot",
      "kind": "action",
      "name": "createDensityPlot",
      "order": 50,
      "anchors": [
        "chart.density"
      ],
      "covers": [
        "chart.density",
        "guide.axes",
        "guide.xAxis",
        "guide.yAxis",
        "guide.grid",
        "guide.all"
      ],
      "baseOptions": {
        "field": "\"value\""
      }
    },
    {
      "id": "action.createAreaPlot",
      "kind": "action",
      "name": "createAreaPlot",
      "order": 10,
      "anchors": [
        "chart.area"
      ],
      "covers": [
        "chart.area",
        "encoding.x",
        "encoding.y",
        "guide.axes",
        "guide.xAxis",
        "guide.yAxis",
        "guide.grid",
        "guide.all"
      ],
      "baseOptions": {
        "x": "\"x\"",
        "y": "\"y\""
      }
    },
    {
      "id": "action.createRugPlot",
      "kind": "action",
      "name": "createRugPlot",
      "order": 40,
      "anchors": [
        "chart.rug"
      ],
      "covers": [
        "chart.rug",
        "encoding.x",
        "guide.axes",
        "guide.xAxis",
        "guide.all"
      ],
      "baseOptions": {
        "x": "\"value\"",
        "edge": "\"bottom\""
      }
    },
    {
      "id": "action.createStripPlot",
      "kind": "action",
      "name": "createStripPlot",
      "order": 40,
      "anchors": [
        "chart.strip"
      ],
      "covers": [
        "chart.strip",
        "encoding.x",
        "encoding.color",
        "encoding.size",
        "encoding.shape",
        "guide.axes",
        "guide.xAxis",
        "guide.legend",
        "guide.all",
        "layout.jitter"
      ],
      "baseOptions": {
        "x": "\"value\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "encoding.size": {
          "size": "\"value\""
        },
        "encoding.shape": {
          "shape": "\"category\""
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.xAxis": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        },
        "guide.all": {
          "guides": "{}"
        },
        "layout.jitter": {
          "jitter": "{ maxOffset: { pixels: 4 }, seed: \"strip\" }"
        }
      }
    },
    {
      "id": "action.createBeeswarmPlot",
      "kind": "action",
      "name": "createBeeswarmPlot",
      "order": 40,
      "anchors": [
        "chart.beeswarm"
      ],
      "covers": [
        "chart.beeswarm",
        "encoding.x",
        "encoding.y",
        "encoding.color",
        "encoding.size",
        "encoding.shape",
        "guide.axes",
        "guide.legend",
        "guide.all",
        "layout.packing"
      ],
      "baseOptions": {
        "x": "{ field: \"category\", fieldType: \"nominal\" }",
        "y": "\"value\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "encoding.size": {
          "size": "\"value\""
        },
        "encoding.shape": {
          "shape": "\"category\""
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.legend": {
          "color": "\"category\"",
          "guides": "{ legend: {} }"
        },
        "guide.all": {
          "guides": "{}"
        },
        "layout.packing": {
          "packing": "{ key: \"id\" }"
        }
      }
    },
    {
      "id": "action.createRaincloudPlot",
      "kind": "action",
      "name": "createRaincloudPlot",
      "order": 40,
      "anchors": [
        "chart.raincloud"
      ],
      "covers": [
        "chart.raincloud",
        "encoding.x",
        "encoding.y",
        "encoding.color",
        "guide.axes",
        "guide.legend",
        "guide.all",
        "layout.packing"
      ],
      "baseOptions": {
        "category": "{ field: \"category\", fieldType: \"nominal\" }",
        "value": "\"value\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.legend": {
          "color": "\"category\"",
          "guides": "{ legend: {} }"
        },
        "guide.all": {
          "guides": "{}"
        },
        "layout.packing": {
          "points": "{ type: \"beeswarm\", packing: { key: \"id\" } }"
        }
      }
    },
    {
      "id": "action.createHorizonPlot",
      "kind": "action",
      "name": "createHorizonPlot",
      "order": 50,
      "anchors": [
        "chart.horizon"
      ],
      "covers": [
        "chart.horizon",
        "encoding.x",
        "encoding.y",
        "guide.axes",
        "guide.xAxis",
        "guide.grid",
        "guide.all"
      ],
      "baseOptions": {
        "x": "\"x\"",
        "y": "\"y\""
      }
    },
    {
      "id": "action.createPieChart",
      "kind": "action",
      "name": "createPiePlot",
      "order": 40,
      "anchors": [
        "chart.pie"
      ],
      "covers": [
        "chart.pie",
        "encoding.color",
        "guide.legend",
        "guide.all"
      ],
      "baseOptions": {
        "category": "\"category\""
      }
    },
    {
      "id": "action.createDonutChart",
      "kind": "action",
      "name": "createPiePlot",
      "order": 40,
      "anchors": [
        "chart.donut"
      ],
      "covers": [
        "chart.donut",
        "encoding.color",
        "guide.legend",
        "guide.all"
      ],
      "baseOptions": {
        "category": "\"category\"",
        "arc": "{ innerRadius: 0.55, padAngle: 2 }"
      }
    },
    {
      "id": "action.createRoseChart",
      "kind": "action",
      "name": "createRosePlot",
      "order": 40,
      "anchors": [
        "chart.rose"
      ],
      "covers": [
        "chart.rose",
        "encoding.theta",
        "encoding.radius",
        "encoding.color",
        "guide.axes",
        "guide.grid",
        "guide.legend",
        "guide.all"
      ],
      "baseOptions": {
        "category": "\"category\""
      }
    },
    {
      "id": "action.createRadialBarChart",
      "kind": "action",
      "name": "createRadialBarPlot",
      "order": 40,
      "anchors": [
        "chart.radialBar"
      ],
      "covers": [
        "chart.radialBar",
        "encoding.theta",
        "encoding.radius",
        "encoding.color",
        "guide.axes",
        "guide.grid",
        "guide.legend",
        "guide.all"
      ],
      "baseOptions": {
        "category": "\"category\""
      }
    },
    {
      "id": "action.createPolarScatterPlot",
      "kind": "action",
      "name": "createPolarScatterPlot",
      "order": 40,
      "anchors": [
        "chart.polarScatter"
      ],
      "covers": [
        "chart.polarScatter",
        "encoding.theta",
        "encoding.radius",
        "encoding.color",
        "encoding.size",
        "encoding.shape",
        "guide.axes",
        "guide.grid",
        "guide.legend",
        "guide.all"
      ],
      "baseOptions": {
        "theta": "\"angle\"",
        "radius": "\"distance\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "encoding.size": {
          "size": "\"value\""
        },
        "encoding.shape": {
          "shape": "\"category\""
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.grid": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        },
        "guide.all": {
          "guides": "{}"
        }
      }
    },
    {
      "id": "action.createPolarLinePlot",
      "kind": "action",
      "name": "createPolarLinePlot",
      "order": 40,
      "anchors": [
        "chart.polarLine"
      ],
      "covers": [
        "chart.polarLine",
        "encoding.theta",
        "encoding.radius",
        "encoding.color",
        "encoding.group",
        "encoding.strokeDash",
        "guide.axes",
        "guide.grid",
        "guide.legend",
        "guide.all"
      ],
      "baseOptions": {
        "theta": "\"angle\"",
        "radius": "\"distance\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"category\""
        },
        "encoding.group": {
          "groupBy": "\"category\""
        },
        "encoding.strokeDash": {
          "strokeDash": "{ field: \"category\" }"
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.grid": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        },
        "guide.all": {
          "guides": "{}"
        }
      }
    },
    {
      "id": "action.createRadarPlot",
      "kind": "action",
      "name": "createRadarPlot",
      "order": 40,
      "anchors": [
        "chart.radar"
      ],
      "covers": [
        "chart.radar",
        "encoding.theta",
        "encoding.radius",
        "encoding.color",
        "encoding.group",
        "encoding.strokeDash",
        "guide.axes",
        "guide.grid",
        "guide.legend",
        "guide.all"
      ],
      "baseOptions": {
        "category": "\"category\"",
        "value": "\"value\""
      },
      "optionsByConstraint": {
        "encoding.color": {
          "color": "\"series\""
        },
        "encoding.group": {
          "groupBy": "\"series\""
        },
        "encoding.strokeDash": {
          "strokeDash": "{ field: \"series\" }"
        },
        "guide.axes": {
          "guides": "{}"
        },
        "guide.grid": {
          "guides": "{}"
        },
        "guide.legend": {
          "guides": "{ legend: {} }"
        },
        "guide.all": {
          "guides": "{}"
        }
      }
    },
    {
      "id": "action.createPointMark",
      "kind": "action",
      "name": "createPointMark",
      "order": 40,
      "anchors": [
        "mark.point"
      ],
      "covers": [
        "mark.point"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createTickMark",
      "kind": "action",
      "name": "createTickMark",
      "order": 40,
      "anchors": [
        "mark.tick"
      ],
      "covers": [
        "mark.tick"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createTextMark",
      "kind": "action",
      "name": "createTextMark",
      "order": 40,
      "anchors": [
        "mark.text"
      ],
      "covers": [
        "mark.text"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createLineMark",
      "kind": "action",
      "name": "createLineMark",
      "order": 40,
      "anchors": [
        "mark.line"
      ],
      "covers": [
        "mark.line"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createBarMark",
      "kind": "action",
      "name": "createBarMark",
      "order": 40,
      "anchors": [
        "mark.bar"
      ],
      "covers": [
        "mark.bar"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createAreaMark",
      "kind": "action",
      "name": "createAreaMark",
      "order": 40,
      "anchors": [
        "mark.area"
      ],
      "covers": [
        "mark.area"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createRuleMark",
      "kind": "action",
      "name": "createRuleMark",
      "order": 40,
      "anchors": [
        "mark.rule"
      ],
      "covers": [
        "mark.rule"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createArcMark",
      "kind": "action",
      "name": "createArcMark",
      "order": 40,
      "anchors": [
        "mark.arc"
      ],
      "covers": [
        "mark.arc"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createRectMark",
      "kind": "action",
      "name": "createRectMark",
      "order": 40,
      "anchors": [
        "mark.rect"
      ],
      "covers": [
        "mark.rect"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.filterData",
      "kind": "action",
      "name": "filterData",
      "order": 30,
      "anchors": [
        "transform.filter"
      ],
      "covers": [
        "transform.filter"
      ],
      "baseOptions": {
        "id": "\"filtered\"",
        "field": "\"value\"",
        "predicate": "{ op: \"gt\", value: 0 }"
      }
    },
    {
      "id": "action.createDensityData",
      "kind": "action",
      "name": "createDensityData",
      "order": 30,
      "anchors": [
        "transform.density"
      ],
      "covers": [
        "transform.density"
      ],
      "baseOptions": {
        "id": "\"density\"",
        "field": "\"value\""
      }
    },
    {
      "id": "action.createRegressionData",
      "kind": "action",
      "name": "createRegressionData",
      "order": 30,
      "anchors": [
        "transform.regression"
      ],
      "covers": [
        "transform.regression"
      ],
      "baseOptions": {
        "id": "\"regression\"",
        "x": "\"x\"",
        "y": "\"y\""
      }
    },
    {
      "id": "action.createWindowData",
      "kind": "action",
      "name": "createWindowData",
      "order": 30,
      "anchors": [
        "transform.window"
      ],
      "covers": [
        "transform.window"
      ],
      "baseOptions": {
        "id": "\"windowed\"",
        "operations": "[{ op: \"movingMean\", field: \"value\", as: \"movingMean\", frame: { preceding: 2 } }]"
      }
    },
    {
      "id": "action.createTimeUnitData",
      "kind": "action",
      "name": "createTimeUnitData",
      "order": 30,
      "anchors": [
        "transform.timeUnit"
      ],
      "covers": [
        "transform.timeUnit"
      ],
      "baseOptions": {
        "id": "\"monthly\"",
        "field": "\"date\"",
        "unit": "\"month\"",
        "as": "\"month\""
      }
    },
    {
      "id": "action.encodeHistogram",
      "kind": "action",
      "name": "encodeHistogram",
      "order": 50,
      "anchors": [
        "transform.bin1d"
      ],
      "covers": [
        "transform.bin1d"
      ],
      "baseOptions": {
        "field": "\"value\""
      }
    },
    {
      "id": "action.createBin2DData",
      "kind": "action",
      "name": "createBin2DData",
      "order": 30,
      "anchors": [
        "transform.bin2d"
      ],
      "covers": [
        "transform.bin2d"
      ],
      "baseOptions": {
        "id": "\"bins\"",
        "x": "\"x\"",
        "y": "\"y\""
      }
    },
    {
      "id": "action.createIntervalData",
      "kind": "action",
      "name": "createIntervalData",
      "order": 30,
      "anchors": [
        "transform.interval"
      ],
      "covers": [
        "transform.interval"
      ],
      "baseOptions": {
        "id": "\"interval\"",
        "field": "\"value\""
      }
    },
    {
      "id": "action.createECDFData",
      "kind": "action",
      "name": "createECDFData",
      "order": 30,
      "anchors": [
        "transform.ecdf"
      ],
      "covers": [
        "transform.ecdf"
      ],
      "baseOptions": {
        "id": "\"ecdf\"",
        "field": "\"value\""
      }
    },
    {
      "id": "action.createRegression",
      "kind": "action",
      "name": "createRegression",
      "order": 60,
      "anchors": [
        "statistics.regression"
      ],
      "covers": [
        "mark.line",
        "transform.regression",
        "statistics.regression",
        "statistics.errorBand"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createErrorBar",
      "kind": "action",
      "name": "createErrorBar",
      "order": 60,
      "anchors": [
        "statistics.errorBar"
      ],
      "covers": [
        "statistics.errorBar"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createErrorBand",
      "kind": "action",
      "name": "createErrorBand",
      "order": 61,
      "anchors": [
        "statistics.errorBand"
      ],
      "covers": [
        "statistics.errorBand"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createScale",
      "kind": "action",
      "name": "createScale",
      "order": 35,
      "anchors": [
        "scale.create"
      ],
      "covers": [
        "scale.create"
      ],
      "baseOptions": {
        "id": "\"scale-1\""
      }
    },
    {
      "id": "action.createLogScale",
      "kind": "action",
      "name": "createScale",
      "order": 35,
      "anchors": [
        "scale.log"
      ],
      "covers": [
        "scale.log"
      ],
      "baseOptions": {
        "id": "\"scale-1\"",
        "type": "\"log\""
      }
    },
    {
      "id": "action.createTimeScale",
      "kind": "action",
      "name": "createScale",
      "order": 35,
      "anchors": [
        "scale.time"
      ],
      "covers": [
        "scale.time"
      ],
      "baseOptions": {
        "id": "\"scale-1\"",
        "type": "\"time\""
      }
    },
    {
      "id": "action.createColorScale",
      "kind": "action",
      "name": "createScale",
      "order": 35,
      "anchors": [
        "scale.color"
      ],
      "covers": [
        "scale.color"
      ],
      "baseOptions": {
        "id": "\"color-scale\"",
        "type": "\"ordinal\"",
        "range": "{ palette: \"tableau10\" }"
      }
    },
    {
      "id": "action.encodeX",
      "kind": "action",
      "name": "encodeX",
      "order": 50,
      "anchors": [
        "encoding.x"
      ],
      "covers": [
        "encoding.x"
      ],
      "baseOptions": {
        "field": "\"x\""
      }
    },
    {
      "id": "action.encodeY",
      "kind": "action",
      "name": "encodeY",
      "order": 50,
      "anchors": [
        "encoding.y"
      ],
      "covers": [
        "encoding.y"
      ],
      "baseOptions": {
        "field": "\"y\""
      }
    },
    {
      "id": "action.encodeChannels",
      "kind": "action",
      "name": "encodeChannels",
      "order": 51,
      "anchors": [
        "encoding.channels"
      ],
      "covers": [
        "encoding.channels"
      ],
      "baseOptions": {
        "target": "\"point\"",
        "channels": "{ x: { field: \"x\" }, y: { field: \"y\" } }"
      }
    },
    {
      "id": "action.encodeColor",
      "kind": "action",
      "name": "encodeColor",
      "order": 55,
      "anchors": [
        "encoding.color"
      ],
      "covers": [
        "encoding.color"
      ],
      "baseOptions": {
        "field": "\"category\""
      }
    },
    {
      "id": "action.encodeSize",
      "kind": "action",
      "name": "encodeSize",
      "order": 55,
      "anchors": [
        "encoding.size"
      ],
      "covers": [
        "encoding.size"
      ],
      "baseOptions": {
        "field": "\"value\""
      }
    },
    {
      "id": "action.encodeShape",
      "kind": "action",
      "name": "encodeShape",
      "order": 55,
      "anchors": [
        "encoding.shape"
      ],
      "covers": [
        "encoding.shape"
      ],
      "baseOptions": {
        "field": "\"category\""
      }
    },
    {
      "id": "action.encodeAngle",
      "kind": "action",
      "name": "encodeAngle",
      "order": 55,
      "anchors": [
        "encoding.angle"
      ],
      "covers": [
        "encoding.angle"
      ],
      "baseOptions": {
        "value": "45"
      }
    },
    {
      "id": "action.encodeOpacity",
      "kind": "action",
      "name": "encodeOpacity",
      "order": 55,
      "anchors": [
        "encoding.opacity"
      ],
      "covers": [
        "encoding.opacity"
      ],
      "baseOptions": {
        "field": "\"value\""
      }
    },
    {
      "id": "action.encodeStrokeDash",
      "kind": "action",
      "name": "encodeStrokeDash",
      "order": 55,
      "anchors": [
        "encoding.strokeDash"
      ],
      "covers": [
        "encoding.strokeDash"
      ],
      "baseOptions": {
        "field": "\"category\""
      }
    },
    {
      "id": "action.encodeStrokeWidth",
      "kind": "action",
      "name": "encodeStrokeWidth",
      "order": 55,
      "anchors": [
        "encoding.strokeWidth"
      ],
      "covers": [
        "encoding.strokeWidth"
      ],
      "baseOptions": {
        "value": "2"
      }
    },
    {
      "id": "action.encodeText",
      "kind": "action",
      "name": "encodeText",
      "order": 55,
      "anchors": [
        "encoding.text"
      ],
      "covers": [
        "encoding.text"
      ],
      "baseOptions": {
        "field": "\"label\""
      }
    },
    {
      "id": "action.encodeGroup",
      "kind": "action",
      "name": "encodeGroup",
      "order": 52,
      "anchors": [
        "encoding.group"
      ],
      "covers": [
        "encoding.group"
      ],
      "baseOptions": {
        "field": "\"category\""
      }
    },
    {
      "id": "action.encodeTheta",
      "kind": "action",
      "name": "encodeTheta",
      "order": 50,
      "anchors": [
        "encoding.theta"
      ],
      "covers": [
        "encoding.theta"
      ],
      "baseOptions": {
        "field": "\"angle\""
      }
    },
    {
      "id": "action.encodeR",
      "kind": "action",
      "name": "encodeR",
      "order": 50,
      "anchors": [
        "encoding.radius"
      ],
      "covers": [
        "encoding.radius"
      ],
      "baseOptions": {
        "field": "\"value\""
      }
    },
    {
      "id": "action.encodeParallelCoordinates",
      "kind": "action",
      "name": "encodeParallelCoordinates",
      "order": 50,
      "anchors": [
        "encoding.parallel"
      ],
      "covers": [
        "encoding.parallel"
      ],
      "baseOptions": {
        "dimensions": "[\"a\", \"b\"]"
      }
    },
    {
      "id": "action.createGuides",
      "kind": "action",
      "name": "createGuides",
      "order": 70,
      "anchors": [
        "guide.all"
      ],
      "covers": [
        "guide.all",
        "guide.axes",
        "guide.legend",
        "guide.grid"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createAxes",
      "kind": "action",
      "name": "createAxes",
      "order": 70,
      "anchors": [
        "guide.axes"
      ],
      "covers": [
        "guide.axes"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createXAxis",
      "kind": "action",
      "name": "createXAxis",
      "order": 70,
      "anchors": [
        "guide.xAxis"
      ],
      "covers": [
        "guide.xAxis"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createYAxis",
      "kind": "action",
      "name": "createYAxis",
      "order": 70,
      "anchors": [
        "guide.yAxis"
      ],
      "covers": [
        "guide.yAxis"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createThetaAxis",
      "kind": "action",
      "name": "createThetaAxis",
      "order": 70,
      "anchors": [
        "guide.thetaAxis"
      ],
      "covers": [
        "guide.thetaAxis"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createRadialAxis",
      "kind": "action",
      "name": "createRadialAxis",
      "order": 70,
      "anchors": [
        "guide.radialAxis"
      ],
      "covers": [
        "guide.radialAxis"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createLegend",
      "kind": "action",
      "name": "createLegend",
      "order": 70,
      "anchors": [
        "guide.legend"
      ],
      "covers": [
        "guide.legend"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createGrid",
      "kind": "action",
      "name": "createGrid",
      "order": 70,
      "anchors": [
        "guide.grid"
      ],
      "covers": [
        "guide.grid"
      ],
      "baseOptions": {}
    },
    {
      "id": "action.createTitle",
      "kind": "action",
      "name": "createTitle",
      "order": 70,
      "anchors": [
        "guide.title",
        "guide.subtitle"
      ],
      "covers": [
        "guide.title",
        "guide.subtitle"
      ],
      "baseOptions": {
        "text": "\"Chart title\""
      },
      "optionsByConstraint": {
        "guide.subtitle": {
          "subtitle": "\"Chart subtitle\""
        }
      }
    },
    {
      "id": "action.editCoordinate",
      "kind": "action",
      "name": "editCoordinate",
      "order": 80,
      "anchors": [
        "layout.coordinateAspect"
      ],
      "covers": [
        "layout.coordinateAspect"
      ],
      "baseOptions": {
        "target": "\"main\"",
        "aspect": "{ mode: \"data\", ratio: 1 }"
      }
    },
    {
      "id": "action.editPolarFrame",
      "kind": "action",
      "name": "editCoordinate",
      "order": 80,
      "anchors": [
        "layout.polarFrame"
      ],
      "covers": [
        "layout.polarFrame"
      ],
      "baseOptions": {
        "target": "\"polar\"",
        "polarFrame": "{ center: { x: 0.4, y: 0.5 }, radius: { unit: \"fraction\", value: 0.9 } }"
      }
    },
    {
      "id": "action.legendBottom",
      "kind": "action",
      "name": "editLegendLayout",
      "order": 80,
      "anchors": [
        "layout.legend.bottom"
      ],
      "covers": [
        "layout.legend.bottom"
      ],
      "baseOptions": {
        "position": "\"bottom\""
      }
    },
    {
      "id": "action.legendTop",
      "kind": "action",
      "name": "editLegendLayout",
      "order": 80,
      "anchors": [
        "layout.legend.top"
      ],
      "covers": [
        "layout.legend.top"
      ],
      "baseOptions": {
        "position": "\"top\""
      }
    },
    {
      "id": "action.legendLeft",
      "kind": "action",
      "name": "editLegendLayout",
      "order": 80,
      "anchors": [
        "layout.legend.left"
      ],
      "covers": [
        "layout.legend.left"
      ],
      "baseOptions": {
        "position": "\"left\""
      }
    },
    {
      "id": "action.legendRight",
      "kind": "action",
      "name": "editLegendLayout",
      "order": 80,
      "anchors": [
        "layout.legend.right"
      ],
      "covers": [
        "layout.legend.right"
      ],
      "baseOptions": {
        "position": "\"right\""
      }
    },
    {
      "id": "action.layoutLabels",
      "kind": "action",
      "name": "layoutLabels",
      "order": 80,
      "anchors": [
        "layout.labels"
      ],
      "covers": [
        "layout.labels"
      ],
      "baseOptions": {
        "axis": "\"y\""
      }
    },
    {
      "id": "action.editMarkLabelSelection",
      "kind": "action",
      "name": "editMarkLabelSelection",
      "order": 80,
      "anchors": [
        "selection.labels.membership"
      ],
      "covers": [
        "selection.labels.membership"
      ],
      "baseOptions": {
        "target": "\"labels\"",
        "all": "true"
      }
    },
    {
      "id": "action.editMarkLabelPlacement",
      "kind": "action",
      "name": "editMarkLabelPlacement",
      "order": 80,
      "anchors": [
        "layout.labels.semanticPlacement"
      ],
      "covers": [
        "layout.labels.semanticPlacement"
      ],
      "baseOptions": {
        "target": "\"labels\"",
        "placement": "{ anchor: \"outsideEnd\" }"
      }
    },
    {
      "id": "action.removeMarkLabels",
      "kind": "action",
      "name": "removeMarkLabels",
      "order": 80,
      "anchors": [
        "lifecycle.labels.remove"
      ],
      "covers": [
        "lifecycle.labels.remove"
      ],
      "baseOptions": {
        "source": "\"bars\""
      }
    },
    {
      "id": "action.jitterPoints",
      "kind": "action",
      "name": "jitterPoints",
      "order": 80,
      "anchors": [
        "layout.jitter"
      ],
      "covers": [
        "layout.jitter"
      ],
      "baseOptions": {
        "channel": "\"x\"",
        "maxOffset": "{ pixels: 4 }"
      }
    },
    {
      "id": "action.packPoints",
      "kind": "action",
      "name": "packPoints",
      "order": 80,
      "anchors": [
        "layout.packing"
      ],
      "covers": [
        "layout.packing"
      ],
      "baseOptions": {
        "channel": "\"x\""
      }
    },
    {
      "id": "action.orderCategories",
      "kind": "action",
      "name": "orderCategories",
      "order": 80,
      "anchors": [
        "layout.categoryOrder"
      ],
      "covers": [
        "layout.categoryOrder"
      ],
      "baseOptions": {
        "channel": "\"x\"",
        "by": "\"category\""
      }
    },
    {
      "id": "action.facet",
      "kind": "action",
      "name": "facet",
      "order": 80,
      "anchors": [
        "layout.facet"
      ],
      "covers": [
        "layout.facet",
        "guide.axes",
        "guide.legend"
      ],
      "baseOptions": {
        "field": "\"category\""
      },
      "optionsByConstraint": {
        "guide.axes": {
          "guides": "{ axes: \"outer\", legend: \"shared\" }"
        },
        "guide.legend": {
          "guides": "{ axes: \"outer\", legend: \"shared\" }"
        }
      }
    },
    {
      "id": "action.selectMarks",
      "kind": "action",
      "name": "selectMarks",
      "order": 75,
      "anchors": [
        "selection.store"
      ],
      "covers": [
        "selection.store"
      ],
      "baseOptions": {
        "id": "\"selection-1\"",
        "field": "\"category\"",
        "op": "\"eq\"",
        "value": "\"A\""
      }
    },
    {
      "id": "action.highlightMarks",
      "kind": "action",
      "name": "highlightMarks",
      "order": 76,
      "anchors": [
        "selection.highlight"
      ],
      "covers": [
        "selection.highlight"
      ],
      "baseOptions": {
        "select": "{ field: \"category\", op: \"eq\", value: \"A\" }",
        "color": "\"#f28e2b\""
      }
    },
    {
      "id": "action.filterMarks",
      "kind": "action",
      "name": "filterMarks",
      "order": 75,
      "anchors": [
        "selection.filter"
      ],
      "covers": [
        "selection.filter"
      ],
      "baseOptions": {
        "field": "\"value\"",
        "op": "\"gt\"",
        "value": "0"
      }
    },
    {
      "id": "runtime.hconcat",
      "kind": "runtime",
      "name": "hconcat",
      "order": 90,
      "anchors": [
        "composition.horizontal"
      ],
      "covers": [
        "composition.horizontal"
      ],
      "signature": "hconcat(options: CompositionOptions): ChartProgram;",
      "call": "hconcat({ programs: [program, program] })",
      "route": "/reference/runtime/#ggaction"
    },
    {
      "id": "runtime.vconcat",
      "kind": "runtime",
      "name": "vconcat",
      "order": 90,
      "anchors": [
        "composition.vertical"
      ],
      "covers": [
        "composition.vertical"
      ],
      "signature": "vconcat(options: CompositionOptions): ChartProgram;",
      "call": "vconcat({ programs: [program, program] })",
      "route": "/reference/runtime/#ggaction"
    },
    {
      "id": "runtime.render",
      "kind": "runtime",
      "name": "render",
      "order": 100,
      "anchors": [
        "renderer.canvas"
      ],
      "covers": [
        "renderer.canvas"
      ],
      "signature": "render(program: Pick<ChartProgram, \"graphicSpec\">, context: CanvasRenderingContext2D, options?: { pixelRatio?: number }): void;",
      "call": "render(program, context)",
      "route": "/reference/runtime/#ggaction"
    },
    {
      "id": "runtime.renderToSVG",
      "kind": "runtime",
      "name": "renderToSVG",
      "order": 100,
      "anchors": [
        "renderer.svg"
      ],
      "covers": [
        "renderer.svg"
      ],
      "signature": "renderToSVG(program: Pick<ChartProgram, \"graphicSpec\">, options?: SVGRenderOptions): string;",
      "call": "renderToSVG(program)",
      "route": "/reference/runtime/#ggactionsvg"
    },
    {
      "id": "runtime.renderToPNG",
      "kind": "runtime",
      "name": "renderToPNG",
      "order": 100,
      "anchors": [
        "renderer.png"
      ],
      "covers": [
        "renderer.png"
      ],
      "signature": "renderToPNG(program: Pick<ChartProgram, \"graphicSpec\">, options: { output: string; pixelRatio?: number }): Promise<PNGRenderResult>;",
      "call": "await renderToPNG(program, { output: \"chart.png\" })",
      "route": "/reference/runtime/#ggactionpng"
    },
    {
      "id": "runtime.renderToPDF",
      "kind": "runtime",
      "name": "renderToPDF",
      "order": 100,
      "anchors": [
        "renderer.pdf"
      ],
      "covers": [
        "renderer.pdf"
      ],
      "signature": "renderToPDF(program: Pick<ChartProgram, \"graphicSpec\">, options: PDFRenderOptions): Promise<PDFRenderResult>;",
      "call": "await renderToPDF(program, { output: \"chart.pdf\" })",
      "route": "/reference/runtime/#ggactionpdf"
    }
  ]
}
