Bring Drag & Drop to Dash with Dashboard Engine. 💫 Learn how at our next webinar!

Perspective bug with Surface plot

I’m currently coding an app to visualize brain slices in 3D. To that end, I decided to use go.Surface with my images data for surfacecolor. That is, for each slice, I have:

surface = go.Surface(z=z, x=x, y=y, surfacecolor=my_data, cmin=0, cmax=255, colorscale=colorscale)

I use a personalized colorscale, with 0 being associated to fully transparent images (to hide the empty parts of the slices acquisitions):

colorscale=[[0.0, "rgba(165,0,38, 0.9)"],
        [0.1111111111111111, "rgba(215,48,39,1)"],
        [0.2222222222222222, "rgba(244,109,67,1)"],
        [0.3333333333333333, "rgba(253,174,97,1)"],
        [0.4444444444444444, "rgba(254,224,144,1)"],
        [0.5555555555555556, "rgba(224,243,248,1)"],
        [0.6666666666666666, "rgba(171,217,233,1)"],
        [0.7777777777777778, "rgba(116,173,209,1)"],
        [0.8888888888888888, "rgba(69,117,180,1)"],
        [1.0, "rgba(49,54,149,1)"]]

Problem is that the perspective I get in the end only works from one side:

Is this a known bug? Any trick to solve it?

Trying other solutions (e.g. using rgb + opacityscale instead of rgba) leads to the exact same issue. If there’s no way to solve the bug itself, is there a way to limit the camera moves so that the bug never appears to the user?