Builds interactive graphics from a declarative specification. Marks, scales, tooltips, zoom, brushing, linked selections, animated transitions and multi-plot layouts are declared in one pipeline and stored as a plain R list that can be inspected, saved as JSON or converted to 'Vega-Lite'. Plots are drawn in the browser with 'D3.js' and work at the console, in R Markdown and 'Quarto' documents, and in 'Shiny' apps, where brushed selections are returned to R.