Supporting all of Matplotlib will never happen, it is too large.
But it would be good to find a way where we could support a lot of it without duplicating everything.
It would also be good if it could be done in a way (either patch mpl functions or use mpl under-the-hood) that would mean updates to the mpl API would automatically propagate here.
The way https://github.com/scipp/mplcanvas did this was by calling all methods on underlying mpl axes, and rendering with draw calls to a canvas.
In Matplotgl, we decided to clone the artists into their own implementation, because it meant that updating one line does not require re-drawing all the other lines on the plot, leading to significant performance gains.
Supporting all of Matplotlib will never happen, it is too large.
But it would be good to find a way where we could support a lot of it without duplicating everything.
It would also be good if it could be done in a way (either patch mpl functions or use mpl under-the-hood) that would mean updates to the mpl API would automatically propagate here.
The way https://github.com/scipp/mplcanvas did this was by calling all methods on underlying mpl axes, and rendering with draw calls to a canvas.
In Matplotgl, we decided to clone the artists into their own implementation, because it meant that updating one line does not require re-drawing all the other lines on the plot, leading to significant performance gains.