You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add a support for Highcharts rendering backend #141
Flint compiles one semantic chart input to multiple render targets (Vega-Lite, ECharts, Chart.js, Plotly, Excel, Image-Charts). Highcharts is widely deployed and exposes a serializable option object, so it's a natural additional target for hosts already using Highcharts. Adding it lets the same Flint input drive a Highcharts render without a separate authoring model.
Proposal
Add a highcharts backend to flint-js:
assembleHighcharts(input) compiles the shared core semantic layer into a Highcharts option, exported from the package root and from a new flint-chart/highcharts subpath.
Follow docs/adding-a-backend.md and mirror the existing backend structure (assemble → templates → instantiate-spec).
Reuse Phase 0 semantic resolution and banded-axis overflow filtering.
Register with validateChart; wire the MCP server and site editor.
Add an interactive renderer so interaction_spec presets mount.
Scope (chart types)
Scatter, Bar, Grouped Bar, Stacked Bar, Histogram, Line, Area, Pie, Doughnut, Sunburst, Radar, Heatmap, Waterfall (13). Unsupported types are out of scope by design; the reference documents exactly what is ported.
Acceptance criteria
Bar, line, area, scatter render on the standard gallery matrices
tests/smoke.test.ts passes for the new assembler
npm run typecheck and npm run test pass at repo root
A dedicated test-data generator exercises backend-specific options
Notes
Highcharts is an optional peer dependency (^11 || ^12 || ^13); externalized by the build.
Activity