Updates to VTK serialization

I have been working on updating the VTK pane’s render window serialization routine to allow for partial data updates. This work is still a WIP, but the idea is to traverse VTK’s scene graph to construct a JSON description of the render window while minimizing the redundant serialization of datasets. On the vtk-js side, a synchronizable render window receives the input data and only updates components that have changed. The ultimate goal is to improve the latency between the VTK pipeline in python and the vtk-js render window in javascript, allowing for more interesting interactions between the two.

@xavArtley has done some awesome work with Panel’s VTK pane, and one of my goals is to integrate these changes (once finished) into the work he has done. Another of my goals is to allow for the communication of a vtkNodeSelection object from vtk-js back to VTK, facilitating the use of some tools we have developed around VTK’s selection mechanism. To this end, I would love to be looped in on the upcoming updates to bokeh and panel and the improvements to python-javascript communication they will bring.

I figured now would be a good time to start a dialog about how to proceed with these plans!