A VictoryLine. stepDirection is set when its interpolation draws
a staircase, making the layer a step rather than a line.
A VictoryArea — a line whose region down to the baseline is filled.
The fill is what the chart is called rather than a second magnitude, so
the payload is a line's.
A VictoryStack of VictoryArea children, one row per band. Each
band carries its own untransformed value; the running total is the
trace's to compute. normalized marks a stack whose columns are shares
of a common whole.
A VictoryBar drawn polar — values as wedges around a circle.
A VictoryScatter whose x values name categories — a Cleveland dot
plot. One magnitude per category is what a reader navigates, so the
payload is a bar's rather than a scatter's.
A VictoryErrorBar, with Victory's error deltas resolved to bounds.
A VictoryBar whose bars float between a per-datum y0 and y.
A VictoryPie (or a doughnut — the same component with an innerRadius).
A VictoryGroup of VictoryBar children -- the grouped bar chart that
is VictoryStack's direct counterpart, and that used to emit no layer
at all because the walk never descended into the group (#1057).
The same per-series points a stack carries: what differs is that the bars sit side by side rather than on one another, so nothing accumulates and the values are read as they are.
A VictoryStack of two VictoryBar children signed against each other
— a population pyramid. The values stay signed as the chart draws them,
and the two sides are listed in the order Victory paints them.
Discriminated union of all supported layer data shapes.
Using a discriminated union instead of
unknownensures that each layer's data is validated at extraction time and carries the correct type through to the MAIDR schema conversion.