Thanks! That’s so nice of you to share!!

napari should, but the API might not be so pleasant (in which case we can try and improve it) and performance will not be as great as the constant vertices changing values (which we could look into too). Surface takes a data 3-tuple as follows

```
data : 3-tuple of array
The first element of the tuple is an (N, D) array of vertices of
mesh triangles. The second is an (M, 3) array of int of indices
of the mesh triangles. The third element is the (K0, ..., KL, N)
array of values used to color vertices where the additional L
dimensions are used to color the same mesh with different values.
```

so it sounds like you have a list of meshes `[vertices]`

, `[faces]`

, and then constant values (I assume that means you always have the same number of N vertices of each time point), then you’ll want to append append the time index to each vertex array as a new dimension and then concatenate them, concatenate all the faces, and repeat all the values. It is similar to the discussion here about constant surface changing values, but swapped Slider widget to control surface values.

The performance might not be so great though because every time you move the slider we now have redraw the whole surface instead of just change colormap values, but we can try looking into that too.

If you have some example data you want to try get working, or want to describe exactly what form you have your data in (list of numpy array of what shapes/ sizes etc) then I can help you more to get this working, but I’m confident that we can get a minimal example working with the performance caveat I noted above.