What This Exercises

Each linked page renders one compiler surface and exposes its compiled chart, scene graph, selected glyph params, source rows, fields, scales, layouts, and theme lineage. The index stays as a map of the workbench rather than rendering every test chart at once.

Normalize

Stable ChartSpec ids separate source fields, layouts, scales, and layers.

Resolve

Params become concrete glyph geometry and style with inspectable lineage.

Inspect

Click or hover a glyph to see the full source history for that mark.

Surfaces

50

Layers

383

Glyphs

6536

Test Surfaces

Arc Diagram
30 glyphs

Source-target rows compile into ordered node positions and weighted arc paths.

5 data
17 fields
1 scales
6 layers
path 7 / point 7 / rect 4 / text 12
Area Graph
27 glyphs

Catalogue area graph implemented with the compiler area-band path primitive.

3 data
5 fields
2 scales
7 layers
line 6 / path 2 / text 17 / point 2
Bar Chart
105 glyphs

Catalogue bar chart using categorical bands, a shared zero baseline, and rect marks.

4 data
4 fields
2 scales
7 layers
line 38 / rect 31 / text 36

Raw observations compile into quartile summaries, whiskers, caps, and median marks.

5 data
14 fields
2 scales
11 layers
line 23 / rect 8 / text 9
Bubble Chart
51 glyphs

Catalogue bubble chart with area-correct radius values, category color, and point glyphs.

9 data
14 fields
4 scales
14 layers
line 17 / point 11 / text 19 / rect 4
Bullet Graph
37 glyphs

Raw metric thresholds compile into qualitative bands, actual bars, and target markers.

6 data
19 fields
2 scales
8 layers
line 16 / rect 12 / text 9
Calendar
80 glyphs

Raw dated rows compile into month-grid cells with generated color legend values.

5 data
20 fields
1 scales
8 layers
rect 36 / text 44

Raw intraperiod prices compile into open/high/low/close candles.

7 data
21 fields
3 scales
11 layers
line 20 / text 15 / rect 8

A parent-child metric table compiles into nested circle positions and radii.

3 data
21 fields
1 scales
2 layers
point 10 / text 10
Density Plot
31 glyphs

Raw observations compile through a kernel-density transform before rendering as a filled distribution.

6 data
6 fields
2 scales
8 layers
line 19 / path 1 / text 11
Donut Chart
22 glyphs

An annular sector layout derives donut paths and center summary text from raw category values.

4 data
20 fields
1 scales
6 layers
path 5 / text 12 / rect 5

Raw category counts compile into repeated point glyphs on a compact dot grid.

2 data
11 fields
2 scales
3 layers
text 5 / point 34
Error Bars
38 glyphs

Grouped raw observations compile into mean points with confidence-style error intervals.

5 data
11 fields
2 scales
10 layers
line 24 / text 10 / point 4

Reproduction of FlowingData's 2026 occupation divorce-rate beeswarm with source rows and compiler lineage.

5 data
29 fields
2 scales
5 layers
line 5 / text 5 / point 530

Small-multiple reproduction of FlowingData's 2026 occupation category divorce-rate distributions.

5 data
36 fields
1 scales
4 layers
line 23 / point 530 / text 46

Reproduction of the NYT/FlowingData EV price-vs-range comparison with source rows and regression lineage.

16 data
34 fields
4 scales
16 layers
line 14 / path 2 / text 20 / point 194
FD ICE Arrests
134 glyphs

Reproduction of the FlowingData/NYT ICE-arrests small-multiple line chart from reconstructed rendered geometry.

23 data
28 fields
6 scales
23 layers
line 33 / text 76 / path 25
Gantt Chart
45 glyphs

Raw task start/end fields compile into interval bars on a shared timeline.

7 data
13 fields
3 scales
10 layers
line 21 / rect 6 / text 18
Heatmap
137 glyphs

Sequential color, band layout, values, and matrix labels all compile to glyphs.

5 data
13 fields
3 scales
7 layers
rect 60 / text 77
Histogram
47 glyphs

Raw order values are binned into continuous intervals before rect glyphs resolve.

6 data
8 fields
2 scales
8 layers
line 19 / rect 17 / text 11
Line Graph
30 glyphs

Catalogue line graph implemented with a sorted path and sampled point glyphs.

3 data
5 fields
2 scales
6 layers
line 6 / path 1 / text 17 / point 6

Raw category and series values compile into variable-width mosaic rectangles.

5 data
21 fields
1 scales
7 layers
rect 16 / text 20

Catalogue grouped bar chart with compiler-owned inner bar offsets inside parent categories.

6 data
17 fields
2 scales
8 layers
line 6 / rect 15 / text 13

The same financial interval transform renders OHLC stems and open/close ticks.

