Difference between revisions of "Getting Started"

From maker-hub
Jump to navigation Jump to search
(Replaced content with "500px|right Reading is hard... but somehow, we need to put the necessary training information into your brain so that you stay safe and don't break...")
Tag: Replaced
Line 261: Line 261:
  
 
[[File:Fearless Leader.jpg|thumb]]
 
[[File:Fearless Leader.jpg|thumb]]
<!--
 
 
            "children": [
 
              { "name": "Bead Roller" },
 
              { "name": "Bending Brake" },
 
              { "name": "Buffers" },
 
              { "name": "Drill Press" },
 
              { "name": "Hand Bender" },
 
              { "name": "Horizontal Bandsaw" },
 
              { "name": "Hydraulic Press" },
 
              { "name": "Lathe" },
 
              { "name": "Metal Laser Cutter" },
 
              { "name": "Milling Machine" },
 
              { "name": "Ring Roller" },
 
              { "name": "Rotary Punch" },
 
              { "name": "Sheet Metal Shear" },
 
              { "name": "Slip Roller" },
 
              { "name": "Vertical Bandsaw" },
 
              { "name": "Waterjet Cutter" }
 
            ]
 
 
<graph>
 
{
 
  "version": 2,
 
  "width": 550,
 
  "height": 400,
 
  "data": [
 
    {
 
      "name": "tree",
 
      "url": "wikiraw:///Extension:Graph/data/flare-json",
 
      "format": {"type": "treejson"},
 
      "transform": [
 
        {"type": "hierarchy", "field": "size", "size": [400, 500]}
 
      ]
 
    }
 
  ],
 
  "marks": [
 
    {
 
      "type": "path",
 
      "from": {
 
        "data": "tree",
 
        "transform": [
 
          {
 
            "type": "filter", "test": "datum.parent"
 
          },
 
          {
 
            "type": "linkpath",
 
            "sourceX": "parent.layout_y",
 
            "sourceY": "parent.layout_x",
 
            "targetX": "layout_y",
 
            "targetY": "layout_x",
 
            "shape": "diagonalX"
 
          }
 
        ]
 
      },
 
      "properties": {
 
        "enter": {
 
          "path": {"field": "layout_path"},
 
          "stroke": {"value": "#ddd"}
 
        }
 
      }
 
    },
 
    {
 
      "type": "text",
 
      "from": {"data": "tree"},
 
      "properties": {
 
        "enter": {
 
          "x": {"field": "layout_y", "offset": -10},
 
          "y": {"field": "layout_x"},
 
          "font": {"value": "Helvetica Neue"},
 
          "fontSize": {"value": 10},
 
          "align": {"value": "left"},
 
          "baseline": {"value": "middle"},
 
          "fill": {"value": "#000"},
 
          "text": {"field": "name"}
 
        }
 
      }
 
    }
 
  ]
 
}
 
<graph>
 
{
 
"name": "flare",
 
"children": [
 
{
 
  "name": "noop"
 
},
 
{
 
  "name": "analytics",
 
  "children": [
 
  {
 
    "name": "cluster",
 
    "children": [
 
    {"name": "AgglomerativeCluster", "size": 3938},
 
    {"name": "CommunityStructure", "size": 3812},
 
    {"name": "HierarchicalCluster", "size": 6714},
 
    {"name": "MergeEdge", "size": 743}
 
    ]
 
  },
 
  {
 
    "name": "graph",
 
    "children": [
 
    {"name": "BetweennessCentrality", "size": 3534},
 
    {"name": "LinkDistance", "size": 5731},
 
    {"name": "MaxFlowMinCut", "size": 7840},
 
    {"name": "ShortestPaths", "size": 5914},
 
    {"name": "SpanningTree", "size": 3416}
 
    ]
 
  },
 
  {
 
    "name": "optimization",
 
    "children": [
 
    {"name": "AspectRatioBanker", "size": 7074}
 
    ]
 
  }
 
  ]
 
},
 
{
 
  "name": "animate",
 
  "children": [
 
  {"name": "Easing", "size": 17010},
 
  {"name": "FunctionSequence", "size": 5842},
 
  {
 
    "name": "interpolate",
 
    "children": [
 
    {"name": "ArrayInterpolator", "size": 1983},
 
    {"name": "ColorInterpolator", "size": 2047},
 
    {"name": "DateInterpolator", "size": 1375},
 
    {"name": "Interpolator", "size": 8746},
 
    {"name": "MatrixInterpolator", "size": 2202},
 
    {"name": "NumberInterpolator", "size": 1382},
 
    {"name": "ObjectInterpolator", "size": 1629},
 
    {"name": "PointInterpolator", "size": 1675},
 
    {"name": "RectangleInterpolator", "size": 2042}
 
    ]
 
  },
 
  {"name": "ISchedulable", "size": 1041},
 
  {"name": "Parallel", "size": 5176},
 
  {"name": "Pause", "size": 449},
 
  {"name": "Scheduler", "size": 5593},
 
  {"name": "Sequence", "size": 5534},
 
  {"name": "Transition", "size": 9201},
 
  {"name": "Transitioner", "size": 19975},
 
  {"name": "TransitionEvent", "size": 1116},
 
  {"name": "Tween", "size": 6006}
 
  ]
 
},
 
{
 
  "name": "data",
 
  "children": [
 
  {
 
    "name": "converters",
 
    "children": [
 
    {"name": "Converters", "size": 721},
 
    {"name": "DelimitedTextConverter", "size": 4294},
 
    {"name": "GraphMLConverter", "size": 9800},
 
    {"name": "IDataConverter", "size": 1314},
 
    {"name": "JSONConverter", "size": 2220}
 
    ]
 
  },
 
  {"name": "DataField", "size": 1759},
 
  {"name": "DataSchema", "size": 2165},
 
  {"name": "DataSet", "size": 586},
 
  {"name": "DataSource", "size": 3331},
 
  {"name": "DataTable", "size": 772},
 
  {"name": "DataUtil", "size": 3322}
 
  ]
 
}
 
]
 
}
 
{
 
  "$schema": "https://vega.github.io/schema/vega/v5.json",
 
  "description": "An example of Cartesian layouts for a node-link diagram of hierarchical data.",
 
  "width": 600,
 
  "height": 1600,
 
  "padding": 5,
 
 
  "signals": [
 
    {
 
      "name": "labels", "value": true,
 
      "bind": {"input": "checkbox"}
 
    },
 
    {
 
      "name": "layout", "value": "tidy",
 
      "bind": {"input": "radio", "options": ["tidy", "cluster"]}
 
    },
 
    {
 
      "name": "links", "value": "diagonal",
 
      "bind": {
 
        "input": "select",
 
        "options": ["line", "curve", "diagonal", "orthogonal"]
 
      }
 
    },
 
    {
 
      "name": "separation", "value": false,
 
      "bind": {"input": "checkbox"}
 
    }
 
  ],
 
 
  "data": [
 
    {
 
      "name": "tree",
 
      "url": "data/flare.json",
 
      "transform": [
 
        {
 
          "type": "stratify",
 
          "key": "id",
 
          "parentKey": "parent"
 
        },
 
        {
 
          "type": "tree",
 
          "method": {"signal": "layout"},
 
          "size": [{"signal": "height"}, {"signal": "width - 100"}],
 
          "separation": {"signal": "separation"},
 
          "as": ["y", "x", "depth", "children"]
 
        }
 
      ]
 
    },
 
    {
 
      "name": "links",
 
      "source": "tree",
 
      "transform": [
 
        { "type": "treelinks" },
 
        {
 
          "type": "linkpath",
 
          "orient": "horizontal",
 
          "shape": {"signal": "links"}
 
        }
 
      ]
 
    }
 
  ],
 
 
  "scales": [
 
    {
 
      "name": "color",
 
      "type": "linear",
 
      "range": {"scheme": "magma"},
 
      "domain": {"data": "tree", "field": "depth"},
 
      "zero": true
 
    }
 
  ],
 
 
  "marks": [
 
    {
 
      "type": "path",
 
      "from": {"data": "links"},
 
      "encode": {
 
        "update": {
 
          "path": {"field": "path"},
 
          "stroke": {"value": "#ccc"}
 
        }
 
      }
 
    },
 
    {
 
      "type": "symbol",
 
      "from": {"data": "tree"},
 
      "encode": {
 
        "enter": {
 
          "size": {"value": 100},
 
          "stroke": {"value": "#fff"}
 
        },
 
        "update": {
 
          "x": {"field": "x"},
 
          "y": {"field": "y"},
 
          "fill": {"scale": "color", "field": "depth"}
 
        }
 
      }
 
    },
 
    {
 
      "type": "text",
 
      "from": {"data": "tree"},
 
      "encode": {
 
        "enter": {
 
          "text": {"field": "name"},
 
          "fontSize": {"value": 9},
 
          "baseline": {"value": "middle"}
 
        },
 
        "update": {
 
          "x": {"field": "x"},
 
          "y": {"field": "y"},
 
          "dx": {"signal": "datum.children ? -7 : 7"},
 
          "align": {"signal": "datum.children ? 'right' : 'left'"},
 
          "opacity": {"signal": "labels ? 1 : 0"}
 
        }
 
      }
 
    }
 
  ]
 
}
 
