vtkAxesActor Fails to Render at Some Angles

I too have been running into something similar to this, and after exhaustively attempting every workaround I can find on the internet, I am here to report that I either am missing something huge or there continues to be a bug in vtk version 9.5.1 (and 9.5.0). I’ve got a scene with a cube orbiting earth and I have optional vtkAxesActors drawn at the origin of each actor in the scene when toggled on with the ‘a’ key. In general this feature works well except when the scene first starts up before any object or camera has moved. Upon moving the camera “enough” the axes will pop into view. I’ve captured this behavior in a video of my vtk scene: https://youtu.be/IPjFpeaQ4O4

I believe I’ve narrowed this down to an issue with the bounding box of the vtkAxesActor itself, as when the axes are not visible I see their bounding box located too far away to be rendered. From my notes:


When the scene comes up and we can't see the axes, we see this
    DEBUG: self._axes.GetVisibility is 1 with axes_pos [6867500.0, 0.0, 0.0]
    Axes bounds: (-50.00000000000002, 50.00000000000002, -50.000000000000014, 50.000000000000014, -50.00000000000002, 50.00000000000002)
After wiggling the camera, and seeing them, we see this:
    DEBUG: self._axes.GetVisibility is 1 with axes_pos [6867499.95774354, 761.8349401624926, 0.0]
    Axes bounds: (-6867550.0, 6867550.0, -50.00000000000002, 50.00000000000002, -50.00000000000002, 50.00000000000002)

Failure looks like -50.00000000000002, 50.00000000000002, success looks like -6867550.0, 6867550.0, in the Axes bounds. I have tried self._axes.Modified() after changing their state in any way, and I know a Render() has occurred, and I’ve tried several other things recommended by AI (some of which weren’t even valid code!) but none of my attempts have yielded a different result. Interestingly this behavior only happens for this small cube actor and not for the larger earth actor. I can’t figure out why the bounding box refuses to update until the object/camera movement satisfies some unknown condition, if anyone has any ideas on how to debug this please let me know!