← Back to all sparks
B

billboard.js

ANALYTICS
Velocity0.0

D3 based reusable chart library for data visualization

billboard.js is adding a canvas renderer — an SVG chart library admitting SVG has a ceiling.

chartingcanvas-renderingtree-shakingpre-release-trainrendering-parity
Current state
The library is mid-flight on a 4.0.0 pre-release train, and the defining addition is a canvas rendering mode alongside the existing SVG output. The same first candidate made grid, regions and category modules tree-shakable, added file extensions to type declarations, and exported shape option types from the main entry. Everything published since has been canvas follow-up: background image positioning, rendering and touch-interaction parity, candlestick labels aligned to wick endpoints.
Where it's heading
Two constraints are being addressed at once. Canvas is the answer to dataset sizes where per-point DOM nodes stop being viable, and the fact that three consecutive candidates are spent on parity fixes shows how much behaviour an SVG-native library has to re-implement to make the alternative renderer feel identical. Tree-shakable modules attack the other constraint — bundle weight — which matters to exactly the same teams choosing a chart library on performance grounds.
Prediction
Expect further candidates before 4.0.0 stable, still weighted toward canvas parity in interaction and label placement, since that is where every candidate so far has landed.

Recent moves

  1. 1mo ago

    Candlestick label alignment and table-view number formatting

    Candlestick labels aligned with wick endpoints in canvas mode, plus a numberFormat option for the table-view plugin. More canvas parity work, which is what every candidate after the renderer landed has consisted of.

    View source ↗
  2. 1mo ago

    Canvas background position and touch-interaction parity fixes

    Background image positioning corrected in canvas and rendering aligned with touch interaction behaviour. The parity tax of running a second renderer, paid one candidate at a time.

    View source ↗
  3. 1mo ago

    Canvas render review fixes

    A single fix addressing issues raised in canvas render review, published hours after the renderer itself. Immediate cleanup rather than new capability.

    View source ↗
  4. 1mo ago

    Canvas rendering mode and tree-shakable ESM modules

    ⚡ SPARK

    The candidate that sets the 4.0.0 agenda: a canvas rendering mode beside SVG, and grid, regions and category modules made tree-shakable. The three candidates that follow are entirely consequences of this one.

    View source ↗
  5. 6mo ago

    Sanitization function update on the 3.18 line

    A lone pre-release on the previous line whose only change updates the sanitization utility. The five-month gap before the 4.0.0 train suggests development had already shifted to the major.

    View source ↗