IRL2 / nanover-rs

Other
0 stars 1 forks source link

Load multiple simulations #145

Closed jbarnoud closed 1 year ago

jbarnoud commented 1 year ago

The server can be created with multiple simulations. Commands allow clients to switch from one simulation to another.

The frame resetting needs to be recorded when we record the frames. Therefore, we now save the GetFrameResponse rather than the FrameData. This breaks compatibility with nanover-viewer and nanover-recorder.

The playback/list command can leak the organisation of the file system, which can be a security issue. To mitigate that issue, the paths returned by the command are truncated on the left to remove the common part. If all the XML files are in the same directory, it means that only the file names are returned, but the leak can still happen if the files are scattered in the file system. It also means the names returned by the command may not be stable between runs: adding or removing a path can change how all the others are represented.

The GUI does not allow to use multiple simulations, yet.