Analytical interaction is what a reader does to change the question a chart answers. For example:
| With anfra | Without anfra |
|---|---|
| InterfaceBuilt by any agent; it draws the charts and turns each gesture into one SDK call, never SQL | InterfaceDoes everything itself |
| anfra SDKHolds the reader's filters, selections, time, drill and parameters; decides which charts each choice reaches; saves, restores and exports it | SQL and state written into the app
|
| anfra serverCompiles AQL through the semantic model, so revenue is defined once for every chart and agent | |
| One clickStructured input goes in; the same AQL comes back with new rows | |
| WarehouseOnly receives SQL compiled from the shared definitions | WarehouseReceives whatever SQL each app wrote |
Why it matters: Claude Dashboards and ChatGPT's Data plugin already build attractive dashboards, but they write SQL per chart. With anfra, every query runs through the metric definitions, and every interaction is reusable state, whichever agent built the page.