diff --git a/docs/comparison.md b/docs/comparison.md index 61c55ce6..ca6c2679 100644 --- a/docs/comparison.md +++ b/docs/comparison.md @@ -60,25 +60,25 @@ License color: - 🟠 Commercial use is conditional or revenue-limited - 🔴 Paid license required for commercial use -| Library | SVG output | Canvas or WebGL output | Framework-neutral core | License / paid tier | -| -------------------------------------------------------------------------------------- | -------------------- | -------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------- | -| [TanStack Charts](./overview.md) | ✅ Default | ✅ Optional renderer | ✅ Core + adapters | 🟢 MIT | -| [D3](./concepts/scales-and-d3.md) | ✅ Yes | ✅ Yes | ✅ Yes | 🟢 ISC | -| [Chart.js](https://www.chartjs.org/docs/latest/) | 🔴 Canvas only | ✅ Default | ✅ Yes | 🟢 MIT | -| [Apache ECharts](https://echarts.apache.org/handbook/en/best-practices/canvas-vs-svg/) | ✅ Optional renderer | ✅ Default | ✅ Yes | 🟢 Apache-2.0 | -| [Recharts](https://recharts.github.io/en-US/) | ✅ Default | 🔴 No first-party renderer | 🔴 React only | 🟢 MIT | -| [visx](https://github.com/airbnb/visx) | ✅ Default | 🔴 No renderer | 🔴 React only | 🟢 MIT | -| [Plotly.js](https://plotly.com/javascript/) | ✅ Common traces | ✅ WebGL traces | ✅ Yes | 🟢 MIT | -| [Lightweight Charts](https://tradingview.github.io/lightweight-charts/) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟢 Apache-2.0 | -| [ApexCharts](https://apexcharts.com/docs/installation/) | ✅ Default | 🔴 No renderer | ✅ Yes | 🟠 [Free under $2M revenue; commercial or OEM otherwise](https://apexcharts.com/license/community/) | -| [Nivo](https://nivo.rocks/about/) | ✅ Default | ✅ Selected charts | 🔴 React only | 🟢 MIT | -| [Highcharts](https://www.highcharts.com/docs/getting-started/system-requirements) | ✅ Default | ✅ Boost WebGL | ✅ Yes | 🔴 [Commercial; separate non-commercial terms](https://shop.highcharts.com/license-16.0.pdf) | -| [Victory](https://commerce.nearform.com/open-source/victory/) | ✅ Web | ✅ Native Skia | 🔴 React only | 🟢 MIT | -| [uPlot](https://github.com/leeoniya/uPlot) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟢 MIT | -| [Vega-Lite](https://vega.github.io/vega-lite/) | ✅ Yes | ✅ Canvas | ✅ Yes | 🟢 BSD-3-Clause | -| [Observable Plot](https://observablehq.com/plot/features/plots) | ✅ Default | 🔴 No first-party renderer | ✅ Yes | 🟢 ISC | -| [Bklit UI](https://bklit.com/docs/installation) | ✅ Default | 🔴 No renderer | 🔴 React only | 🟡 [MIT components; proprietary Studio](https://github.com/bklit/bklit-ui#license) | -| [AG Charts](https://www.ag-grid.com/charts/javascript/installation/) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟡 [MIT Community; paid Enterprise](https://www.ag-grid.com/charts/javascript/licensing/) | +| Library | SVG output | Canvas or WebGL output | Framework-neutral core | License / paid tier | +| -------------------------------------------------------------------------------------- | -------------------- | ---------------------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------- | +| [TanStack Charts](./overview.md) | ✅ Default | ✅ Optional Canvas 2D; no WebGL renderer | ✅ Core + adapters | 🟢 MIT | +| [D3](./concepts/scales-and-d3.md) | ✅ Yes | ✅ Yes | ✅ Yes | 🟢 ISC | +| [Chart.js](https://www.chartjs.org/docs/latest/) | 🔴 Canvas only | ✅ Default | ✅ Yes | 🟢 MIT | +| [Apache ECharts](https://echarts.apache.org/handbook/en/best-practices/canvas-vs-svg/) | ✅ Optional renderer | ✅ Default | ✅ Yes | 🟢 Apache-2.0 | +| [Recharts](https://recharts.github.io/en-US/) | ✅ Default | 🔴 No first-party renderer | 🔴 React only | 🟢 MIT | +| [visx](https://github.com/airbnb/visx) | ✅ Default | 🔴 No renderer | 🔴 React only | 🟢 MIT | +| [Plotly.js](https://plotly.com/javascript/) | ✅ Common traces | ✅ WebGL traces | ✅ Yes | 🟢 MIT | +| [Lightweight Charts](https://tradingview.github.io/lightweight-charts/) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟢 Apache-2.0 | +| [ApexCharts](https://apexcharts.com/docs/installation/) | ✅ Default | 🔴 No renderer | ✅ Yes | 🟠 [Free under $2M revenue; commercial or OEM otherwise](https://apexcharts.com/license/community/) | +| [Nivo](https://nivo.rocks/about/) | ✅ Default | ✅ Selected charts | 🔴 React only | 🟢 MIT | +| [Highcharts](https://www.highcharts.com/docs/getting-started/system-requirements) | ✅ Default | ✅ Boost WebGL | ✅ Yes | 🔴 [Commercial; separate non-commercial terms](https://shop.highcharts.com/license-16.0.pdf) | +| [Victory](https://commerce.nearform.com/open-source/victory/) | ✅ Web | ✅ Native Skia | 🔴 React only | 🟢 MIT | +| [uPlot](https://github.com/leeoniya/uPlot) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟢 MIT | +| [Vega-Lite](https://vega.github.io/vega-lite/) | ✅ Yes | ✅ Canvas | ✅ Yes | 🟢 BSD-3-Clause | +| [Observable Plot](https://observablehq.com/plot/features/plots) | ✅ Default | 🔴 No first-party renderer | ✅ Yes | 🟢 ISC | +| [Bklit UI](https://bklit.com/docs/installation) | ✅ Default | 🔴 No renderer | 🔴 React only | 🟡 [MIT components; proprietary Studio](https://github.com/bklit/bklit-ui#license) | +| [AG Charts](https://www.ag-grid.com/charts/javascript/installation/) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟡 [MIT Community; paid Enterprise](https://www.ag-grid.com/charts/javascript/licensing/) | A checkmark means the named path exists; it does not claim identical defaults, accessibility, output, or performance. diff --git a/packages/charts-core/docs/comparison.md b/packages/charts-core/docs/comparison.md index 61c55ce6..ca6c2679 100644 --- a/packages/charts-core/docs/comparison.md +++ b/packages/charts-core/docs/comparison.md @@ -60,25 +60,25 @@ License color: - 🟠 Commercial use is conditional or revenue-limited - 🔴 Paid license required for commercial use -| Library | SVG output | Canvas or WebGL output | Framework-neutral core | License / paid tier | -| -------------------------------------------------------------------------------------- | -------------------- | -------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------- | -| [TanStack Charts](./overview.md) | ✅ Default | ✅ Optional renderer | ✅ Core + adapters | 🟢 MIT | -| [D3](./concepts/scales-and-d3.md) | ✅ Yes | ✅ Yes | ✅ Yes | 🟢 ISC | -| [Chart.js](https://www.chartjs.org/docs/latest/) | 🔴 Canvas only | ✅ Default | ✅ Yes | 🟢 MIT | -| [Apache ECharts](https://echarts.apache.org/handbook/en/best-practices/canvas-vs-svg/) | ✅ Optional renderer | ✅ Default | ✅ Yes | 🟢 Apache-2.0 | -| [Recharts](https://recharts.github.io/en-US/) | ✅ Default | 🔴 No first-party renderer | 🔴 React only | 🟢 MIT | -| [visx](https://github.com/airbnb/visx) | ✅ Default | 🔴 No renderer | 🔴 React only | 🟢 MIT | -| [Plotly.js](https://plotly.com/javascript/) | ✅ Common traces | ✅ WebGL traces | ✅ Yes | 🟢 MIT | -| [Lightweight Charts](https://tradingview.github.io/lightweight-charts/) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟢 Apache-2.0 | -| [ApexCharts](https://apexcharts.com/docs/installation/) | ✅ Default | 🔴 No renderer | ✅ Yes | 🟠 [Free under $2M revenue; commercial or OEM otherwise](https://apexcharts.com/license/community/) | -| [Nivo](https://nivo.rocks/about/) | ✅ Default | ✅ Selected charts | 🔴 React only | 🟢 MIT | -| [Highcharts](https://www.highcharts.com/docs/getting-started/system-requirements) | ✅ Default | ✅ Boost WebGL | ✅ Yes | 🔴 [Commercial; separate non-commercial terms](https://shop.highcharts.com/license-16.0.pdf) | -| [Victory](https://commerce.nearform.com/open-source/victory/) | ✅ Web | ✅ Native Skia | 🔴 React only | 🟢 MIT | -| [uPlot](https://github.com/leeoniya/uPlot) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟢 MIT | -| [Vega-Lite](https://vega.github.io/vega-lite/) | ✅ Yes | ✅ Canvas | ✅ Yes | 🟢 BSD-3-Clause | -| [Observable Plot](https://observablehq.com/plot/features/plots) | ✅ Default | 🔴 No first-party renderer | ✅ Yes | 🟢 ISC | -| [Bklit UI](https://bklit.com/docs/installation) | ✅ Default | 🔴 No renderer | 🔴 React only | 🟡 [MIT components; proprietary Studio](https://github.com/bklit/bklit-ui#license) | -| [AG Charts](https://www.ag-grid.com/charts/javascript/installation/) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟡 [MIT Community; paid Enterprise](https://www.ag-grid.com/charts/javascript/licensing/) | +| Library | SVG output | Canvas or WebGL output | Framework-neutral core | License / paid tier | +| -------------------------------------------------------------------------------------- | -------------------- | ---------------------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------- | +| [TanStack Charts](./overview.md) | ✅ Default | ✅ Optional Canvas 2D; no WebGL renderer | ✅ Core + adapters | 🟢 MIT | +| [D3](./concepts/scales-and-d3.md) | ✅ Yes | ✅ Yes | ✅ Yes | 🟢 ISC | +| [Chart.js](https://www.chartjs.org/docs/latest/) | 🔴 Canvas only | ✅ Default | ✅ Yes | 🟢 MIT | +| [Apache ECharts](https://echarts.apache.org/handbook/en/best-practices/canvas-vs-svg/) | ✅ Optional renderer | ✅ Default | ✅ Yes | 🟢 Apache-2.0 | +| [Recharts](https://recharts.github.io/en-US/) | ✅ Default | 🔴 No first-party renderer | 🔴 React only | 🟢 MIT | +| [visx](https://github.com/airbnb/visx) | ✅ Default | 🔴 No renderer | 🔴 React only | 🟢 MIT | +| [Plotly.js](https://plotly.com/javascript/) | ✅ Common traces | ✅ WebGL traces | ✅ Yes | 🟢 MIT | +| [Lightweight Charts](https://tradingview.github.io/lightweight-charts/) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟢 Apache-2.0 | +| [ApexCharts](https://apexcharts.com/docs/installation/) | ✅ Default | 🔴 No renderer | ✅ Yes | 🟠 [Free under $2M revenue; commercial or OEM otherwise](https://apexcharts.com/license/community/) | +| [Nivo](https://nivo.rocks/about/) | ✅ Default | ✅ Selected charts | 🔴 React only | 🟢 MIT | +| [Highcharts](https://www.highcharts.com/docs/getting-started/system-requirements) | ✅ Default | ✅ Boost WebGL | ✅ Yes | 🔴 [Commercial; separate non-commercial terms](https://shop.highcharts.com/license-16.0.pdf) | +| [Victory](https://commerce.nearform.com/open-source/victory/) | ✅ Web | ✅ Native Skia | 🔴 React only | 🟢 MIT | +| [uPlot](https://github.com/leeoniya/uPlot) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟢 MIT | +| [Vega-Lite](https://vega.github.io/vega-lite/) | ✅ Yes | ✅ Canvas | ✅ Yes | 🟢 BSD-3-Clause | +| [Observable Plot](https://observablehq.com/plot/features/plots) | ✅ Default | 🔴 No first-party renderer | ✅ Yes | 🟢 ISC | +| [Bklit UI](https://bklit.com/docs/installation) | ✅ Default | 🔴 No renderer | 🔴 React only | 🟡 [MIT components; proprietary Studio](https://github.com/bklit/bklit-ui#license) | +| [AG Charts](https://www.ag-grid.com/charts/javascript/installation/) | 🔴 No renderer | ✅ Default | ✅ Yes | 🟡 [MIT Community; paid Enterprise](https://www.ag-grid.com/charts/javascript/licensing/) | A checkmark means the named path exists; it does not claim identical defaults, accessibility, output, or performance. diff --git a/scripts/benchmark/comparison-capabilities.mjs b/scripts/benchmark/comparison-capabilities.mjs index ca98dee3..c2a606ab 100644 --- a/scripts/benchmark/comparison-capabilities.mjs +++ b/scripts/benchmark/comparison-capabilities.mjs @@ -144,7 +144,7 @@ export const comparisonCapabilityCoverage = [ capability: 'Canvas output', measured: 'documented renderer', implementations: { - tanstack: firstParty('Optional renderer'), + tanstack: firstParty('Optional Canvas 2D; no WebGL renderer'), chartjs: firstParty('Default'), echarts: firstParty('Default'), recharts: unavailable('No first-party renderer'),