Part of UrStack, my open-source organization for TypeScript libraries. Siblings: UrColor, UrVis, UrDock.
UrCharts renders charts on the GPU. Marks (lines, areas, splines, bars, candles, OHLC) go through WebGL2 via luma.gl. Text that has to stay crisp and selectable, meaning axes, labels, legends and tooltips, renders as SVG and HTML on top.
The core is a minimal kernel and everything else is a plugin. Chart types, scales and interactions all attach through the same extension surface, so a build only carries what it uses.
Charting libraries tend to fall apart at exactly the point financial workloads begin: tens of thousands of candles, updating live. DOM-based renderers stall, and the canvas-based ones that survive usually hard-code their chart types.
UrCharts pairs GPU rendering with D3's mathematics. Scales, ticks and formatting are solved problems worth reusing, so the part left open is the chart vocabulary itself.
d3-scale, d3-array, d3-time, d3-format) for scales,
ticks and formatting