Visualization tab — renders the live robot in 3D via ExRatatui.Widgets.Viewport3D.
The scene is rebuilt from the current joint positions each render, so the robot
animates as sensor data arrives. Pure function: state + main Rect ->
[{widget, rect}].
Summary
Functions
@spec render_panes( BB.TUI.State.t(), struct() ) :: [{struct(), struct()}]