Stdr and RViz
My understanding: STDR provides a simulator of a 2d Robot and it's environment (map). Which means that it listens for variations of cmd_vel and moves an imaginary robot on a simulated field. The field can have obstacles, and this imaginary robot will not be able to power through the walls. Presumably you can cmd_vel all you like and your odom will tell you that you've not moved.
Separate but connected, STDR also lets me visualize the map and the robot to allow me to see what's going on. And I can create more robots and give them different sensors all that will publish on the expected Topics.
Did I get that right?
So my question is then: Why does Stdr have a GUI and still sometimes we use it with RViz? In other words, why would you need RViz when using Stdr? I am sure this question comes from my not quite understanding what RViz does and it's relationship with other packages.
Followup based on response below:
"It's just that it's a nice tool to render the dataflows running through your application in context (ie: their spatial and temporal relationships) in a 3D world." -- I thought RViz just did 2d?
In general I am not exactly clear yet what RViz displays that STDR gui does not. The map is from the same /map service and the robots position, orientation, and sensor displays are the same aren't they? Thanks!