{
 
  "$schema": "http://json-schema.org/draft-06/schema#",
 
  "title": "Vega Visualization Specification Language",
 
  "defs": {
 
    "autosize": {
 
      "oneOf": [
 
        {
 
          "enum": [
 
            "pad",
 
            "fit",
 
            "fit-x",
 
            "fit-y",
 
            "none"
 
          ],
 
          "default": "pad"
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "pad",
 
                "fit",
 
                "fit-x",
 
                "fit-y",
 
                "none"
 
              ],
 
              "default": "pad"
 
            },
 
            "resize": {
 
              "type": "boolean"
 
            },
 
            "contains": {
 
              "enum": [
 
                "content",
 
                "padding"
 
              ]
 
            }
 
          },
 
          "required": [
 
            "type"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "axis": {
 
      "type": "object",
 
      "properties": {
 
        "orient": {
 
          "oneOf": [
 
            {
 
              "enum": [
 
                "top",
 
                "bottom",
 
                "left",
 
                "right"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "scale": {
 
          "type": "string"
 
        },
 
        "format": {
 
          "oneOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "type": "object",
 
              "properties": {
 
                "year": {
 
                  "type": "string"
 
                },
 
                "quarter": {
 
                  "type": "string"
 
                },
 
                "month": {
 
                  "type": "string"
 
                },
 
                "date": {
 
                  "type": "string"
 
                },
 
                "week": {
 
                  "type": "string"
 
                },
 
                "day": {
 
                  "type": "string"
 
                },
 
                "hours": {
 
                  "type": "string"
 
                },
 
                "minutes": {
 
                  "type": "string"
 
                },
 
                "seconds": {
 
                  "type": "string"
 
                },
 
                "milliseconds": {
 
                  "type": "string"
 
                }
 
              },
 
              "additionalProperties": false
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "formatType": {
 
          "oneOf": [
 
            {
 
              "enum": [
 
                "number",
 
                "time",
 
                "utc"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "minExtent": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "maxExtent": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "offset": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "position": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "bandPosition": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "translate": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "values": {
 
          "$ref": "#/refs/arrayOrSignal"
 
        },
 
        "zindex": {
 
          "type": "number"
 
        },
 
        "aria": {
 
          "type": "boolean"
 
        },
 
        "description": {
 
          "type": "string"
 
        },
 
        "title": {
 
          "$ref": "#/refs/textOrSignal"
 
        },
 
        "titlePadding": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "titleAlign": {
 
          "oneOf": [
 
            {
 
              "enum": [
 
                "left",
 
                "right",
 
                "center"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/alignValue"
 
            }
 
          ]
 
        },
 
        "titleAnchor": {
 
          "oneOf": [
 
            {
 
              "enum": [
 
                null,
 
                "start",
 
                "middle",
 
                "end"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/anchorValue"
 
            }
 
          ]
 
        },
 
        "titleAngle": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "titleX": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "titleY": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "titleBaseline": {
 
          "oneOf": [
 
            {
 
              "enum": [
 
                "top",
 
                "middle",
 
                "bottom",
 
                "alphabetic",
 
                "line-top",
 
                "line-bottom"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/baselineValue"
 
            }
 
          ]
 
        },
 
        "titleColor": {
 
          "oneOf": [
 
            {
 
              "type": "null"
 
            },
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/colorValue"
 
            }
 
          ]
 
        },
 
        "titleFont": {
 
          "oneOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/stringValue"
 
            }
 
          ]
 
        },
 
        "titleFontSize": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "titleFontStyle": {
 
          "oneOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/stringValue"
 
            }
 
          ]
 
        },
 
        "titleFontWeight": {
 
          "oneOf": [
 
            {
 
              "enum": [
 
                null,
 
                "normal",
 
                "bold",
 
                "lighter",
 
                "bolder",
 
                "100",
 
                "200",
 
                "300",
 
                "400",
 
                "500",
 
                "600",
 
                "700",
 
                "800",
 
                "900",
 
                100,
 
                200,
 
                300,
 
                400,
 
                500,
 
                600,
 
                700,
 
                800,
 
                900
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/fontWeightValue"
 
            }
 
          ]
 
        },
 
        "titleLimit": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "titleLineHeight": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "titleOpacity": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "domain": {
 
          "type": "boolean"
 
        },
 
        "domainCap": {
 
          "oneOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/stringValue"
 
            }
 
          ]
 
        },
 
        "domainColor": {
 
          "oneOf": [
 
            {
 
              "type": "null"
 
            },
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/colorValue"
 
            }
 
          ]
 
        },
 
        "domainDash": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "type": "number"
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/arrayValue"
 
            }
 
          ]
 
        },
 
        "domainDashOffset": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "domainOpacity": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "domainWidth": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "ticks": {
 
          "type": "boolean"
 
        },
 
        "tickBand": {
 
          "$ref": "#/refs/tickBand"
 
        },
 
        "tickCap": {
 
          "oneOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/stringValue"
 
            }
 
          ]
 
        },
 
        "tickColor": {
 
          "oneOf": [
 
            {
 
              "type": "null"
 
            },
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/colorValue"
 
            }
 
          ]
 
        },
 
        "tickDash": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "type": "number"
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/arrayValue"
 
            }
 
          ]
 
        },
 
        "tickDashOffset": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "tickOffset": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "tickOpacity": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "tickRound": {
 
          "oneOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/booleanValue"
 
            }
 
          ]
 
        },
 
        "tickSize": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "tickWidth": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "tickCount": {
 
          "$ref": "#/refs/tickCount"
 
        },
 
        "tickExtra": {
 
          "$ref": "#/refs/booleanOrSignal"
 
        },
 
        "tickMinStep": {
 
          "$ref": "#/refs/numberOrSignal"
 
        },
 
        "grid": {
 
          "type": "boolean"
 
        },
 
        "gridScale": {
 
          "type": "string"
 
        },
 
        "gridCap": {
 
          "oneOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/stringValue"
 
            }
 
          ]
 
        },
 
        "gridColor": {
 
          "oneOf": [
 
            {
 
              "type": "null"
 
            },
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/colorValue"
 
            }
 
          ]
 
        },
 
        "gridDash": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "type": "number"
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/arrayValue"
 
            }
 
          ]
 
        },
 
        "gridDashOffset": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "gridOpacity": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "gridWidth": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "labels": {
 
          "type": "boolean"
 
        },
 
        "labelAlign": {
 
          "oneOf": [
 
            {
 
              "enum": [
 
                "left",
 
                "right",
 
                "center"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/alignValue"
 
            }
 
          ]
 
        },
 
        "labelBaseline": {
 
          "oneOf": [
 
            {
 
              "enum": [
 
                "top",
 
                "middle",
 
                "bottom",
 
                "alphabetic",
 
                "line-top",
 
                "line-bottom"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/baselineValue"
 
            }
 
          ]
 
        },
 
        "labelBound": {
 
          "oneOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "labelFlush": {
 
          "oneOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "labelFlushOffset": {
 
          "$ref": "#/refs/numberOrSignal"
 
        },
 
        "labelOverlap": {
 
          "$ref": "#/refs/labelOverlap"
 
        },
 
        "labelAngle": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "labelColor": {
 
          "oneOf": [
 
            {
 
              "type": "null"
 
            },
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/colorValue"
 
            }
 
          ]
 
        },
 
        "labelFont": {
 
          "oneOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/stringValue"
 
            }
 
          ]
 
        },
 
        "labelFontSize": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "labelFontWeight": {
 
          "oneOf": [
 
            {
 
              "enum": [
 
                null,
 
                "normal",
 
                "bold",
 
                "lighter",
 
                "bolder",
 
                "100",
 
                "200",
 
                "300",
 
                "400",
 
                "500",
 
                "600",
 
                "700",
 
                "800",
 
                "900",
 
                100,
 
                200,
 
                300,
 
                400,
 
                500,
 
                600,
 
                700,
 
                800,
 
                900
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/fontWeightValue"
 
            }
 
          ]
 
        },
 
        "labelFontStyle": {
 
          "oneOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/stringValue"
 
            }
 
          ]
 
        },
 
        "labelLimit": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "labelLineHeight": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "labelOpacity": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "labelOffset": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "labelPadding": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "labelSeparation": {
 
          "$ref": "#/refs/numberOrSignal"
 
        },
 
        "encode": {
 
          "type": "object",
 
          "properties": {
 
            "axis": {
 
              "$ref": "#/defs/guideEncode"
 
            },
 
            "ticks": {
 
              "$ref": "#/defs/guideEncode"
 
            },
 
            "labels": {
 
              "$ref": "#/defs/guideEncode"
 
            },
 
            "title": {
 
              "$ref": "#/defs/guideEncode"
 
            },
 
            "grid": {
 
              "$ref": "#/defs/guideEncode"
 
            },
 
            "domain": {
 
              "$ref": "#/defs/guideEncode"
 
            }
 
          },
 
          "additionalProperties": false
 
        }
 
      },
 
      "required": [
 
        "orient",
 
        "scale"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "background": {
 
      "$ref": "#/refs/stringOrSignal"
 
    },
 
    "bind": {
 
      "oneOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "input": {
 
              "enum": [
 
                "checkbox"
 
              ]
 
            },
 
            "element": {
 
              "$ref": "#/refs/element"
 
            },
 
            "debounce": {
 
              "type": "number"
 
            },
 
            "name": {
 
              "type": "string"
 
            }
 
          },
 
          "required": [
 
            "input"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "input": {
 
              "enum": [
 
                "radio",
 
                "select"
 
              ]
 
            },
 
            "element": {
 
              "$ref": "#/refs/element"
 
            },
 
            "options": {
 
              "type": "array"
 
            },
 
            "labels": {
 
              "type": "array",
 
              "items": {
 
                "type": "string"
 
              }
 
            },
 
            "debounce": {
 
              "type": "number"
 
            },
 
            "name": {
 
              "type": "string"
 
            }
 
          },
 
          "required": [
 
            "input",
 
            "options"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "input": {
 
              "enum": [
 
                "range"
 
              ]
 
            },
 
            "element": {
 
              "$ref": "#/refs/element"
 
            },
 
            "min": {
 
              "type": "number"
 
            },
 
            "max": {
 
              "type": "number"
 
            },
 
            "step": {
 
              "type": "number"
 
            },
 
            "debounce": {
 
              "type": "number"
 
            },
 
            "name": {
 
              "type": "string"
 
            }
 
          },
 
          "required": [
 
            "input"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "input": {
 
              "not": {
 
                "enum": [
 
                  "checkbox",
 
                  "radio",
 
                  "range",
 
                  "select"
 
                ]
 
              }
 
            },
 
            "element": {
 
              "$ref": "#/refs/element"
 
            },
 
            "debounce": {
 
              "type": "number"
 
            },
 
            "name": {
 
              "type": "string"
 
            }
 
          },
 
          "required": [
 
            "input"
 
          ],
 
          "additionalProperties": true
 
        }
 
      ]
 
    },
 
    "data": {
 
      "oneOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "name": {
 
              "type": "string"
 
            },
 
            "transform": {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/defs/transform"
 
              }
 
            },
 
            "on": {
 
              "$ref": "#/defs/onTrigger"
 
            }
 
          },
 
          "required": [
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "source": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "type": "string"
 
                  },
 
                  "minItems": 1
 
                }
 
              ]
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "transform": {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/defs/transform"
 
              }
 
            },
 
            "on": {
 
              "$ref": "#/defs/onTrigger"
 
            }
 
          },
 
          "required": [
 
            "source",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "url": {
 
              "$ref": "#/refs/stringOrSignal"
 
            },
 
            "format": {
 
              "oneOf": [
 
                {
 
                  "anyOf": [
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "type": {
 
                          "$ref": "#/refs/stringOrSignal"
 
                        },
 
                        "parse": {
 
                          "oneOf": [
 
                            {
 
                              "enum": [
 
                                "auto"
 
                              ]
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {},
 
                              "additionalProperties": {
 
                                "oneOf": [
 
                                  {
 
                                    "enum": [
 
                                      "boolean",
 
                                      "number",
 
                                      "date",
 
                                      "string"
 
                                    ]
 
                                  },
 
                                  {
 
                                    "type": "string",
 
                                    "pattern": "^(date|utc):.*$"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            {
 
                              "$ref": "#/refs/signal"
 
                            }
 
                          ]
 
                        }
 
                      }
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "type": {
 
                          "enum": [
 
                            "json"
 
                          ]
 
                        },
 
                        "parse": {
 
                          "oneOf": [
 
                            {
 
                              "enum": [
 
                                "auto"
 
                              ]
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {},
 
                              "additionalProperties": {
 
                                "oneOf": [
 
                                  {
 
                                    "enum": [
 
                                      "boolean",
 
                                      "number",
 
                                      "date",
 
                                      "string"
 
                                    ]
 
                                  },
 
                                  {
 
                                    "type": "string",
 
                                    "pattern": "^(date|utc):.*$"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            {
 
                              "$ref": "#/refs/signal"
 
                            }
 
                          ]
 
                        },
 
                        "property": {
 
                          "$ref": "#/refs/stringOrSignal"
 
                        },
 
                        "copy": {
 
                          "$ref": "#/refs/booleanOrSignal"
 
                        }
 
                      },
 
                      "additionalProperties": false
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "type": {
 
                          "enum": [
 
                            "csv",
 
                            "tsv"
 
                          ]
 
                        },
 
                        "header": {
 
                          "type": "array",
 
                          "items": {
 
                            "type": "string"
 
                          }
 
                        },
 
                        "parse": {
 
                          "oneOf": [
 
                            {
 
                              "enum": [
 
                                "auto"
 
                              ]
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {},
 
                              "additionalProperties": {
 
                                "oneOf": [
 
                                  {
 
                                    "enum": [
 
                                      "boolean",
 
                                      "number",
 
                                      "date",
 
                                      "string"
 
                                    ]
 
                                  },
 
                                  {
 
                                    "type": "string",
 
                                    "pattern": "^(date|utc):.*$"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            {
 
                              "$ref": "#/refs/signal"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "type"
 
                      ],
 
                      "additionalProperties": false
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "type": {
 
                          "enum": [
 
                            "dsv"
 
                          ]
 
                        },
 
                        "delimiter": {
 
                          "type": "string"
 
                        },
 
                        "header": {
 
                          "type": "array",
 
                          "items": {
 
                            "type": "string"
 
                          }
 
                        },
 
                        "parse": {
 
                          "oneOf": [
 
                            {
 
                              "enum": [
 
                                "auto"
 
                              ]
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {},
 
                              "additionalProperties": {
 
                                "oneOf": [
 
                                  {
 
                                    "enum": [
 
                                      "boolean",
 
                                      "number",
 
                                      "date",
 
                                      "string"
 
                                    ]
 
                                  },
 
                                  {
 
                                    "type": "string",
 
                                    "pattern": "^(date|utc):.*$"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            {
 
                              "$ref": "#/refs/signal"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "type",
 
                        "delimiter"
 
                      ],
 
                      "additionalProperties": false
 
                    },
 
                    {
 
                      "oneOf": [
 
                        {
 
                          "type": "object",
 
                          "properties": {
 
                            "type": {
 
                              "enum": [
 
                                "topojson"
 
                              ]
 
                            },
 
                            "feature": {
 
                              "$ref": "#/refs/stringOrSignal"
 
                            },
 
                            "property": {
 
                              "$ref": "#/refs/stringOrSignal"
 
                            }
 
                          },
 
                          "required": [
 
                            "type",
 
                            "feature"
 
                          ],
 
                          "additionalProperties": false
 
                        },
 
                        {
 
                          "type": "object",
 
                          "properties": {
 
                            "type": {
 
                              "enum": [
 
                                "topojson"
 
                              ]
 
                            },
 
                            "mesh": {
 
                              "$ref": "#/refs/stringOrSignal"
 
                            },
 
                            "property": {
 
                              "$ref": "#/refs/stringOrSignal"
 
                            },
 
                            "filter": {
 
                              "enum": [
 
                                "interior",
 
                                "exterior",
 
                                null
 
                              ]
 
                            }
 
                          },
 
                          "required": [
 
                            "type",
 
                            "mesh"
 
                          ],
 
                          "additionalProperties": false
 
                        }
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "async": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "transform": {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/defs/transform"
 
              }
 
            },
 
            "on": {
 
              "$ref": "#/defs/onTrigger"
 
            }
 
          },
 
          "required": [
 
            "url",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "values": {
 
              "oneOf": [
 
                {},
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "format": {
 
              "oneOf": [
 
                {
 
                  "anyOf": [
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "type": {
 
                          "$ref": "#/refs/stringOrSignal"
 
                        },
 
                        "parse": {
 
                          "oneOf": [
 
                            {
 
                              "enum": [
 
                                "auto"
 
                              ]
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {},
 
                              "additionalProperties": {
 
                                "oneOf": [
 
                                  {
 
                                    "enum": [
 
                                      "boolean",
 
                                      "number",
 
                                      "date",
 
                                      "string"
 
                                    ]
 
                                  },
 
                                  {
 
                                    "type": "string",
 
                                    "pattern": "^(date|utc):.*$"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            {
 
                              "$ref": "#/refs/signal"
 
                            }
 
                          ]
 
                        }
 
                      }
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "type": {
 
                          "enum": [
 
                            "json"
 
                          ]
 
                        },
 
                        "parse": {
 
                          "oneOf": [
 
                            {
 
                              "enum": [
 
                                "auto"
 
                              ]
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {},
 
                              "additionalProperties": {
 
                                "oneOf": [
 
                                  {
 
                                    "enum": [
 
                                      "boolean",
 
                                      "number",
 
                                      "date",
 
                                      "string"
 
                                    ]
 
                                  },
 
                                  {
 
                                    "type": "string",
 
                                    "pattern": "^(date|utc):.*$"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            {
 
                              "$ref": "#/refs/signal"
 
                            }
 
                          ]
 
                        },
 
                        "property": {
 
                          "$ref": "#/refs/stringOrSignal"
 
                        },
 
                        "copy": {
 
                          "$ref": "#/refs/booleanOrSignal"
 
                        }
 
                      },
 
                      "additionalProperties": false
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "type": {
 
                          "enum": [
 
                            "csv",
 
                            "tsv"
 
                          ]
 
                        },
 
                        "header": {
 
                          "type": "array",
 
                          "items": {
 
                            "type": "string"
 
                          }
 
                        },
 
                        "parse": {
 
                          "oneOf": [
 
                            {
 
                              "enum": [
 
                                "auto"
 
                              ]
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {},
 
                              "additionalProperties": {
 
                                "oneOf": [
 
                                  {
 
                                    "enum": [
 
                                      "boolean",
 
                                      "number",
 
                                      "date",
 
                                      "string"
 
                                    ]
 
                                  },
 
                                  {
 
                                    "type": "string",
 
                                    "pattern": "^(date|utc):.*$"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            {
 
                              "$ref": "#/refs/signal"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "type"
 
                      ],
 
                      "additionalProperties": false
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "type": {
 
                          "enum": [
 
                            "dsv"
 
                          ]
 
                        },
 
                        "delimiter": {
 
                          "type": "string"
 
                        },
 
                        "header": {
 
                          "type": "array",
 
                          "items": {
 
                            "type": "string"
 
                          }
 
                        },
 
                        "parse": {
 
                          "oneOf": [
 
                            {
 
                              "enum": [
 
                                "auto"
 
                              ]
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {},
 
                              "additionalProperties": {
 
                                "oneOf": [
 
                                  {
 
                                    "enum": [
 
                                      "boolean",
 
                                      "number",
 
                                      "date",
 
                                      "string"
 
                                    ]
 
                                  },
 
                                  {
 
                                    "type": "string",
 
                                    "pattern": "^(date|utc):.*$"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            {
 
                              "$ref": "#/refs/signal"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "type",
 
                        "delimiter"
 
                      ],
 
                      "additionalProperties": false
 
                    },
 
                    {
 
                      "oneOf": [
 
                        {
 
                          "type": "object",
 
                          "properties": {
 
                            "type": {
 
                              "enum": [
 
                                "topojson"
 
                              ]
 
                            },
 
                            "feature": {
 
                              "$ref": "#/refs/stringOrSignal"
 
                            },
 
                            "property": {
 
                              "$ref": "#/refs/stringOrSignal"
 
                            }
 
                          },
 
                          "required": [
 
                            "type",
 
                            "feature"
 
                          ],
 
                          "additionalProperties": false
 
                        },
 
                        {
 
                          "type": "object",
 
                          "properties": {
 
                            "type": {
 
                              "enum": [
 
                                "topojson"
 
                              ]
 
                            },
 
                            "mesh": {
 
                              "$ref": "#/refs/stringOrSignal"
 
                            },
 
                            "property": {
 
                              "$ref": "#/refs/stringOrSignal"
 
                            },
 
                            "filter": {
 
                              "enum": [
 
                                "interior",
 
                                "exterior",
 
                                null
 
                              ]
 
                            }
 
                          },
 
                          "required": [
 
                            "type",
 
                            "mesh"
 
                          ],
 
                          "additionalProperties": false
 
                        }
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "async": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "transform": {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/defs/transform"
 
              }
 
            },
 
            "on": {
 
              "$ref": "#/defs/onTrigger"
 
            }
 
          },
 
          "required": [
 
            "values",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "rule": {
 
      "type": "object",
 
      "properties": {
 
        "test": {
 
          "type": "string"
 
        }
 
      }
 
    },
 
    "encodeEntry": {
 
      "type": "object",
 
      "properties": {
 
        "x": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "x2": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "xc": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "width": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "y": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "y2": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "yc": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "height": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "opacity": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "fill": {
 
          "$ref": "#/refs/colorValue"
 
        },
 
        "fillOpacity": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "stroke": {
 
          "$ref": "#/refs/colorValue"
 
        },
 
        "strokeOpacity": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "strokeWidth": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "strokeCap": {
 
          "$ref": "#/refs/strokeCapValue"
 
        },
 
        "strokeDash": {
 
          "$ref": "#/refs/arrayValue"
 
        },
 
        "strokeDashOffset": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "strokeJoin": {
 
          "$ref": "#/refs/strokeJoinValue"
 
        },
 
        "strokeMiterLimit": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "blend": {
 
          "$ref": "#/refs/blendValue"
 
        },
 
        "cursor": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "tooltip": {
 
          "$ref": "#/refs/anyValue"
 
        },
 
        "zindex": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "description": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "aria": {
 
          "$ref": "#/refs/booleanValue"
 
        },
 
        "ariaRole": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "ariaRoleDescription": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "clip": {
 
          "$ref": "#/refs/booleanValue"
 
        },
 
        "strokeForeground": {
 
          "$ref": "#/refs/booleanValue"
 
        },
 
        "strokeOffset": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "cornerRadius": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "cornerRadiusTopLeft": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "cornerRadiusTopRight": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "cornerRadiusBottomRight": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "cornerRadiusBottomLeft": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "angle": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "size": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "shape": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "path": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "scaleX": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "scaleY": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "innerRadius": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "outerRadius": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "startAngle": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "endAngle": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "padAngle": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "interpolate": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "tension": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "orient": {
 
          "$ref": "#/refs/directionValue"
 
        },
 
        "defined": {
 
          "$ref": "#/refs/booleanValue"
 
        },
 
        "url": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "align": {
 
          "$ref": "#/refs/alignValue"
 
        },
 
        "baseline": {
 
          "$ref": "#/refs/baselineValue"
 
        },
 
        "aspect": {
 
          "$ref": "#/refs/booleanValue"
 
        },
 
        "smooth": {
 
          "$ref": "#/refs/booleanValue"
 
        },
 
        "text": {
 
          "$ref": "#/refs/textValue"
 
        },
 
        "dir": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "ellipsis": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "limit": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "lineBreak": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "lineHeight": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "dx": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "dy": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "radius": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "theta": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "font": {
 
          "$ref": "#/refs/stringValue"
 
        },
 
        "fontSize": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "fontWeight": {
 
          "$ref": "#/refs/fontWeightValue"
 
        },
 
        "fontStyle": {
 
          "$ref": "#/refs/stringValue"
 
        }
 
      },
 
      "additionalProperties": true
 
    },
 
    "encode": {
 
      "type": "object",
 
      "additionalProperties": false,
 
      "patternProperties": {
 
        "^.+$": {
 
          "$ref": "#/defs/encodeEntry"
 
        }
 
      }
 
    },
 
    "layout": {
 
      "oneOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "align": {
 
              "oneOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "enum": [
 
                        "all",
 
                        "each",
 
                        "none"
 
                      ]
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "row": {
 
                      "oneOf": [
 
                        {
 
                          "enum": [
 
                            "all",
 
                            "each",
 
                            "none"
 
                          ]
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "column": {
 
                      "oneOf": [
 
                        {
 
                          "enum": [
 
                            "all",
 
                            "each",
 
                            "none"
 
                          ]
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            },
 
            "bounds": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "full",
 
                    "flush"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "center": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "row": {
 
                      "$ref": "#/refs/booleanOrSignal"
 
                    },
 
                    "column": {
 
                      "$ref": "#/refs/booleanOrSignal"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            },
 
            "columns": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "padding": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "row": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "column": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            },
 
            "offset": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "rowHeader": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "rowFooter": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "rowTitle": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "columnHeader": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "columnFooter": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "columnTitle": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            },
 
            "headerBand": {
 
              "oneOf": [
 
                {
 
                  "$ref": "#/refs/numberOrSignal"
 
                },
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "row": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "column": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            },
 
            "footerBand": {
 
              "oneOf": [
 
                {
 
                  "$ref": "#/refs/numberOrSignal"
 
                },
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "row": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "column": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            },
 
            "titleBand": {
 
              "oneOf": [
 
                {
 
                  "$ref": "#/refs/numberOrSignal"
 
                },
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "row": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "column": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            },
 
            "titleAnchor": {
 
              "oneOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "enum": [
 
                        "start",
 
                        "end"
 
                      ]
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "row": {
 
                      "oneOf": [
 
                        {
 
                          "enum": [
 
                            "start",
 
                            "end"
 
                          ]
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "column": {
 
                      "oneOf": [
 
                        {
 
                          "enum": [
 
                            "start",
 
                            "end"
 
                          ]
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            }
 
          },
 
          "additionalProperties": false
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "guideEncode": {
 
      "type": "object",
 
      "properties": {
 
        "name": {
 
          "type": "string"
 
        },
 
        "interactive": {
 
          "type": "boolean",
 
          "default": false
 
        },
 
        "style": {
 
          "$ref": "#/refs/style"
 
        }
 
      },
 
      "additionalProperties": false,
 
      "patternProperties": {
 
        "^(?!interactive|name|style).+$": {
 
          "$ref": "#/defs/encodeEntry"
 
        }
 
      }
 
    },
 
    "legend": {
 
      "allOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "size": {
 
              "type": "string"
 
            },
 
            "shape": {
 
              "type": "string"
 
            },
 
            "fill": {
 
              "type": "string"
 
            },
 
            "stroke": {
 
              "type": "string"
 
            },
 
            "opacity": {
 
              "type": "string"
 
            },
 
            "strokeDash": {
 
              "type": "string"
 
            },
 
            "strokeWidth": {
 
              "type": "string"
 
            },
 
            "type": {
 
              "enum": [
 
                "gradient",
 
                "symbol"
 
              ]
 
            },
 
            "direction": {
 
              "enum": [
 
                "vertical",
 
                "horizontal"
 
              ]
 
            },
 
            "orient": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "none",
 
                    "left",
 
                    "right",
 
                    "top",
 
                    "bottom",
 
                    "top-left",
 
                    "top-right",
 
                    "bottom-left",
 
                    "bottom-right"
 
                  ],
 
                  "default": "right"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "tickCount": {
 
              "$ref": "#/refs/tickCount"
 
            },
 
            "tickMinStep": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "symbolLimit": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "values": {
 
              "$ref": "#/refs/arrayOrSignal"
 
            },
 
            "zindex": {
 
              "type": "number"
 
            },
 
            "aria": {
 
              "type": "boolean"
 
            },
 
            "description": {
 
              "type": "string"
 
            },
 
            "cornerRadius": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "fillColor": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/colorValue"
 
                }
 
              ]
 
            },
 
            "offset": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "padding": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "strokeColor": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/colorValue"
 
                }
 
              ]
 
            },
 
            "legendX": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "legendY": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "title": {
 
              "$ref": "#/refs/textOrSignal"
 
            },
 
            "titleAlign": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "left",
 
                    "right",
 
                    "center"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/alignValue"
 
                }
 
              ]
 
            },
 
            "titleAnchor": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    null,
 
                    "start",
 
                    "middle",
 
                    "end"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/anchorValue"
 
                }
 
              ]
 
            },
 
            "titleBaseline": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "top",
 
                    "middle",
 
                    "bottom",
 
                    "alphabetic",
 
                    "line-top",
 
                    "line-bottom"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/baselineValue"
 
                }
 
              ]
 
            },
 
            "titleColor": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/colorValue"
 
                }
 
              ]
 
            },
 
            "titleFont": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "titleFontSize": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "titleFontStyle": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "titleFontWeight": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    null,
 
                    "normal",
 
                    "bold",
 
                    "lighter",
 
                    "bolder",
 
                    "100",
 
                    "200",
 
                    "300",
 
                    "400",
 
                    "500",
 
                    "600",
 
                    "700",
 
                    "800",
 
                    "900",
 
                    100,
 
                    200,
 
                    300,
 
                    400,
 
                    500,
 
                    600,
 
                    700,
 
                    800,
 
                    900
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/fontWeightValue"
 
                }
 
              ]
 
            },
 
            "titleLimit": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "titleLineHeight": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "titleOpacity": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "titleOrient": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "left",
 
                    "right",
 
                    "top",
 
                    "bottom"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/orientValue"
 
                }
 
              ]
 
            },
 
            "titlePadding": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "gradientLength": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "gradientOpacity": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "gradientStrokeColor": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/colorValue"
 
                }
 
              ]
 
            },
 
            "gradientStrokeWidth": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "gradientThickness": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "clipHeight": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "columns": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "columnPadding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "rowPadding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "gridAlign": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "all",
 
                    "each",
 
                    "none"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "symbolDash": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "type": "number"
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/arrayValue"
 
                }
 
              ]
 
            },
 
            "symbolDashOffset": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "symbolFillColor": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/colorValue"
 
                }
 
              ]
 
            },
 
            "symbolOffset": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "symbolOpacity": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "symbolSize": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "symbolStrokeColor": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/colorValue"
 
                }
 
              ]
 
            },
 
            "symbolStrokeWidth": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "symbolType": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "format": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "year": {
 
                      "type": "string"
 
                    },
 
                    "quarter": {
 
                      "type": "string"
 
                    },
 
                    "month": {
 
                      "type": "string"
 
                    },
 
                    "date": {
 
                      "type": "string"
 
                    },
 
                    "week": {
 
                      "type": "string"
 
                    },
 
                    "day": {
 
                      "type": "string"
 
                    },
 
                    "hours": {
 
                      "type": "string"
 
                    },
 
                    "minutes": {
 
                      "type": "string"
 
                    },
 
                    "seconds": {
 
                      "type": "string"
 
                    },
 
                    "milliseconds": {
 
                      "type": "string"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "formatType": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "number",
 
                    "time",
 
                    "utc"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "labelAlign": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "left",
 
                    "right",
 
                    "center"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/alignValue"
 
                }
 
              ]
 
            },
 
            "labelBaseline": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "top",
 
                    "middle",
 
                    "bottom",
 
                    "alphabetic",
 
                    "line-top",
 
                    "line-bottom"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/baselineValue"
 
                }
 
              ]
 
            },
 
            "labelColor": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/colorValue"
 
                }
 
              ]
 
            },
 
            "labelFont": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "labelFontSize": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "labelFontStyle": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "labelFontWeight": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    null,
 
                    "normal",
 
                    "bold",
 
                    "lighter",
 
                    "bolder",
 
                    "100",
 
                    "200",
 
                    "300",
 
                    "400",
 
                    "500",
 
                    "600",
 
                    "700",
 
                    "800",
 
                    "900",
 
                    100,
 
                    200,
 
                    300,
 
                    400,
 
                    500,
 
                    600,
 
                    700,
 
                    800,
 
                    900
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/fontWeightValue"
 
                }
 
              ]
 
            },
 
            "labelLimit": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "labelOffset": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "labelOpacity": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "labelOverlap": {
 
              "$ref": "#/refs/labelOverlap"
 
            },
 
            "labelSeparation": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "encode": {
 
              "type": "object",
 
              "properties": {
 
                "title": {
 
                  "$ref": "#/defs/guideEncode"
 
                },
 
                "labels": {
 
                  "$ref": "#/defs/guideEncode"
 
                },
 
                "legend": {
 
                  "$ref": "#/defs/guideEncode"
 
                },
 
                "entries": {
 
                  "$ref": "#/defs/guideEncode"
 
                },
 
                "symbols": {
 
                  "$ref": "#/defs/guideEncode"
 
                },
 
                "gradient": {
 
                  "$ref": "#/defs/guideEncode"
 
                }
 
              },
 
              "additionalProperties": false
 
            }
 
          },
 
          "additionalProperties": false
 
        },
 
        {
 
          "anyOf": [
 
            {
 
              "type": "object",
 
              "required": [
 
                "size"
 
              ]
 
            },
 
            {
 
              "type": "object",
 
              "required": [
 
                "shape"
 
              ]
 
            },
 
            {
 
              "type": "object",
 
              "required": [
 
                "fill"
 
              ]
 
            },
 
            {
 
              "type": "object",
 
              "required": [
 
                "stroke"
 
              ]
 
            },
 
            {
 
              "type": "object",
 
              "required": [
 
                "opacity"
 
              ]
 
            },
 
            {
 
              "type": "object",
 
              "required": [
 
                "strokeDash"
 
              ]
 
            },
 
            {
 
              "type": "object",
 
              "required": [
 
                "strokeWidth"
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "mark": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "$ref": "#/refs/marktype"
 
        },
 
        "role": {
 
          "type": "string"
 
        },
 
        "name": {
 
          "type": "string"
 
        },
 
        "description": {
 
          "type": "string"
 
        },
 
        "aria": {
 
          "type": "boolean"
 
        },
 
        "style": {
 
          "$ref": "#/refs/style"
 
        },
 
        "key": {
 
          "type": "string"
 
        },
 
        "clip": {
 
          "$ref": "#/refs/markclip"
 
        },
 
        "sort": {
 
          "$ref": "#/refs/compare"
 
        },
 
        "interactive": {
 
          "$ref": "#/refs/booleanOrSignal"
 
        },
 
        "encode": {
 
          "$ref": "#/defs/encode"
 
        },
 
        "transform": {
 
          "type": "array",
 
          "items": {
 
            "$ref": "#/defs/transformMark"
 
          }
 
        },
 
        "on": {
 
          "$ref": "#/defs/onMarkTrigger"
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ]
 
    },
 
    "markGroup": {
 
      "allOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "group"
 
              ]
 
            },
 
            "from": {
 
              "oneOf": [
 
                {
 
                  "$ref": "#/refs/from"
 
                },
 
                {
 
                  "$ref": "#/refs/facet"
 
                }
 
              ]
 
            }
 
          },
 
          "required": [
 
            "type"
 
          ]
 
        },
 
        {
 
          "$ref": "#/defs/mark"
 
        },
 
        {
 
          "$ref": "#/defs/scope"
 
        }
 
      ]
 
    },
 
    "markVisual": {
 
      "allOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "not": {
 
                "enum": [
 
                  "group"
 
                ]
 
              }
 
            },
 
            "from": {
 
              "$ref": "#/refs/from"
 
            }
 
          }
 
        },
 
        {
 
          "$ref": "#/defs/mark"
 
        }
 
      ]
 
    },
 
    "listener": {
 
      "oneOf": [
 
        {
 
          "$ref": "#/refs/signal"
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "scale": {
 
              "type": "string"
 
            }
 
          },
 
          "required": [
 
            "scale"
 
          ]
 
        },
 
        {
 
          "$ref": "#/defs/stream"
 
        }
 
      ]
 
    },
 
    "onEvents": {
 
      "type": "array",
 
      "items": {
 
        "allOf": [
 
          {
 
            "type": "object",
 
            "properties": {
 
              "events": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/selector"
 
                  },
 
                  {
 
                    "$ref": "#/defs/listener"
 
                  },
 
                  {
 
                    "type": "array",
 
                    "items": {
 
                      "$ref": "#/defs/listener"
 
                    },
 
                    "minItems": 1
 
                  }
 
                ]
 
              },
 
              "force": {
 
                "type": "boolean"
 
              }
 
            },
 
            "required": [
 
              "events"
 
            ]
 
          },
 
          {
 
            "oneOf": [
 
              {
 
                "type": "object",
 
                "properties": {
 
                  "encode": {
 
                    "type": "string"
 
                  }
 
                },
 
                "required": [
 
                  "encode"
 
                ]
 
              },
 
              {
 
                "type": "object",
 
                "properties": {
 
                  "update": {
 
                    "oneOf": [
 
                      {
 
                        "$ref": "#/refs/exprString"
 
                      },
 
                      {
 
                        "$ref": "#/refs/expr"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "object",
 
                        "properties": {
 
                          "value": {}
 
                        },
 
                        "required": [
 
                          "value"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                },
 
                "required": [
 
                  "update"
 
                ]
 
              }
 
            ]
 
          }
 
        ]
 
      }
 
    },
 
    "onTrigger": {
 
      "type": "array",
 
      "items": {
 
        "type": "object",
 
        "properties": {
 
          "trigger": {
 
            "$ref": "#/refs/exprString"
 
          },
 
          "insert": {
 
            "$ref": "#/refs/exprString"
 
          },
 
          "remove": {
 
            "oneOf": [
 
              {
 
                "type": "boolean"
 
              },
 
              {
 
                "$ref": "#/refs/exprString"
 
              }
 
            ]
 
          },
 
          "toggle": {
 
            "$ref": "#/refs/exprString"
 
          },
 
          "modify": {
 
            "$ref": "#/refs/exprString"
 
          },
 
          "values": {
 
            "$ref": "#/refs/exprString"
 
          }
 
        },
 
        "required": [
 
          "trigger"
 
        ],
 
        "additionalProperties": false
 
      }
 
    },
 
    "onMarkTrigger": {
 
      "type": "array",
 
      "items": {
 
        "type": "object",
 
        "properties": {
 
          "trigger": {
 
            "$ref": "#/refs/exprString"
 
          },
 
          "modify": {
 
            "$ref": "#/refs/exprString"
 
          },
 
          "values": {
 
            "$ref": "#/refs/exprString"
 
          }
 
        },
 
        "required": [
 
          "trigger"
 
        ],
 
        "additionalProperties": false
 
      }
 
    },
 
    "padding": {
 
      "oneOf": [
 
        {
 
          "type": "number"
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "top": {
 
              "type": "number"
 
            },
 
            "bottom": {
 
              "type": "number"
 
            },
 
            "left": {
 
              "type": "number"
 
            },
 
            "right": {
 
              "type": "number"
 
            }
 
          },
 
          "additionalProperties": false
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "projection": {
 
      "type": "object",
 
      "properties": {
 
        "name": {
 
          "type": "string"
 
        },
 
        "type": {
 
          "$ref": "#/refs/stringOrSignal"
 
        },
 
        "clipAngle": {
 
          "$ref": "#/refs/numberOrSignal"
 
        },
 
        "clipExtent": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "type": "array",
 
                    "items": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "minItems": 2,
 
                    "maxItems": 2
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              },
 
              "minItems": 2,
 
              "maxItems": 2
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "scale": {
 
          "$ref": "#/refs/numberOrSignal"
 
        },
 
        "translate": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/refs/numberOrSignal"
 
              },
 
              "minItems": 2,
 
              "maxItems": 2
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "center": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/refs/numberOrSignal"
 
              },
 
              "minItems": 2,
 
              "maxItems": 2
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "rotate": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/refs/numberOrSignal"
 
              },
 
              "minItems": 2,
 
              "maxItems": 3
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "parallels": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/refs/numberOrSignal"
 
              },
 
              "minItems": 2,
 
              "maxItems": 2
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "precision": {
 
          "$ref": "#/refs/numberOrSignal"
 
        },
 
        "pointRadius": {
 
          "$ref": "#/refs/numberOrSignal"
 
        },
 
        "fit": {
 
          "oneOf": [
 
            {
 
              "type": "object"
 
            },
 
            {
 
              "type": "array"
 
            }
 
          ]
 
        },
 
        "extent": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "type": "array",
 
                    "items": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "minItems": 2,
 
                    "maxItems": 2
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              },
 
              "minItems": 2,
 
              "maxItems": 2
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/refs/numberOrSignal"
 
              },
 
              "minItems": 2,
 
              "maxItems": 2
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "name"
 
      ],
 
      "additionalProperties": true
 
    },
 
    "scale": {
 
      "oneOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "identity"
 
              ]
 
            },
 
            "nice": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "ordinal"
 
              ]
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "scheme": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "string"
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          }
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "count": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "extent": {
 
                      "oneOf": [
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/numberOrSignal"
 
                          },
 
                          "numItems": 2
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "required": [
 
                    "scheme"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "oneOf": [
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "data": {
 
                          "type": "string"
 
                        },
 
                        "field": {
 
                          "$ref": "#/refs/stringOrSignal"
 
                        },
 
                        "sort": {
 
                          "oneOf": [
 
                            {
 
                              "type": "boolean"
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {
 
                                "field": {
 
                                  "$ref": "#/refs/stringOrSignal"
 
                                },
 
                                "op": {
 
                                  "$ref": "#/refs/stringOrSignal"
 
                                },
 
                                "order": {
 
                                  "$ref": "#/refs/sortOrder"
 
                                }
 
                              },
 
                              "additionalProperties": false
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "data",
 
                        "field"
 
                      ],
 
                      "additionalProperties": false
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "data": {
 
                          "type": "string"
 
                        },
 
                        "fields": {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/stringOrSignal"
 
                          },
 
                          "minItems": 1
 
                        },
 
                        "sort": {
 
                          "oneOf": [
 
                            {
 
                              "type": "boolean"
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {
 
                                "op": {
 
                                  "enum": [
 
                                    "count"
 
                                  ]
 
                                },
 
                                "order": {
 
                                  "$ref": "#/refs/sortOrder"
 
                                }
 
                              },
 
                              "additionalProperties": false
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {
 
                                "field": {
 
                                  "$ref": "#/refs/stringOrSignal"
 
                                },
 
                                "op": {
 
                                  "enum": [
 
                                    "count",
 
                                    "min",
 
                                    "max"
 
                                  ]
 
                                },
 
                                "order": {
 
                                  "$ref": "#/refs/sortOrder"
 
                                }
 
                              },
 
                              "required": [
 
                                "field",
 
                                "op"
 
                              ],
 
                              "additionalProperties": false
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "data",
 
                        "fields"
 
                      ],
 
                      "additionalProperties": false
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "fields": {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "object",
 
                                "properties": {
 
                                  "data": {
 
                                    "type": "string"
 
                                  },
 
                                  "field": {
 
                                    "$ref": "#/refs/stringOrSignal"
 
                                  }
 
                                },
 
                                "required": [
 
                                  "data",
 
                                  "field"
 
                                ],
 
                                "additionalProperties": false
 
                              },
 
                              {
 
                                "type": "array",
 
                                "items": {
 
                                  "oneOf": [
 
                                    {
 
                                      "type": "string"
 
                                    },
 
                                    {
 
                                      "type": "number"
 
                                    },
 
                                    {
 
                                      "type": "boolean"
 
                                    }
 
                                  ]
 
                                }
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          },
 
                          "minItems": 1
 
                        },
 
                        "sort": {
 
                          "oneOf": [
 
                            {
 
                              "type": "boolean"
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {
 
                                "op": {
 
                                  "enum": [
 
                                    "count"
 
                                  ]
 
                                },
 
                                "order": {
 
                                  "$ref": "#/refs/sortOrder"
 
                                }
 
                              },
 
                              "additionalProperties": false
 
                            },
 
                            {
 
                              "type": "object",
 
                              "properties": {
 
                                "field": {
 
                                  "$ref": "#/refs/stringOrSignal"
 
                                },
 
                                "op": {
 
                                  "enum": [
 
                                    "count",
 
                                    "min",
 
                                    "max"
 
                                  ]
 
                                },
 
                                "order": {
 
                                  "$ref": "#/refs/sortOrder"
 
                                }
 
                              },
 
                              "required": [
 
                                "field",
 
                                "op"
 
                              ],
 
                              "additionalProperties": false
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "fields"
 
                      ],
 
                      "additionalProperties": false
 
                    }
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "interpolate": {
 
              "$ref": "#/refs/scaleInterpolate"
 
            },
 
            "domainImplicit": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "band"
 
              ]
 
            },
 
            "paddingInner": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "step": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    }
 
                  },
 
                  "required": [
 
                    "step"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "padding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "paddingOuter": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "align": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "point"
 
              ]
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "step": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    }
 
                  },
 
                  "required": [
 
                    "step"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "padding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "paddingOuter": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "align": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "quantize",
 
                "threshold"
 
              ]
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "scheme": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "string"
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          }
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "count": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "extent": {
 
                      "oneOf": [
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/numberOrSignal"
 
                          },
 
                          "numItems": 2
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "required": [
 
                    "scheme"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "interpolate": {
 
              "$ref": "#/refs/scaleInterpolate"
 
            },
 
            "nice": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "zero": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "quantile"
 
              ]
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "scheme": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "string"
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          }
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "count": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "extent": {
 
                      "oneOf": [
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/numberOrSignal"
 
                          },
 
                          "numItems": 2
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "required": [
 
                    "scheme"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "interpolate": {
 
              "$ref": "#/refs/scaleInterpolate"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "bin-ordinal"
 
              ]
 
            },
 
            "bins": {
 
              "$ref": "#/refs/scaleBins"
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "scheme": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "string"
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          }
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "count": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "extent": {
 
                      "oneOf": [
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/numberOrSignal"
 
                          },
 
                          "numItems": 2
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "required": [
 
                    "scheme"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "interpolate": {
 
              "$ref": "#/refs/scaleInterpolate"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "time",
 
                "utc"
 
              ]
 
            },
 
            "nice": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "enum": [
 
                    "millisecond",
 
                    "second",
 
                    "minute",
 
                    "hour",
 
                    "day",
 
                    "week",
 
                    "month",
 
                    "year"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "interval": {
 
                      "oneOf": [
 
                        {
 
                          "enum": [
 
                            "millisecond",
 
                            "second",
 
                            "minute",
 
                            "hour",
 
                            "day",
 
                            "week",
 
                            "month",
 
                            "year"
 
                          ]
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "step": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    }
 
                  },
 
                  "required": [
 
                    "interval"
 
                  ],
 
                  "additionalProperties": false
 
                }
 
              ]
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "scheme": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "string"
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          }
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "count": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "extent": {
 
                      "oneOf": [
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/numberOrSignal"
 
                          },
 
                          "numItems": 2
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "required": [
 
                    "scheme"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "bins": {
 
              "$ref": "#/refs/scaleBins"
 
            },
 
            "interpolate": {
 
              "$ref": "#/refs/scaleInterpolate"
 
            },
 
            "clamp": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "padding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "linear",
 
                "sqrt",
 
                "sequential"
 
              ]
 
            },
 
            "nice": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "zero": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "scheme": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "string"
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          }
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "count": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "extent": {
 
                      "oneOf": [
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/numberOrSignal"
 
                          },
 
                          "numItems": 2
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "required": [
 
                    "scheme"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "bins": {
 
              "$ref": "#/refs/scaleBins"
 
            },
 
            "interpolate": {
 
              "$ref": "#/refs/scaleInterpolate"
 
            },
 
            "clamp": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "padding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "log"
 
              ]
 
            },
 
            "base": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "nice": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "zero": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "scheme": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "string"
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          }
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "count": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "extent": {
 
                      "oneOf": [
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/numberOrSignal"
 
                          },
 
                          "numItems": 2
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "required": [
 
                    "scheme"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "bins": {
 
              "$ref": "#/refs/scaleBins"
 
            },
 
            "interpolate": {
 
              "$ref": "#/refs/scaleInterpolate"
 
            },
 
            "clamp": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "padding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "pow"
 
              ]
 
            },
 
            "exponent": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "nice": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "zero": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "scheme": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "string"
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          }
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "count": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "extent": {
 
                      "oneOf": [
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/numberOrSignal"
 
                          },
 
                          "numItems": 2
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "required": [
 
                    "scheme"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "bins": {
 
              "$ref": "#/refs/scaleBins"
 
            },
 
            "interpolate": {
 
              "$ref": "#/refs/scaleInterpolate"
 
            },
 
            "clamp": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "padding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "enum": [
 
                "symlog"
 
              ]
 
            },
 
            "constant": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "nice": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "zero": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "range": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "width",
 
                    "height",
 
                    "symbol",
 
                    "category",
 
                    "ordinal",
 
                    "ramp",
 
                    "diverging",
 
                    "heatmap"
 
                  ]
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "scheme": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "oneOf": [
 
                              {
 
                                "type": "string"
 
                              },
 
                              {
 
                                "$ref": "#/refs/signal"
 
                              }
 
                            ]
 
                          }
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    },
 
                    "count": {
 
                      "$ref": "#/refs/numberOrSignal"
 
                    },
 
                    "extent": {
 
                      "oneOf": [
 
                        {
 
                          "type": "array",
 
                          "items": {
 
                            "$ref": "#/refs/numberOrSignal"
 
                          },
 
                          "numItems": 2
 
                        },
 
                        {
 
                          "$ref": "#/refs/signal"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  "required": [
 
                    "scheme"
 
                  ],
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "bins": {
 
              "$ref": "#/refs/scaleBins"
 
            },
 
            "interpolate": {
 
              "$ref": "#/refs/scaleInterpolate"
 
            },
 
            "clamp": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "padding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "domain": {
 
              "oneOf": [
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "oneOf": [
 
                      {
 
                        "type": "null"
 
                      },
 
                      {
 
                        "type": "boolean"
 
                      },
 
                      {
 
                        "type": "string"
 
                      },
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "type": "array",
 
                        "items": {
 
                          "$ref": "#/refs/numberOrSignal"
 
                        }
 
                      }
 
                    ]
 
                  }
 
                },
 
                {
 
                  "$ref": "#/refs/scaleData"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "domainMin": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMax": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainMid": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "domainRaw": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "array"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "reverse": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            },
 
            "round": {
 
              "$ref": "#/refs/booleanOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type",
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "scope": {
 
      "type": "object",
 
      "properties": {
 
        "encode": {
 
          "$ref": "#/defs/encode"
 
        },
 
        "layout": {
 
          "$ref": "#/defs/layout"
 
        },
 
        "signals": {
 
          "type": "array",
 
          "items": {
 
            "$ref": "#/defs/signal"
 
          }
 
        },
 
        "data": {
 
          "type": "array",
 
          "items": {
 
            "$ref": "#/defs/data"
 
          }
 
        },
 
        "scales": {
 
          "type": "array",
 
          "items": {
 
            "$ref": "#/defs/scale"
 
          }
 
        },
 
        "projections": {
 
          "type": "array",
 
          "items": {
 
            "$ref": "#/defs/projection"
 
          }
 
        },
 
        "axes": {
 
          "type": "array",
 
          "items": {
 
            "$ref": "#/defs/axis"
 
          }
 
        },
 
        "legends": {
 
          "type": "array",
 
          "items": {
 
            "$ref": "#/defs/legend"
 
          }
 
        },
 
        "title": {
 
          "$ref": "#/defs/title"
 
        },
 
        "marks": {
 
          "type": "array",
 
          "items": {
 
            "oneOf": [
 
              {
 
                "$ref": "#/defs/markGroup"
 
              },
 
              {
 
                "$ref": "#/defs/markVisual"
 
              }
 
            ]
 
          }
 
        },
 
        "usermeta": {
 
          "type": "object"
 
        }
 
      }
 
    },
 
    "signalName": {
 
      "type": "string",
 
      "not": {
 
        "enum": [
 
          "parent",
 
          "datum",
 
          "event",
 
          "item"
 
        ]
 
      }
 
    },
 
    "signal": {
 
      "oneOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "name": {
 
              "$ref": "#/defs/signalName"
 
            },
 
            "description": {
 
              "type": "string"
 
            },
 
            "push": {
 
              "enum": [
 
                "outer"
 
              ]
 
            },
 
            "on": {
 
              "$ref": "#/defs/onEvents"
 
            }
 
          },
 
          "required": [
 
            "name",
 
            "push"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "name": {
 
              "$ref": "#/defs/signalName"
 
            },
 
            "description": {
 
              "type": "string"
 
            },
 
            "value": {},
 
            "react": {
 
              "type": "boolean",
 
              "default": true
 
            },
 
            "update": {
 
              "$ref": "#/refs/exprString"
 
            },
 
            "on": {
 
              "$ref": "#/defs/onEvents"
 
            },
 
            "bind": {
 
              "$ref": "#/defs/bind"
 
            }
 
          },
 
          "required": [
 
            "name"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "name": {
 
              "$ref": "#/defs/signalName"
 
            },
 
            "description": {
 
              "type": "string"
 
            },
 
            "value": {},
 
            "init": {
 
              "$ref": "#/refs/exprString"
 
            },
 
            "on": {
 
              "$ref": "#/defs/onEvents"
 
            },
 
            "bind": {
 
              "$ref": "#/defs/bind"
 
            }
 
          },
 
          "required": [
 
            "name",
 
            "init"
 
          ],
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "stream": {
 
      "allOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "between": {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/defs/stream"
 
              },
 
              "minItems": 2,
 
              "maxItems": 2
 
            },
 
            "marktype": {
 
              "type": "string"
 
            },
 
            "markname": {
 
              "type": "string"
 
            },
 
            "filter": {
 
              "oneOf": [
 
                {
 
                  "$ref": "#/refs/exprString"
 
                },
 
                {
 
                  "type": "array",
 
                  "items": {
 
                    "$ref": "#/refs/exprString"
 
                  },
 
                  "minItems": 1
 
                }
 
              ]
 
            },
 
            "throttle": {
 
              "type": "number"
 
            },
 
            "debounce": {
 
              "type": "number"
 
            },
 
            "consume": {
 
              "type": "boolean"
 
            }
 
          }
 
        },
 
        {
 
          "oneOf": [
 
            {
 
              "type": "object",
 
              "properties": {
 
                "type": {
 
                  "type": "string"
 
                },
 
                "source": {
 
                  "type": "string"
 
                }
 
              },
 
              "required": [
 
                "type"
 
              ]
 
            },
 
            {
 
              "type": "object",
 
              "properties": {
 
                "stream": {
 
                  "$ref": "#/defs/stream"
 
                }
 
              },
 
              "required": [
 
                "stream"
 
              ]
 
            },
 
            {
 
              "type": "object",
 
              "properties": {
 
                "merge": {
 
                  "type": "array",
 
                  "items": {
 
                    "$ref": "#/defs/stream"
 
                  },
 
                  "minItems": 1
 
                }
 
              },
 
              "required": [
 
                "merge"
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "title": {
 
      "oneOf": [
 
        {
 
          "type": "string"
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "orient": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "none",
 
                    "left",
 
                    "right",
 
                    "top",
 
                    "bottom"
 
                  ],
 
                  "default": "top"
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "anchor": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    null,
 
                    "start",
 
                    "middle",
 
                    "end"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/anchorValue"
 
                }
 
              ]
 
            },
 
            "frame": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "group",
 
                    "bounds"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "offset": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "aria": {
 
              "type": "boolean"
 
            },
 
            "limit": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "zindex": {
 
              "type": "number"
 
            },
 
            "align": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "left",
 
                    "right",
 
                    "center"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/alignValue"
 
                }
 
              ]
 
            },
 
            "angle": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "baseline": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "top",
 
                    "middle",
 
                    "bottom",
 
                    "alphabetic",
 
                    "line-top",
 
                    "line-bottom"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/baselineValue"
 
                }
 
              ]
 
            },
 
            "dx": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "dy": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "text": {
 
              "$ref": "#/refs/textOrSignal"
 
            },
 
            "color": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/colorValue"
 
                }
 
              ]
 
            },
 
            "font": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "fontSize": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "fontStyle": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "fontWeight": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    null,
 
                    "normal",
 
                    "bold",
 
                    "lighter",
 
                    "bolder",
 
                    "100",
 
                    "200",
 
                    "300",
 
                    "400",
 
                    "500",
 
                    "600",
 
                    "700",
 
                    "800",
 
                    "900",
 
                    100,
 
                    200,
 
                    300,
 
                    400,
 
                    500,
 
                    600,
 
                    700,
 
                    800,
 
                    900
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/fontWeightValue"
 
                }
 
              ]
 
            },
 
            "lineHeight": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "subtitle": {
 
              "$ref": "#/refs/textOrSignal"
 
            },
 
            "subtitleColor": {
 
              "oneOf": [
 
                {
 
                  "type": "null"
 
                },
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/colorValue"
 
                }
 
              ]
 
            },
 
            "subtitleFont": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "subtitleFontSize": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "subtitleFontStyle": {
 
              "oneOf": [
 
                {
 
                  "type": "string"
 
                },
 
                {
 
                  "$ref": "#/refs/stringValue"
 
                }
 
              ]
 
            },
 
            "subtitleFontWeight": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    null,
 
                    "normal",
 
                    "bold",
 
                    "lighter",
 
                    "bolder",
 
                    "100",
 
                    "200",
 
                    "300",
 
                    "400",
 
                    "500",
 
                    "600",
 
                    "700",
 
                    "800",
 
                    "900",
 
                    100,
 
                    200,
 
                    300,
 
                    400,
 
                    500,
 
                    600,
 
                    700,
 
                    800,
 
                    900
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/fontWeightValue"
 
                }
 
              ]
 
            },
 
            "subtitleLineHeight": {
 
              "oneOf": [
 
                {
 
                  "type": "number"
 
                },
 
                {
 
                  "$ref": "#/refs/numberValue"
 
                }
 
              ]
 
            },
 
            "subtitlePadding": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "encode": {
 
              "anyOf": [
 
                {
 
                  "type": "object",
 
                  "additionalProperties": false,
 
                  "patternProperties": {
 
                    "^(?!interactive|name|style).+$": {
 
                      "$ref": "#/defs/encodeEntry"
 
                    }
 
                  }
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "group": {
 
                      "$ref": "#/defs/guideEncode"
 
                    },
 
                    "title": {
 
                      "$ref": "#/defs/guideEncode"
 
                    },
 
                    "subtitle": {
 
                      "$ref": "#/defs/guideEncode"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            },
 
            "name": {
 
              "type": "string"
 
            },
 
            "interactive": {
 
              "type": "boolean"
 
            },
 
            "style": {
 
              "$ref": "#/refs/style"
 
            }
 
          },
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "transform": {
 
      "oneOf": [
 
        {
 
          "$ref": "#/defs/crossfilterTransform"
 
        },
 
        {
 
          "$ref": "#/defs/resolvefilterTransform"
 
        },
 
        {
 
          "$ref": "#/defs/linkpathTransform"
 
        },
 
        {
 
          "$ref": "#/defs/pieTransform"
 
        },
 
        {
 
          "$ref": "#/defs/stackTransform"
 
        },
 
        {
 
          "$ref": "#/defs/forceTransform"
 
        },
 
        {
 
          "$ref": "#/defs/contourTransform"
 
        },
 
        {
 
          "$ref": "#/defs/geojsonTransform"
 
        },
 
        {
 
          "$ref": "#/defs/geopathTransform"
 
        },
 
        {
 
          "$ref": "#/defs/geopointTransform"
 
        },
 
        {
 
          "$ref": "#/defs/geoshapeTransform"
 
        },
 
        {
 
          "$ref": "#/defs/graticuleTransform"
 
        },
 
        {
 
          "$ref": "#/defs/heatmapTransform"
 
        },
 
        {
 
          "$ref": "#/defs/isocontourTransform"
 
        },
 
        {
 
          "$ref": "#/defs/kde2dTransform"
 
        },
 
        {
 
          "$ref": "#/defs/nestTransform"
 
        },
 
        {
 
          "$ref": "#/defs/packTransform"
 
        },
 
        {
 
          "$ref": "#/defs/partitionTransform"
 
        },
 
        {
 
          "$ref": "#/defs/stratifyTransform"
 
        },
 
        {
 
          "$ref": "#/defs/treeTransform"
 
        },
 
        {
 
          "$ref": "#/defs/treelinksTransform"
 
        },
 
        {
 
          "$ref": "#/defs/treemapTransform"
 
        },
 
        {
 
          "$ref": "#/defs/labelTransform"
 
        },
 
        {
 
          "$ref": "#/defs/loessTransform"
 
        },
 
        {
 
          "$ref": "#/defs/regressionTransform"
 
        },
 
        {
 
          "$ref": "#/defs/aggregateTransform"
 
        },
 
        {
 
          "$ref": "#/defs/binTransform"
 
        },
 
        {
 
          "$ref": "#/defs/collectTransform"
 
        },
 
        {
 
          "$ref": "#/defs/countpatternTransform"
 
        },
 
        {
 
          "$ref": "#/defs/crossTransform"
 
        },
 
        {
 
          "$ref": "#/defs/densityTransform"
 
        },
 
        {
 
          "$ref": "#/defs/dotbinTransform"
 
        },
 
        {
 
          "$ref": "#/defs/extentTransform"
 
        },
 
        {
 
          "$ref": "#/defs/filterTransform"
 
        },
 
        {
 
          "$ref": "#/defs/flattenTransform"
 
        },
 
        {
 
          "$ref": "#/defs/foldTransform"
 
        },
 
        {
 
          "$ref": "#/defs/formulaTransform"
 
        },
 
        {
 
          "$ref": "#/defs/imputeTransform"
 
        },
 
        {
 
          "$ref": "#/defs/joinaggregateTransform"
 
        },
 
        {
 
          "$ref": "#/defs/kdeTransform"
 
        },
 
        {
 
          "$ref": "#/defs/lookupTransform"
 
        },
 
        {
 
          "$ref": "#/defs/pivotTransform"
 
        },
 
        {
 
          "$ref": "#/defs/projectTransform"
 
        },
 
        {
 
          "$ref": "#/defs/quantileTransform"
 
        },
 
        {
 
          "$ref": "#/defs/sampleTransform"
 
        },
 
        {
 
          "$ref": "#/defs/sequenceTransform"
 
        },
 
        {
 
          "$ref": "#/defs/timeunitTransform"
 
        },
 
        {
 
          "$ref": "#/defs/windowTransform"
 
        },
 
        {
 
          "$ref": "#/defs/identifierTransform"
 
        },
 
        {
 
          "$ref": "#/defs/voronoiTransform"
 
        },
 
        {
 
          "$ref": "#/defs/wordcloudTransform"
 
        }
 
      ]
 
    },
 
    "transformMark": {
 
      "oneOf": [
 
        {
 
          "$ref": "#/defs/crossfilterTransform"
 
        },
 
        {
 
          "$ref": "#/defs/resolvefilterTransform"
 
        },
 
        {
 
          "$ref": "#/defs/linkpathTransform"
 
        },
 
        {
 
          "$ref": "#/defs/pieTransform"
 
        },
 
        {
 
          "$ref": "#/defs/stackTransform"
 
        },
 
        {
 
          "$ref": "#/defs/forceTransform"
 
        },
 
        {
 
          "$ref": "#/defs/geojsonTransform"
 
        },
 
        {
 
          "$ref": "#/defs/geopathTransform"
 
        },
 
        {
 
          "$ref": "#/defs/geopointTransform"
 
        },
 
        {
 
          "$ref": "#/defs/geoshapeTransform"
 
        },
 
        {
 
          "$ref": "#/defs/heatmapTransform"
 
        },
 
        {
 
          "$ref": "#/defs/packTransform"
 
        },
 
        {
 
          "$ref": "#/defs/partitionTransform"
 
        },
 
        {
 
          "$ref": "#/defs/stratifyTransform"
 
        },
 
        {
 
          "$ref": "#/defs/treeTransform"
 
        },
 
        {
 
          "$ref": "#/defs/treemapTransform"
 
        },
 
        {
 
          "$ref": "#/defs/labelTransform"
 
        },
 
        {
 
          "$ref": "#/defs/binTransform"
 
        },
 
        {
 
          "$ref": "#/defs/collectTransform"
 
        },
 
        {
 
          "$ref": "#/defs/dotbinTransform"
 
        },
 
        {
 
          "$ref": "#/defs/extentTransform"
 
        },
 
        {
 
          "$ref": "#/defs/formulaTransform"
 
        },
 
        {
 
          "$ref": "#/defs/joinaggregateTransform"
 
        },
 
        {
 
          "$ref": "#/defs/lookupTransform"
 
        },
 
        {
 
          "$ref": "#/defs/sampleTransform"
 
        },
 
        {
 
          "$ref": "#/defs/timeunitTransform"
 
        },
 
        {
 
          "$ref": "#/defs/windowTransform"
 
        },
 
        {
 
          "$ref": "#/defs/identifierTransform"
 
        },
 
        {
 
          "$ref": "#/defs/voronoiTransform"
 
        },
 
        {
 
          "$ref": "#/defs/wordcloudTransform"
 
        }
 
      ]
 
    },
 
    "crossfilterTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "crossfilter"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "query": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {}
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "fields",
 
        "query"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "resolvefilterTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "resolvefilter"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "ignore": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "filter": {}
 
      },
 
      "required": [
 
        "type",
 
        "ignore",
 
        "filter"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "linkpathTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "linkpath"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "sourceX": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ],
 
          "default": "source.x"
 
        },
 
        "sourceY": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ],
 
          "default": "source.y"
 
        },
 
        "targetX": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ],
 
          "default": "target.x"
 
        },
 
        "targetY": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ],
 
          "default": "target.y"
 
        },
 
        "orient": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "horizontal",
 
                "vertical",
 
                "radial"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "vertical"
 
        },
 
        "shape": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "line",
 
                "arc",
 
                "curve",
 
                "diagonal",
 
                "orthogonal"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "line"
 
        },
 
        "require": {
 
          "$ref": "#/refs/signal"
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "path"
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "pieTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "pie"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "startAngle": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "endAngle": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 6.283185307179586
 
        },
 
        "sort": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            "startAngle",
 
            "endAngle"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "stackTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "stack"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "sort": {
 
          "$ref": "#/refs/compare"
 
        },
 
        "offset": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "zero",
 
                "center",
 
                "normalize"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "zero"
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            "y0",
 
            "y1"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "forceTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "force"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "static": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "restart": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "iterations": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 300
 
        },
 
        "alpha": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 1
 
        },
 
        "alphaMin": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 0.001
 
        },
 
        "alphaTarget": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "velocityDecay": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 0.4
 
        },
 
        "forces": {
 
          "type": "array",
 
          "items": {
 
            "oneOf": [
 
              {
 
                "type": "object",
 
                "properties": {
 
                  "force": {
 
                    "enum": [
 
                      "center"
 
                    ]
 
                  },
 
                  "x": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ]
 
                  },
 
                  "y": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ]
 
                  }
 
                },
 
                "required": [
 
                  "force"
 
                ],
 
                "additionalProperties": false
 
              },
 
              {
 
                "type": "object",
 
                "properties": {
 
                  "force": {
 
                    "enum": [
 
                      "collide"
 
                    ]
 
                  },
 
                  "radius": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "$ref": "#/refs/expr"
 
                      },
 
                      {
 
                        "$ref": "#/refs/paramField"
 
                      }
 
                    ]
 
                  },
 
                  "strength": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ],
 
                    "default": 0.7
 
                  },
 
                  "iterations": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ],
 
                    "default": 1
 
                  }
 
                },
 
                "required": [
 
                  "force"
 
                ],
 
                "additionalProperties": false
 
              },
 
              {
 
                "type": "object",
 
                "properties": {
 
                  "force": {
 
                    "enum": [
 
                      "nbody"
 
                    ]
 
                  },
 
                  "strength": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ],
 
                    "default": -30
 
                  },
 
                  "theta": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ],
 
                    "default": 0.9
 
                  },
 
                  "distanceMin": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ],
 
                    "default": 1
 
                  },
 
                  "distanceMax": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ]
 
                  }
 
                },
 
                "required": [
 
                  "force"
 
                ],
 
                "additionalProperties": false
 
              },
 
              {
 
                "type": "object",
 
                "properties": {
 
                  "force": {
 
                    "enum": [
 
                      "link"
 
                    ]
 
                  },
 
                  "links": {
 
                    "type": "string"
 
                  },
 
                  "id": {
 
                    "oneOf": [
 
                      {
 
                        "$ref": "#/refs/scaleField"
 
                      },
 
                      {
 
                        "$ref": "#/refs/paramField"
 
                      },
 
                      {
 
                        "$ref": "#/refs/expr"
 
                      }
 
                    ]
 
                  },
 
                  "distance": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "$ref": "#/refs/expr"
 
                      },
 
                      {
 
                        "$ref": "#/refs/paramField"
 
                      }
 
                    ],
 
                    "default": 30
 
                  },
 
                  "strength": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      },
 
                      {
 
                        "$ref": "#/refs/expr"
 
                      },
 
                      {
 
                        "$ref": "#/refs/paramField"
 
                      }
 
                    ]
 
                  },
 
                  "iterations": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ],
 
                    "default": 1
 
                  }
 
                },
 
                "required": [
 
                  "force"
 
                ],
 
                "additionalProperties": false
 
              },
 
              {
 
                "type": "object",
 
                "properties": {
 
                  "force": {
 
                    "enum": [
 
                      "x"
 
                    ]
 
                  },
 
                  "strength": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ],
 
                    "default": 0.1
 
                  },
 
                  "x": {
 
                    "oneOf": [
 
                      {
 
                        "$ref": "#/refs/scaleField"
 
                      },
 
                      {
 
                        "$ref": "#/refs/paramField"
 
                      },
 
                      {
 
                        "$ref": "#/refs/expr"
 
                      }
 
                    ]
 
                  }
 
                },
 
                "required": [
 
                  "force"
 
                ],
 
                "additionalProperties": false
 
              },
 
              {
 
                "type": "object",
 
                "properties": {
 
                  "force": {
 
                    "enum": [
 
                      "y"
 
                    ]
 
                  },
 
                  "strength": {
 
                    "anyOf": [
 
                      {
 
                        "type": "number"
 
                      },
 
                      {
 
                        "$ref": "#/refs/signal"
 
                      }
 
                    ],
 
                    "default": 0.1
 
                  },
 
                  "y": {
 
                    "oneOf": [
 
                      {
 
                        "$ref": "#/refs/scaleField"
 
                      },
 
                      {
 
                        "$ref": "#/refs/paramField"
 
                      },
 
                      {
 
                        "$ref": "#/refs/expr"
 
                      }
 
                    ]
 
                  }
 
                },
 
                "required": [
 
                  "force"
 
                ],
 
                "additionalProperties": false
 
              }
 
            ]
 
          }
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": [
 
            "x",
 
            "y",
 
            "vx",
 
            "vy"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "contourTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "contour"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "values": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "x": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "y": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "weight": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "cellSize": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "bandwidth": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "count": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "nice": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "thresholds": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "smooth": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": true
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "size"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "geojsonTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "geojson"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "geojson": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "geopathTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "geopath"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "projection": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "pointRadius": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "path"
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "geopointTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "geopoint"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "projection": {
 
          "type": "string"
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            "x",
 
            "y"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "projection",
 
        "fields"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "geoshapeTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "geoshape"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "projection": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ],
 
          "default": "datum"
 
        },
 
        "pointRadius": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "shape"
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "graticuleTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "graticule"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "extent": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {}
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "extentMajor": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {}
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "extentMinor": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {}
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "step": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "stepMajor": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            90,
 
            360
 
          ]
 
        },
 
        "stepMinor": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            10,
 
            10
 
          ]
 
        },
 
        "precision": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 2.5
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "heatmapTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "heatmap"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "color": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ]
 
        },
 
        "opacity": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ]
 
        },
 
        "resolve": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "shared",
 
                "independent"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "independent"
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "image"
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "isocontourTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "isocontour"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "thresholds": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "levels": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "nice": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "resolve": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "shared",
 
                "independent"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "independent"
 
        },
 
        "zero": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": true
 
        },
 
        "smooth": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": true
 
        },
 
        "scale": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ]
 
        },
 
        "translate": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "type": "null"
 
            }
 
          ],
 
          "default": "contour"
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "kde2dTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "kde2d"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "x": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "y": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "weight": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "cellSize": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "bandwidth": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "counts": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "grid"
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "size",
 
        "x",
 
        "y"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "nestTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "nest"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "keys": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "generate": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "packTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "pack"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "sort": {
 
          "$ref": "#/refs/compare"
 
        },
 
        "padding": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "radius": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 5,
 
          "minItems": 5,
 
          "default": [
 
            "x",
 
            "y",
 
            "r",
 
            "depth",
 
            "children"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "partitionTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "partition"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "sort": {
 
          "$ref": "#/refs/compare"
 
        },
 
        "padding": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "round": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 6,
 
          "minItems": 6,
 
          "default": [
 
            "x0",
 
            "y0",
 
            "x1",
 
            "y1",
 
            "depth",
 
            "children"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "stratifyTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "stratify"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "key": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "parentKey": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "key",
 
        "parentKey"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "treeTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "tree"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "sort": {
 
          "$ref": "#/refs/compare"
 
        },
 
        "method": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "tidy",
 
                "cluster"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "tidy"
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "nodeSize": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "separation": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": true
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 4,
 
          "minItems": 4,
 
          "default": [
 
            "x",
 
            "y",
 
            "depth",
 
            "children"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "treelinksTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "treelinks"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "treemapTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "treemap"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "sort": {
 
          "$ref": "#/refs/compare"
 
        },
 
        "method": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "squarify",
 
                "resquarify",
 
                "binary",
 
                "dice",
 
                "slice",
 
                "slicedice"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "squarify"
 
        },
 
        "padding": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "paddingInner": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "paddingOuter": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "paddingTop": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "paddingRight": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "paddingBottom": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "paddingLeft": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "ratio": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 1.618033988749895
 
        },
 
        "round": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 6,
 
          "minItems": 6,
 
          "default": [
 
            "x0",
 
            "y0",
 
            "x1",
 
            "y1",
 
            "depth",
 
            "children"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "labelTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "label"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "sort": {
 
          "$ref": "#/refs/compare"
 
        },
 
        "anchor": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": [
 
            "top-left",
 
            "left",
 
            "bottom-left",
 
            "top",
 
            "bottom",
 
            "top-right",
 
            "right",
 
            "bottom-right"
 
          ]
 
        },
 
        "offset": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": [
 
            1
 
          ]
 
        },
 
        "padding": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "lineAnchor": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "end"
 
        },
 
        "markIndex": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "avoidBaseMark": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": true
 
        },
 
        "avoidMarks": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "type": "string"
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "method": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "naive"
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 5,
 
          "minItems": 5,
 
          "default": [
 
            "x",
 
            "y",
 
            "opacity",
 
            "align",
 
            "baseline"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "size"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "loessTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "loess"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "x": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "y": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "bandwidth": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 0.3
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "x",
 
        "y"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "regressionTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "regression"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "x": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "y": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "method": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "linear"
 
        },
 
        "order": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 3
 
        },
 
        "extent": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "params": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "x",
 
        "y"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "aggregateTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "aggregate"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "ops": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "enum": [
 
                      "values",
 
                      "count",
 
                      "__count__",
 
                      "missing",
 
                      "valid",
 
                      "sum",
 
                      "product",
 
                      "mean",
 
                      "average",
 
                      "variance",
 
                      "variancep",
 
                      "stdev",
 
                      "stdevp",
 
                      "stderr",
 
                      "distinct",
 
                      "ci0",
 
                      "ci1",
 
                      "median",
 
                      "q1",
 
                      "q3",
 
                      "min",
 
                      "max",
 
                      "argmin",
 
                      "argmax"
 
                    ]
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  },
 
                  {
 
                    "type": "null"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  },
 
                  {
 
                    "type": "null"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "drop": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": true
 
        },
 
        "cross": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "key": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "binTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "bin"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "interval": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": true
 
        },
 
        "anchor": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "maxbins": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 20
 
        },
 
        "base": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 10
 
        },
 
        "divide": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": [
 
            5,
 
            2
 
          ]
 
        },
 
        "extent": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "span": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "step": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "steps": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "minstep": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "nice": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": true
 
        },
 
        "name": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            "bin0",
 
            "bin1"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "field",
 
        "extent"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "collectTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "collect"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "sort": {
 
          "$ref": "#/refs/compare"
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "countpatternTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "countpattern"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "case": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "upper",
 
                "lower",
 
                "mixed"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "mixed"
 
        },
 
        "pattern": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "[\\w\"]+"
 
        },
 
        "stopwords": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            "text",
 
            "count"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "field"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "crossTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "cross"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "filter": {
 
          "$ref": "#/refs/exprString"
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            "a",
 
            "b"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "densityTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "density"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "extent": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "steps": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "minsteps": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 25
 
        },
 
        "maxsteps": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 200
 
        },
 
        "method": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "pdf"
 
        },
 
        "distribution": {
 
          "oneOf": [
 
            {
 
              "type": "object",
 
              "properties": {
 
                "function": {
 
                  "enum": [
 
                    "normal"
 
                  ]
 
                },
 
                "mean": {
 
                  "anyOf": [
 
                    {
 
                      "type": "number"
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ]
 
                },
 
                "stdev": {
 
                  "anyOf": [
 
                    {
 
                      "type": "number"
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ],
 
                  "default": 1
 
                }
 
              },
 
              "required": [
 
                "function"
 
              ],
 
              "additionalProperties": false
 
            },
 
            {
 
              "type": "object",
 
              "properties": {
 
                "function": {
 
                  "enum": [
 
                    "lognormal"
 
                  ]
 
                },
 
                "mean": {
 
                  "anyOf": [
 
                    {
 
                      "type": "number"
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ]
 
                },
 
                "stdev": {
 
                  "anyOf": [
 
                    {
 
                      "type": "number"
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ],
 
                  "default": 1
 
                }
 
              },
 
              "required": [
 
                "function"
 
              ],
 
              "additionalProperties": false
 
            },
 
            {
 
              "type": "object",
 
              "properties": {
 
                "function": {
 
                  "enum": [
 
                    "uniform"
 
                  ]
 
                },
 
                "min": {
 
                  "anyOf": [
 
                    {
 
                      "type": "number"
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ]
 
                },
 
                "max": {
 
                  "anyOf": [
 
                    {
 
                      "type": "number"
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ],
 
                  "default": 1
 
                }
 
              },
 
              "required": [
 
                "function"
 
              ],
 
              "additionalProperties": false
 
            },
 
            {
 
              "type": "object",
 
              "properties": {
 
                "function": {
 
                  "enum": [
 
                    "kde"
 
                  ]
 
                },
 
                "field": {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/scaleField"
 
                    },
 
                    {
 
                      "$ref": "#/refs/paramField"
 
                    },
 
                    {
 
                      "$ref": "#/refs/expr"
 
                    }
 
                  ]
 
                },
 
                "from": {
 
                  "type": "string"
 
                },
 
                "bandwidth": {
 
                  "anyOf": [
 
                    {
 
                      "type": "number"
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ]
 
                }
 
              },
 
              "required": [
 
                "function",
 
                "field"
 
              ],
 
              "additionalProperties": false
 
            },
 
            {
 
              "type": "object",
 
              "properties": {
 
                "function": {
 
                  "enum": [
 
                    "mixture"
 
                  ]
 
                },
 
                "distributions": {
 
                  "oneOf": [
 
                    {
 
                      "type": "array",
 
                      "items": {}
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ]
 
                },
 
                "weights": {
 
                  "oneOf": [
 
                    {
 
                      "type": "array",
 
                      "items": {
 
                        "anyOf": [
 
                          {
 
                            "type": "number"
 
                          },
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          }
 
                        ]
 
                      }
 
                    },
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    }
 
                  ]
 
                }
 
              },
 
              "required": [
 
                "function"
 
              ],
 
              "additionalProperties": false
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": [
 
            "value",
 
            "density"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "dotbinTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "dotbin"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "step": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "smooth": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "bin"
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "field"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "extentTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "extent"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "field"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "filterTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "filter"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "expr": {
 
          "$ref": "#/refs/exprString"
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "expr"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "flattenTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "flatten"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "index": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "fields"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "foldTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "fold"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            "key",
 
            "value"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "fields"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "formulaTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "formula"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "expr": {
 
          "$ref": "#/refs/exprString"
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "initonly": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "expr",
 
        "as"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "imputeTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "impute"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "key": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "keyvals": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {}
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "method": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "value",
 
                "mean",
 
                "median",
 
                "max",
 
                "min"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "value"
 
        },
 
        "value": {}
 
      },
 
      "required": [
 
        "type",
 
        "field",
 
        "key"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "joinaggregateTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "joinaggregate"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  },
 
                  {
 
                    "type": "null"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "ops": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "enum": [
 
                      "values",
 
                      "count",
 
                      "__count__",
 
                      "missing",
 
                      "valid",
 
                      "sum",
 
                      "product",
 
                      "mean",
 
                      "average",
 
                      "variance",
 
                      "variancep",
 
                      "stdev",
 
                      "stdevp",
 
                      "stderr",
 
                      "distinct",
 
                      "ci0",
 
                      "ci1",
 
                      "median",
 
                      "q1",
 
                      "q3",
 
                      "min",
 
                      "max",
 
                      "argmin",
 
                      "argmax"
 
                    ]
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  },
 
                  {
 
                    "type": "null"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "key": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "kdeTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "kde"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "cumulative": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "counts": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "bandwidth": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "extent": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "resolve": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "shared",
 
                "independent"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "independent"
 
        },
 
        "steps": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "minsteps": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 25
 
        },
 
        "maxsteps": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 200
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": [
 
            "value",
 
            "density"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "field"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "lookupTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "lookup"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "from": {
 
          "type": "string"
 
        },
 
        "key": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "values": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "default": {}
 
      },
 
      "required": [
 
        "type",
 
        "from",
 
        "key",
 
        "fields"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "pivotTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "pivot"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "value": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "op": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "values",
 
                "count",
 
                "__count__",
 
                "missing",
 
                "valid",
 
                "sum",
 
                "product",
 
                "mean",
 
                "average",
 
                "variance",
 
                "variancep",
 
                "stdev",
 
                "stdevp",
 
                "stderr",
 
                "distinct",
 
                "ci0",
 
                "ci1",
 
                "median",
 
                "q1",
 
                "q3",
 
                "min",
 
                "max",
 
                "argmin",
 
                "argmax"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "sum"
 
        },
 
        "limit": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "key": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "field",
 
        "value"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "projectTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "project"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  },
 
                  {
 
                    "type": "null"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "quantileTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "quantile"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "probs": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "step": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 0.01
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": [
 
            "prob",
 
            "value"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "field"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "sampleTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "sample"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "size": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 1000
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "sequenceTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "sequence"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "start": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "stop": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "step": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 1
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "data"
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "start",
 
        "stop"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "timeunitTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "timeunit"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "field": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "interval": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": true
 
        },
 
        "units": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "enum": [
 
                      "year",
 
                      "quarter",
 
                      "month",
 
                      "week",
 
                      "date",
 
                      "day",
 
                      "dayofyear",
 
                      "hours",
 
                      "minutes",
 
                      "seconds",
 
                      "milliseconds"
 
                    ]
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "step": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 1
 
        },
 
        "maxbins": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": 40
 
        },
 
        "extent": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "timezone": {
 
          "anyOf": [
 
            {
 
              "enum": [
 
                "local",
 
                "utc"
 
              ]
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "local"
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            "unit0",
 
            "unit1"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "field"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "windowTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "window"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "sort": {
 
          "$ref": "#/refs/compare"
 
        },
 
        "groupby": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "ops": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "enum": [
 
                      "row_number",
 
                      "rank",
 
                      "dense_rank",
 
                      "percent_rank",
 
                      "cume_dist",
 
                      "ntile",
 
                      "lag",
 
                      "lead",
 
                      "first_value",
 
                      "last_value",
 
                      "nth_value",
 
                      "prev_value",
 
                      "next_value",
 
                      "values",
 
                      "count",
 
                      "__count__",
 
                      "missing",
 
                      "valid",
 
                      "sum",
 
                      "product",
 
                      "mean",
 
                      "average",
 
                      "variance",
 
                      "variancep",
 
                      "stdev",
 
                      "stdevp",
 
                      "stderr",
 
                      "distinct",
 
                      "ci0",
 
                      "ci1",
 
                      "median",
 
                      "q1",
 
                      "q3",
 
                      "min",
 
                      "max",
 
                      "argmin",
 
                      "argmax"
 
                    ]
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "params": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  },
 
                  {
 
                    "type": "null"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "fields": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/paramField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  },
 
                  {
 
                    "type": "null"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  },
 
                  {
 
                    "type": "null"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "frame": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  },
 
                  {
 
                    "type": "null"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            null,
 
            0
 
          ]
 
        },
 
        "ignorePeers": {
 
          "anyOf": [
 
            {
 
              "type": "boolean"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "identifierTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "identifier"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "as"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "voronoiTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "voronoi"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "x": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "y": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "extent": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {}
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2,
 
          "default": [
 
            [
 
              -100000,
 
              -100000
 
            ],
 
            [
 
              100000,
 
              100000
 
            ]
 
          ]
 
        },
 
        "as": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "default": "path"
 
        }
 
      },
 
      "required": [
 
        "type",
 
        "x",
 
        "y"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "wordcloudTransform": {
 
      "type": "object",
 
      "properties": {
 
        "type": {
 
          "enum": [
 
            "wordcloud"
 
          ]
 
        },
 
        "signal": {
 
          "type": "string"
 
        },
 
        "size": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 2,
 
          "minItems": 2
 
        },
 
        "font": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ],
 
          "default": "sans-serif"
 
        },
 
        "fontStyle": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ],
 
          "default": "normal"
 
        },
 
        "fontWeight": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ],
 
          "default": "normal"
 
        },
 
        "fontSize": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ],
 
          "default": 14
 
        },
 
        "fontSizeRange": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "number"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "type": "null"
 
            }
 
          ],
 
          "default": [
 
            10,
 
            50
 
          ]
 
        },
 
        "rotate": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ]
 
        },
 
        "text": {
 
          "oneOf": [
 
            {
 
              "$ref": "#/refs/scaleField"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            }
 
          ]
 
        },
 
        "spiral": {
 
          "anyOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ]
 
        },
 
        "padding": {
 
          "anyOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            },
 
            {
 
              "$ref": "#/refs/expr"
 
            },
 
            {
 
              "$ref": "#/refs/paramField"
 
            }
 
          ]
 
        },
 
        "as": {
 
          "oneOf": [
 
            {
 
              "type": "array",
 
              "items": {
 
                "anyOf": [
 
                  {
 
                    "type": "string"
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              }
 
            },
 
            {
 
              "$ref": "#/refs/signal"
 
            }
 
          ],
 
          "maxItems": 7,
 
          "minItems": 7,
 
          "default": [
 
            "x",
 
            "y",
 
            "font",
 
            "fontSize",
 
            "fontStyle",
 
            "fontWeight",
 
            "angle"
 
          ]
 
        }
 
      },
 
      "required": [
 
        "type"
 
      ],
 
      "additionalProperties": false
 
    }
 
  },
 
  "refs": {
 
    "labelOverlap": {
 
      "oneOf": [
 
        {
 
          "type": "boolean"
 
        },
 
        {
 
          "enum": [
 
            "parity",
 
            "greedy"
 
          ]
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "tickBand": {
 
      "oneOf": [
 
        {
 
          "enum": [
 
            "center",
 
            "extent"
 
          ]
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "tickCount": {
 
      "oneOf": [
 
        {
 
          "type": "number"
 
        },
 
        {
 
          "enum": [
 
            "millisecond",
 
            "second",
 
            "minute",
 
            "hour",
 
            "day",
 
            "week",
 
            "month",
 
            "year"
 
          ]
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "interval": {
 
              "oneOf": [
 
                {
 
                  "enum": [
 
                    "millisecond",
 
                    "second",
 
                    "minute",
 
                    "hour",
 
                    "day",
 
                    "week",
 
                    "month",
 
                    "year"
 
                  ]
 
                },
 
                {
 
                  "$ref": "#/refs/signal"
 
                }
 
              ]
 
            },
 
            "step": {
 
              "$ref": "#/refs/numberOrSignal"
 
            }
 
          },
 
          "required": [
 
            "interval"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "element": {
 
      "type": "string"
 
    },
 
    "paramField": {
 
      "type": "object",
 
      "properties": {
 
        "field": {
 
          "type": "string"
 
        },
 
        "as": {
 
          "type": "string"
 
        }
 
      },
 
      "required": [
 
        "field"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "field": {
 
      "oneOf": [
 
        {
 
          "type": "string"
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "datum": {
 
              "$ref": "#/refs/field"
 
            }
 
          },
 
          "required": [
 
            "datum"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "group": {
 
              "$ref": "#/refs/field"
 
            },
 
            "level": {
 
              "type": "number"
 
            }
 
          },
 
          "required": [
 
            "group"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "parent": {
 
              "$ref": "#/refs/field"
 
            },
 
            "level": {
 
              "type": "number"
 
            }
 
          },
 
          "required": [
 
            "parent"
 
          ],
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "scale": {
 
      "$ref": "#/refs/field"
 
    },
 
    "stringModifiers": {
 
      "type": "object",
 
      "properties": {
 
        "scale": {
 
          "$ref": "#/refs/scale"
 
        }
 
      }
 
    },
 
    "numberModifiers": {
 
      "type": "object",
 
      "properties": {
 
        "exponent": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "mult": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "offset": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "$ref": "#/refs/numberValue"
 
            }
 
          ]
 
        },
 
        "round": {
 
          "type": "boolean",
 
          "default": false
 
        },
 
        "scale": {
 
          "$ref": "#/refs/scale"
 
        },
 
        "band": {
 
          "oneOf": [
 
            {
 
              "type": "number"
 
            },
 
            {
 
              "type": "boolean"
 
            }
 
          ]
 
        },
 
        "extra": {
 
          "type": "boolean"
 
        }
 
      }
 
    },
 
    "anyValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {}
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {}
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "blendValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "enum": [
 
                                  null,
 
                                  "multiply",
 
                                  "screen",
 
                                  "overlay",
 
                                  "darken",
 
                                  "lighten",
 
                                  "color-dodge",
 
                                  "color-burn",
 
                                  "hard-light",
 
                                  "soft-light",
 
                                  "difference",
 
                                  "exclusion",
 
                                  "hue",
 
                                  "saturation",
 
                                  "color",
 
                                  "luminosity"
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "enum": [
 
                            null,
 
                            "multiply",
 
                            "screen",
 
                            "overlay",
 
                            "darken",
 
                            "lighten",
 
                            "color-dodge",
 
                            "color-burn",
 
                            "hard-light",
 
                            "soft-light",
 
                            "difference",
 
                            "exclusion",
 
                            "hue",
 
                            "saturation",
 
                            "color",
 
                            "luminosity"
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "numberValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/numberModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "type": "number"
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/numberModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "type": "number"
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "stringValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "type": "string"
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "type": "string"
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "textValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "string"
 
                                  },
 
                                  {
 
                                    "type": "array",
 
                                    "items": {
 
                                      "type": "string"
 
                                    }
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "oneOf": [
 
                            {
 
                              "type": "string"
 
                            },
 
                            {
 
                              "type": "array",
 
                              "items": {
 
                                "type": "string"
 
                              }
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "booleanValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "type": "boolean"
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "type": "boolean"
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "arrayValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "type": "array"
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "type": "array"
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "fontWeightValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "enum": [
 
                                  null,
 
                                  "normal",
 
                                  "bold",
 
                                  "lighter",
 
                                  "bolder",
 
                                  "100",
 
                                  "200",
 
                                  "300",
 
                                  "400",
 
                                  "500",
 
                                  "600",
 
                                  "700",
 
                                  "800",
 
                                  "900",
 
                                  100,
 
                                  200,
 
                                  300,
 
                                  400,
 
                                  500,
 
                                  600,
 
                                  700,
 
                                  800,
 
                                  900
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "enum": [
 
                            null,
 
                            "normal",
 
                            "bold",
 
                            "lighter",
 
                            "bolder",
 
                            "100",
 
                            "200",
 
                            "300",
 
                            "400",
 
                            "500",
 
                            "600",
 
                            "700",
 
                            "800",
 
                            "900",
 
                            100,
 
                            200,
 
                            300,
 
                            400,
 
                            500,
 
                            600,
 
                            700,
 
                            800,
 
                            900
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "anchorValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "enum": [
 
                                  "start",
 
                                  "middle",
 
                                  "end"
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "enum": [
 
                            "start",
 
                            "middle",
 
                            "end"
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "alignValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "enum": [
 
                                  "left",
 
                                  "right",
 
                                  "center"
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "enum": [
 
                            "left",
 
                            "right",
 
                            "center"
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "baselineValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "enum": [
 
                                  "top",
 
                                  "middle",
 
                                  "bottom",
 
                                  "alphabetic"
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "enum": [
 
                            "top",
 
                            "middle",
 
                            "bottom",
 
                            "alphabetic"
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "directionValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "enum": [
 
                                  "horizontal",
 
                                  "vertical"
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "enum": [
 
                            "horizontal",
 
                            "vertical"
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "orientValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "enum": [
 
                                  "left",
 
                                  "right",
 
                                  "top",
 
                                  "bottom"
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "enum": [
 
                            "left",
 
                            "right",
 
                            "top",
 
                            "bottom"
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "strokeCapValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "enum": [
 
                                  "butt",
 
                                  "round",
 
                                  "square"
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "enum": [
 
                            "butt",
 
                            "round",
 
                            "square"
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "strokeJoinValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "allOf": [
 
                  {
 
                    "$ref": "#/refs/stringModifiers"
 
                  },
 
                  {
 
                    "anyOf": [
 
                      {
 
                        "oneOf": [
 
                          {
 
                            "$ref": "#/refs/signal"
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "value": {
 
                                "enum": [
 
                                  "miter",
 
                                  "round",
 
                                  "bevel"
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "value"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "field": {
 
                                "$ref": "#/refs/field"
 
                              }
 
                            },
 
                            "required": [
 
                              "field"
 
                            ]
 
                          },
 
                          {
 
                            "type": "object",
 
                            "properties": {
 
                              "range": {
 
                                "oneOf": [
 
                                  {
 
                                    "type": "number"
 
                                  },
 
                                  {
 
                                    "type": "boolean"
 
                                  }
 
                                ]
 
                              }
 
                            },
 
                            "required": [
 
                              "range"
 
                            ]
 
                          }
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "value"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "scale",
 
                          "band"
 
                        ]
 
                      },
 
                      {
 
                        "type": "object",
 
                        "required": [
 
                          "offset"
 
                        ]
 
                      }
 
                    ]
 
                  }
 
                ]
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "enum": [
 
                            "miter",
 
                            "round",
 
                            "bevel"
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        }
 
      ]
 
    },
 
    "baseColorValue": {
 
      "oneOf": [
 
        {
 
          "allOf": [
 
            {
 
              "$ref": "#/refs/stringModifiers"
 
            },
 
            {
 
              "anyOf": [
 
                {
 
                  "oneOf": [
 
                    {
 
                      "$ref": "#/refs/signal"
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "value": {
 
                          "oneOf": [
 
                            {
 
                              "type": "string"
 
                            },
 
                            {
 
                              "type": "null"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "value"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "field": {
 
                          "$ref": "#/refs/field"
 
                        }
 
                      },
 
                      "required": [
 
                        "field"
 
                      ]
 
                    },
 
                    {
 
                      "type": "object",
 
                      "properties": {
 
                        "range": {
 
                          "oneOf": [
 
                            {
 
                              "type": "number"
 
                            },
 
                            {
 
                              "type": "boolean"
 
                            }
 
                          ]
 
                        }
 
                      },
 
                      "required": [
 
                        "range"
 
                      ]
 
                    }
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "value"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "scale",
 
                    "band"
 
                  ]
 
                },
 
                {
 
                  "type": "object",
 
                  "required": [
 
                    "offset"
 
                  ]
 
                }
 
              ]
 
            }
 
          ]
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "value": {
 
              "$ref": "#/refs/linearGradient"
 
            }
 
          },
 
          "required": [
 
            "value"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "value": {
 
              "$ref": "#/refs/radialGradient"
 
            }
 
          },
 
          "required": [
 
            "value"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "gradient": {
 
              "$ref": "#/refs/scale"
 
            },
 
            "start": {
 
              "type": "array",
 
              "items": {
 
                "type": "number"
 
              },
 
              "minItems": 2,
 
              "maxItems": 2
 
            },
 
            "stop": {
 
              "type": "array",
 
              "items": {
 
                "type": "number"
 
              },
 
              "minItems": 2,
 
              "maxItems": 2
 
            },
 
            "count": {
 
              "type": "number"
 
            }
 
          },
 
          "required": [
 
            "gradient"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "color": {
 
              "oneOf": [
 
                {
 
                  "$ref": "#/refs/colorRGB"
 
                },
 
                {
 
                  "$ref": "#/refs/colorHSL"
 
                },
 
                {
 
                  "$ref": "#/refs/colorLAB"
 
                },
 
                {
 
                  "$ref": "#/refs/colorHCL"
 
                }
 
              ]
 
            }
 
          },
 
          "required": [
 
            "color"
 
          ],
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "colorRGB": {
 
      "type": "object",
 
      "properties": {
 
        "r": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "g": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "b": {
 
          "$ref": "#/refs/numberValue"
 
        }
 
      },
 
      "required": [
 
        "r",
 
        "g",
 
        "b"
 
      ]
 
    },
 
    "colorHSL": {
 
      "type": "object",
 
      "properties": {
 
        "h": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "s": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "l": {
 
          "$ref": "#/refs/numberValue"
 
        }
 
      },
 
      "required": [
 
        "h",
 
        "s",
 
        "l"
 
      ]
 
    },
 
    "colorLAB": {
 
      "type": "object",
 
      "properties": {
 
        "l": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "a": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "b": {
 
          "$ref": "#/refs/numberValue"
 
        }
 
      },
 
      "required": [
 
        "l",
 
        "a",
 
        "b"
 
      ]
 
    },
 
    "colorHCL": {
 
      "type": "object",
 
      "properties": {
 
        "h": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "c": {
 
          "$ref": "#/refs/numberValue"
 
        },
 
        "l": {
 
          "$ref": "#/refs/numberValue"
 
        }
 
      },
 
      "required": [
 
        "h",
 
        "c",
 
        "l"
 
      ]
 
    },
 
    "colorValue": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "allOf": [
 
              {
 
                "$ref": "#/defs/rule"
 
              },
 
              {
 
                "$ref": "#/refs/baseColorValue"
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "$ref": "#/refs/baseColorValue"
 
        }
 
      ]
 
    },
 
    "gradientStops": {
 
      "type": "array",
 
      "items": {
 
        "type": "object",
 
        "properties": {
 
          "offset": {
 
            "type": "number"
 
          },
 
          "color": {
 
            "type": "string"
 
          }
 
        },
 
        "required": [
 
          "offset",
 
          "color"
 
        ],
 
        "additionalProperties": false
 
      }
 
    },
 
    "linearGradient": {
 
      "type": "object",
 
      "properties": {
 
        "gradient": {
 
          "enum": [
 
            "linear"
 
          ]
 
        },
 
        "id": {
 
          "type": "string"
 
        },
 
        "x1": {
 
          "type": "number"
 
        },
 
        "y1": {
 
          "type": "number"
 
        },
 
        "x2": {
 
          "type": "number"
 
        },
 
        "y2": {
 
          "type": "number"
 
        },
 
        "stops": {
 
          "$ref": "#/refs/gradientStops"
 
        }
 
      },
 
      "required": [
 
        "gradient",
 
        "stops"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "radialGradient": {
 
      "type": "object",
 
      "properties": {
 
        "gradient": {
 
          "enum": [
 
            "radial"
 
          ]
 
        },
 
        "id": {
 
          "type": "string"
 
        },
 
        "x1": {
 
          "type": "number"
 
        },
 
        "y1": {
 
          "type": "number"
 
        },
 
        "r1": {
 
          "type": "number"
 
        },
 
        "x2": {
 
          "type": "number"
 
        },
 
        "y2": {
 
          "type": "number"
 
        },
 
        "r2": {
 
          "type": "number"
 
        },
 
        "stops": {
 
          "$ref": "#/refs/gradientStops"
 
        }
 
      },
 
      "required": [
 
        "gradient",
 
        "stops"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "expr": {
 
      "type": "object",
 
      "properties": {
 
        "expr": {
 
          "type": "string"
 
        },
 
        "as": {
 
          "type": "string"
 
        }
 
      },
 
      "required": [
 
        "expr"
 
      ]
 
    },
 
    "exprString": {
 
      "type": "string"
 
    },
 
    "compare": {
 
      "oneOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "field": {
 
              "oneOf": [
 
                {
 
                  "$ref": "#/refs/scaleField"
 
                },
 
                {
 
                  "$ref": "#/refs/expr"
 
                }
 
              ]
 
            },
 
            "order": {
 
              "$ref": "#/refs/sortOrder"
 
            }
 
          },
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "field": {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "$ref": "#/refs/scaleField"
 
                  },
 
                  {
 
                    "$ref": "#/refs/expr"
 
                  }
 
                ]
 
              }
 
            },
 
            "order": {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/refs/sortOrder"
 
              }
 
            }
 
          },
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "from": {
 
      "type": "object",
 
      "properties": {
 
        "data": {
 
          "type": "string"
 
        }
 
      },
 
      "additionalProperties": false
 
    },
 
    "facet": {
 
      "type": "object",
 
      "properties": {
 
        "data": {
 
          "type": "string"
 
        },
 
        "facet": {
 
          "oneOf": [
 
            {
 
              "type": "object",
 
              "properties": {
 
                "name": {
 
                  "type": "string"
 
                },
 
                "data": {
 
                  "type": "string"
 
                },
 
                "field": {
 
                  "type": "string"
 
                }
 
              },
 
              "required": [
 
                "name",
 
                "data",
 
                "field"
 
              ],
 
              "additionalProperties": false
 
            },
 
            {
 
              "type": "object",
 
              "properties": {
 
                "name": {
 
                  "type": "string"
 
                },
 
                "data": {
 
                  "type": "string"
 
                },
 
                "groupby": {
 
                  "oneOf": [
 
                    {
 
                      "type": "string"
 
                    },
 
                    {
 
                      "type": "array",
 
                      "items": {
 
                        "type": "string"
 
                      }
 
                    }
 
                  ]
 
                },
 
                "aggregate": {
 
                  "type": "object",
 
                  "properties": {
 
                    "cross": {
 
                      "type": "boolean"
 
                    },
 
                    "fields": {
 
                      "type": "array",
 
                      "items": {
 
                        "type": "string"
 
                      }
 
                    },
 
                    "ops": {
 
                      "type": "array",
 
                      "items": {
 
                        "type": "string"
 
                      }
 
                    },
 
                    "as": {
 
                      "type": "array",
 
                      "items": {
 
                        "type": "string"
 
                      }
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              },
 
              "required": [
 
                "name",
 
                "data",
 
                "groupby"
 
              ],
 
              "additionalProperties": false
 
            }
 
          ]
 
        }
 
      },
 
      "required": [
 
        "facet"
 
      ],
 
      "additionalProperties": false
 
    },
 
    "markclip": {
 
      "oneOf": [
 
        {
 
          "$ref": "#/refs/booleanOrSignal"
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "path": {
 
              "$ref": "#/refs/stringOrSignal"
 
            }
 
          },
 
          "required": [
 
            "path"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "sphere": {
 
              "$ref": "#/refs/stringOrSignal"
 
            }
 
          },
 
          "required": [
 
            "sphere"
 
          ],
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "style": {
 
      "oneOf": [
 
        {
 
          "type": "string"
 
        },
 
        {
 
          "type": "array",
 
          "items": {
 
            "type": "string"
 
          }
 
        }
 
      ]
 
    },
 
    "marktype": {
 
      "type": "string"
 
    },
 
    "scaleField": {
 
      "$ref": "#/refs/stringOrSignal"
 
    },
 
    "sortOrder": {
 
      "oneOf": [
 
        {
 
          "enum": [
 
            "ascending",
 
            "descending"
 
          ]
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "scaleBins": {
 
      "oneOf": [
 
        {
 
          "type": "array",
 
          "items": {
 
            "$ref": "#/refs/numberOrSignal"
 
          }
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "step": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "start": {
 
              "$ref": "#/refs/numberOrSignal"
 
            },
 
            "stop": {
 
              "$ref": "#/refs/numberOrSignal"
 
            }
 
          },
 
          "required": [
 
            "step"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "scaleInterpolate": {
 
      "oneOf": [
 
        {
 
          "type": "string"
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "type": {
 
              "$ref": "#/refs/stringOrSignal"
 
            },
 
            "gamma": {
 
              "$ref": "#/refs/numberOrSignal"
 
            }
 
          },
 
          "required": [
 
            "type"
 
          ],
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "scaleData": {
 
      "oneOf": [
 
        {
 
          "type": "object",
 
          "properties": {
 
            "data": {
 
              "type": "string"
 
            },
 
            "field": {
 
              "$ref": "#/refs/stringOrSignal"
 
            },
 
            "sort": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "field": {
 
                      "$ref": "#/refs/stringOrSignal"
 
                    },
 
                    "op": {
 
                      "$ref": "#/refs/stringOrSignal"
 
                    },
 
                    "order": {
 
                      "$ref": "#/refs/sortOrder"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                }
 
              ]
 
            }
 
          },
 
          "required": [
 
            "data",
 
            "field"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "data": {
 
              "type": "string"
 
            },
 
            "fields": {
 
              "type": "array",
 
              "items": {
 
                "$ref": "#/refs/stringOrSignal"
 
              },
 
              "minItems": 1
 
            },
 
            "sort": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "op": {
 
                      "enum": [
 
                        "count"
 
                      ]
 
                    },
 
                    "order": {
 
                      "$ref": "#/refs/sortOrder"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "field": {
 
                      "$ref": "#/refs/stringOrSignal"
 
                    },
 
                    "op": {
 
                      "enum": [
 
                        "count",
 
                        "min",
 
                        "max"
 
                      ]
 
                    },
 
                    "order": {
 
                      "$ref": "#/refs/sortOrder"
 
                    }
 
                  },
 
                  "required": [
 
                    "field",
 
                    "op"
 
                  ],
 
                  "additionalProperties": false
 
                }
 
              ]
 
            }
 
          },
 
          "required": [
 
            "data",
 
            "fields"
 
          ],
 
          "additionalProperties": false
 
        },
 
        {
 
          "type": "object",
 
          "properties": {
 
            "fields": {
 
              "type": "array",
 
              "items": {
 
                "oneOf": [
 
                  {
 
                    "type": "object",
 
                    "properties": {
 
                      "data": {
 
                        "type": "string"
 
                      },
 
                      "field": {
 
                        "$ref": "#/refs/stringOrSignal"
 
                      }
 
                    },
 
                    "required": [
 
                      "data",
 
                      "field"
 
                    ],
 
                    "additionalProperties": false
 
                  },
 
                  {
 
                    "type": "array",
 
                    "items": {
 
                      "oneOf": [
 
                        {
 
                          "type": "string"
 
                        },
 
                        {
 
                          "type": "number"
 
                        },
 
                        {
 
                          "type": "boolean"
 
                        }
 
                      ]
 
                    }
 
                  },
 
                  {
 
                    "$ref": "#/refs/signal"
 
                  }
 
                ]
 
              },
 
              "minItems": 1
 
            },
 
            "sort": {
 
              "oneOf": [
 
                {
 
                  "type": "boolean"
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "op": {
 
                      "enum": [
 
                        "count"
 
                      ]
 
                    },
 
                    "order": {
 
                      "$ref": "#/refs/sortOrder"
 
                    }
 
                  },
 
                  "additionalProperties": false
 
                },
 
                {
 
                  "type": "object",
 
                  "properties": {
 
                    "field": {
 
                      "$ref": "#/refs/stringOrSignal"
 
                    },
 
                    "op": {
 
                      "enum": [
 
                        "count",
 
                        "min",
 
                        "max"
 
                      ]
 
                    },
 
                    "order": {
 
                      "$ref": "#/refs/sortOrder"
 
                    }
 
                  },
 
                  "required": [
 
                    "field",
 
                    "op"
 
                  ],
 
                  "additionalProperties": false
 
                }
 
              ]
 
            }
 
          },
 
          "required": [
 
            "fields"
 
          ],
 
          "additionalProperties": false
 
        }
 
      ]
 
    },
 
    "selector": {
 
      "type": "string"
 
    },
 
    "signal": {
 
      "type": "object",
 
      "properties": {
 
        "signal": {
 
          "type": "string"
 
        }
 
      },
 
      "required": [
 
        "signal"
 
      ]
 
    },
 
    "arrayOrSignal": {
 
      "oneOf": [
 
        {
 
          "type": "array"
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "booleanOrSignal": {
 
      "oneOf": [
 
        {
 
          "type": "boolean"
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "numberOrSignal": {
 
      "oneOf": [
 
        {
 
          "type": "number"
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "stringOrSignal": {
 
      "oneOf": [
 
        {
 
          "type": "string"
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    },
 
    "textOrSignal": {
 
      "oneOf": [
 
        {
 
          "oneOf": [
 
            {
 
              "type": "string"
 
            },
 
            {
 
              "type": "array",
 
              "items": {
 
                "type": "string"
 
              }
 
            }
 
          ]
 
        },
 
        {
 
          "$ref": "#/refs/signal"
 
        }
 
      ]
 
    }
 
  },
 
  "type": "object",
 
  "allOf": [
 
    {
 
      "$ref": "#/defs/scope"
 
    },
 
    {
 
      "properties": {
 
        "$schema": {
 
          "type": "string",
 
          "format": "uri"
 
        },
 
        "config": {
 
          "type": "object"
 
        },
 
        "description": {
 
          "type": "string"
 
        },
 
        "width": {
 
          "$ref": "#/refs/numberOrSignal"
 
        },
 
        "height": {
 
          "$ref": "#/refs/numberOrSignal"
 
        },
 
        "padding": {
 
          "$ref": "#/defs/padding"
 
        },
 
        "autosize": {
 
          "$ref": "#/defs/autosize"
 
        },
 
        "background": {
 
          "$ref": "#/defs/background"
 
        },
 
        "style": {
 
          "$ref": "#/refs/style"
 
        }
 
      }
 
    }
 
  ]
 
}
 
-->
 

Revision as of 09:27, 22 March 2021

Few Word.png

Reading is hard... but somehow, we need to put the necessary training information into your brain so that you stay safe and don't break stuff while using equipment in the Maker Hub. I'll try to convey all of this in as few words as possible (humor aside).

The Maker Hub is a makerspace open to all George Fox University students for innovating, designing, and creating. It is a 16,000 square foot space located in the Klages Center that comprises several design areas including technical shops, a central tool room, a computer lab, meeting rooms, and general work spaces. The Maker Hub was designed to facilitate learning, encourage entrepreneurship, and add value to the GFU student's educational experience. It's a collaborative environment that is home to senior design and servant engineering teams, guest lectures and community events, design competitions, project exhibitions, and training classes.

How We Operate

The Maker Hub has a limited number of staff and student employees. It is largely run by student staff and volunteers who help with training and overseeing various technical shops. Our students are encouraged to "own" the space. In any public space, there has to be some set of rules that govern the activity in the space. Ideally, we would just use the clever “Rule 0: Don’t make me make a rule.” But, we felt it was better to come up with some overall guiding principles rather than a list of rules. Clearly, there are some obvious “rules” that get implied from these principles, but, we believe that if you embrace the principles, the rules will take care of themselves. These principles we like to call, the 3 commandments: Safety First, Reset the Space, Be Professional. Please explore the 3 commandments page for a deeper explanation. Many of these Wiki pages will have their own "3 commandments" section to cover unique details for equipment and tools.

There is a 6,000 square foot central room known simply as "The Hub" which provides a large work area with benches and tools for general making activities.


To successfully complete the Maker Hub Introduction Foxtale quiz, you will need information from this page, The Hub, and 3 commandments. Find the link to the Maker Hub Introduction Foxtale quiz here.

Certification

Maker Hub Introduction FoxTALE Quiz

Training

How does our training system work? Take a look at the fancy graph below. Every node on the graph has a corresponding Foxtale quiz (unless it is labelled with (No Quiz)). The graph follows a sequential process of completing quizzes from left to right. For example, if I wanted to get certified on the Milling Machine, I would need to take the Maker Hub Intro quiz, then the Machine Shop quiz, then the Milling Machine quiz. All of the information I would need to pass these 3 quizzes can be found at the respective links given. Let's say that I also wanted to get certified on the Sewing Machine. Well, I've already passed the Maker Hub Intro quiz, and there's no quiz for The Hub... so I only need to pass the Sewing Machine quiz. So on and so forth. Keep in mind that all FoxTale quizzes are reset at the beginning of the summer, so you will need to retake all your quizzes in the fall. This is intentional to refresh your knowledge of how to operate each machine once a year.


Facilities with FoxTALE Quizzes

Links to the Wiki pages on the left. Links to the FoxTALE Quizzes on the right. This is not a comprehesive list of our facilities. See our facilities page for the full list.

 Link to the FoxTALE Quiz
Machine Shop
PCB Lab
Prototype Lab
The Vault
Welding Shop
Wood Shop

Equipment

Links to the Wiki pages on the left. Links to the FoxTALE Quizzes on the right. See our Equipment page for a more detailed presentation of the equipment available in the Maker Hub.

 Link to the FoxTALE Quiz
3D Scanners
Bead Roller
Belt Sander
Belt/Disc Sander
Bending Brake
Blast Cabinet
Buffers
CNC Router
Compound Miter Saw
Drill Press
Electronics Workstation
F370 3D Printer
Foam Cutter
Formlabs 3D Printer
Hand Bender
Hand Router
Handheld CNC Router
Heat Press
High Speed Camera
Horizontal Bandsaw
Hydraulic Press
Injection Molding Machine
Jewelry Station
Jointer
Lathe
Leatherworking Station
MIG Welder
Markforged 3D Printer
Metal Laser Cutter
Milling Machine
Mug Press
Oscillating Spindle Sander
PCB Printer
Pedestal Grinder
Photo Table
Pick and Place
Planer
Plasma Cutter
Power Carver
Prusa 3D Printer
Reflow Oven
Rework Station
Ring Roller
Rotary Punch
Router Table
Scroll Saw
Serger
Sewing Machine
Sheet Metal Shear
Slip Roller
Soldering Irons
Speedy 300
Speedy 400
Spot Welder
Sublimation Printer
TIG Welder
Table Saw
Through Hole Press
Vacuum Former
Vertical Bandsaw
Vertical Wood Bandsaw
Vinyl Cutter
Vinyl Printer+Cutter
Virtual Reality Welding Station
Waterjet Cutter
Wood Drill Press
Wood Lathe

TVs (Training Ventures)

152 Robot, Egg Shaker, Electronic keyboard, Mood Lamp, Quena, Slide Whistle, T-Shirt, Triangle, Windchimes, Wooden Train Whistle

Equipment

In general, equipment refers to larger machines than those things one might refer to as a "tool." However, in the Maker Hub, equipment is a special category of machines because, by definitions, every piece of equipment requires certified training before an individual is allowed to use it. Information on how to achieve this training is provided on the Wiki page for each piece of equipment. Equipment is marked in the Maker Hub by the use of special icons that are displayed either on, around, or above the equipment. An example icon is this one used for the Horizontal Bandsaw.

Horizontal bandsaw icon.png


The Maker Hub equipment is located in the various facilities and covers various "domains" of activity, from wood, metal, and plastic to electronics, cloths, and crafts. Use the links below to find equipment for each domain.

Staff

Curious to know who is in charge of what machine? Check out the list of Aces.

Tools

Tools (both hand tools and power tools) are stored at various locations in the Maker Hub. Tools do not require certified training before use, but users are expected to familiarize themselves with tool operation by viewing the appropriate Wiki page. Furthermore, as part of the 'Safety First commandment, users are encouraged to seek help and instruction for any tool that they feel uncomfortable using. Volunteers will be available to serve these needs.

Software

A variety of engineering software is available. The use of some software may require the FortiClient VPN when not on George Fox wifi. Computer Lab Software Computers on Wheels Software

Maker Hub Wiki

Go to the Maker Hub Wiki page for information on the structure of this Wiki and how to appropriately edit this Wiki. Also, try out the Sandbox for editing practice. There is also a special google drive for Maker Hub Crew.

Fearless Leader.jpg