AI agents can now ship charts you can click: Flint-interactive hands zoom, filtering and cross-chart links to a compiler
Synopsis
Data visualizations produced by AI agents usually stop at a static image, so readers who want to zoom into detail, compare across charts, or link a chart selection to nearby text must fall back on low-level code and repeated debugging. Flint-interactive adds an interaction language on top of Flint, letting users or agents describe behavior with high-level semantic events and update operators while Flint's compiler turns clicks, drags and key presses into semantic events that identify chart elements and data, then into canvas updates. Separating interaction logic from visual logic also lets the same model connect charts to tables, text, other charts and widgets for dashboards and data stories.
Interpretation
Data visualizations generated by AI agents can now carry interaction: readers can click, filter, zoom and highlight, and an action in one chart can update another chart or related content in a document. The prior route had agents write low-level visualization code, or rely on built-in interactions in visualization libraries, which are not expressive enough for bespoke interactive charts. The capability builds on Flint's existing compiler; an interaction spec is generated alongside the Flint chart spec and rendered in a conversation or canvas.
Authoring an interaction shifts from manipulating renderer details to describing semantics: the user states which event triggers which update, and the compiler handles the rest. Previously one had to reverse-engineer rendering logic and manipulate renderer-specific marks, which invites poor layouts and broken interactions, and fixes can introduce new problems. Flint Canvas is a state machine that tracks user interactions on the canvas and manages rendering state; the compiler handles hit testing and low-level visual updates, while the user maps semantic events to update operators such as set style, set annotation and set viewport.
Perspective
The language targets agents generating charts in chat or canvas environments, developers building dashboards and data stories, and designers authoring interaction presets. The stated usage paths are generating an interaction spec in chat through Flint-MCP and MCP Apps, handling semantic events and sending update operators in applications through Flint Interactive Canvas, and defining triggers and custom handler functions with the programming API. Designers are also invited to turn new interactions into reusable presets and propose them on GitHub.
The material notes that even capable frontier models rarely produce a fully satisfactory interactive visualization in one turn, and repeated rounds of reasoning, coding and debugging consume tokens and time; expressive interactive charts also easily introduce poor layouts or broken interactions. It attributes these difficulties to the lack of an expressive yet high-level language for specifying visual interactions, but reports no quantitative evaluation.
