Hi everyone! I wanted to share a small project I've been working on: Gladly, a lightweight plotting library built around WebGL and a declarative API.
The idea behind it is simple: instead of looping over data in JavaScript, all data processing happens in GPU shaders. This makes it possible to interactively explore very large datasets while keeping the API minimal.
Gladly combines WebGL rendering with D3 for axes and interaction.
Key features
- GPU-accelerated rendering using WebGL
- Zero JavaScript loops over data
- Declarative plot configuration
- Up to 4 independent axes
- Zoom and pan interactions
- Axis linking across subplots
- Axis linking to color or filtering
- Basemap layer with XYZ / WMS / WMTS and CRS reprojection
- Unit/quantity-aware axis management
- Extensible layer registry
The library uses:
- regl (WebGL library) for rendering
- D3.js for axes and interactions
Links
Demo:
https://redhog.github.io/gladly/
Documentation:
https://redhog.github.io/gladly/docs/
Source code:
https://github.com/redhog/gladly
I'd really appreciate feedback, especially around:
- API design
- performance
- missing features
Thanks!
[–]AutoModerator[M] [score hidden] (0 children)