7 data
21 fields
3 scales
12 layers
line 32 / text 15 / rect 2

Equal-angle sectors use value-derived radius, exercising polar sector layout beyond pie shares.

4 data
20 fields
1 scales
5 layers
path 5 / text 11 / rect 5

County polygons are projected through a reusable map layout transform, then encoded with a threshold choropleth scale.

7 data
21 fields
1 scales
7 layers
rect 10 / path 3194 / text 10

Raw multivariate rows compile into per-axis coordinates, axis guides, and grouped polylines.

4 data
22 fields
1 scales
6 layers
line 20 / text 20 / path 5 / point 20
Pie Chart
21 glyphs

Raw category values compile into proportional polar sectors rendered as generated path data.

4 data
20 fields
1 scales
5 layers
path 5 / text 11 / rect 5

Raw age rows compile into mirrored left/right bars with a symmetric quantitative scale.

7 data
19 fields
3 scales
10 layers
line 16 / rect 38 / text 28

Catalogue proportional area chart with circle areas driven by a sqrt scale and generated size legend.

4 data
12 fields
2 scales
7 layers
line 1 / point 8 / text 14
Radar Chart
43 glyphs

Metric rows compile into radial axes, guide rings, closed profile polygons, and vertex points.

7 data
25 fields
1 scales
9 layers
path 7 / line 5 / text 13 / rect 3 / point 15

Ordered values compile into concentric annular bars with proportional sweep angles.

4 data
20 fields
1 scales
6 layers
path 10 / text 11 / rect 5

Equal angular columns share a radial baseline while value controls each annular sector length.

4 data
20 fields
1 scales
5 layers
path 5 / text 11 / rect 5
Scatterplot
42 glyphs

Catalogue scatterplot using point glyphs on two quantitative scales plus an optional trend path.

7 data
9 fields
3 scales
10 layers
line 17 / path 1 / point 12 / text 12
Span Chart
43 glyphs

Raw paired values compile through the interval transform into span lines with endpoint marks.

5 data
11 fields
2 scales
9 layers
line 21 / point 10 / text 12

Catalogue stacked area graph using stack-derived boundaries and area-band paths.

8 data
16 fields
3 scales
13 layers
line 28 / path 6 / text 17 / rect 3

Catalogue stacked bar graph with segment starts and ends generated by the stack transform.

7 data
15 fields
3 scales
10 layers
line 12 / rect 15 / text 13
Stream Graph
57 glyphs

Catalogue stream graph using centered stack boundaries and smooth area bands.

8 data
16 fields
3 scales
12 layers
line 30 / path 4 / text 19 / rect 4

Hierarchy rows are normalized and partitioned into annular sectors with generated SVG path data.

3 data
24 fields
1 scales
2 layers
path 9 / text 9
Timeline
32 glyphs

Dated events render through the temporal scale and generated date axis.

3 data
4 fields
1 scales
8 layers
line 17 / point 5 / text 10
Timetable
73 glyphs

Raw day/time events compile into a timetable grid, headers, and duration-aware event blocks.

4 data
15 fields
1 scales
4 layers
rect 59 / text 14
Treemap
18 glyphs

Raw category metrics are laid out into tile geometry before glyph params resolve.

2 data
14 fields
1 scales
3 layers
rect 6 / text 12
Tree Diagram
29 glyphs

A flat parent-child table is normalized into hierarchy rows, then laid out as nodes and curved links.

4 data
21 fields
1 scales
3 layers
path 9 / point 10 / text 10
Violin Plot
25 glyphs

Grouped raw observations compile into mirrored density silhouettes with median and IQR guides.

4 data
23 fields
2 scales
7 layers
line 13 / path 3 / text 9
KPI
5 glyphs

Context, guide, and data text glyphs compiled from one row.

1 data
3 fields
0 scales
5 layers
rect 2 / text 3
Point
47 glyphs

Point marks resolve two position scales, radius, color, and hit-test identity.

5 data
7 fields
4 scales
9 layers
line 17 / point 10 / text 20

Weekly revenue and brush state are laid out into data and interaction glyph layers.

4 data
10 fields
2 scales
3 layers
rect 9 / text 8

Raw channel revenue is laid out into facet panels, sparkline points, and endpoints.

4 data
10 fields
1 scales
4 layers
rect 3 / text 3 / path 3 / point 9
Symbol Map
21 glyphs

Geographic coordinates resolve through x/y scales while symbol size and color keep lineage.

3 data
6 fields
4 scales
5 layers
rect 1 / line 8 / point 6 / text 6
Product Table
37 glyphs

Raw product metrics and column config derive row positions, headers, and formatted cells.

4 data
14 fields
1 scales
9 layers
rect 6 / line 1 / text 30