IRL2 / nanover-server-py

https://irl2.github.io/nanover-docs/#
Other
0 stars 1 forks source link

Added a Python GUI #267

Open Mohamed-Dhouioui opened 1 month ago

Mohamed-Dhouioui commented 1 month ago

This pull request introduces a python GUI replication the Rust one to the nanover-protocol repository:

Changes

Add a New Python GUI:

Features implemented:

Features missing:

Ragzouken commented 1 month ago

Perhaps the notebook ought to be renamed to "server ui" or "runner ui" or something more descriptive?

Ragzouken commented 1 month ago

As discussed offline, we can drop these options + ui elements:

We don't see a usecase for force interval independent of frame interval, and it complicates the implementation for work done etc. We don't use the statistics from rust, but can reintroduce whatever we may need later when debugging etc.

Ragzouken commented 1 month ago

I've hooked up the simulation fps option

hjstroud commented 2 weeks ago

FYI, the .traj and .state files I used that didn't work were ones generated via the gui for a previous simulation that I recorded: maybe it could be a problem with the way the GUI writes the files?

Mohamed-Dhouioui commented 1 week ago

These are the most recent edits in this commit ddf1661:

I couldn't find a solution that would fit the UI on the entire notebook output cell without a major change in the code. So, I am keeping it this way since it can also be opened as a standalone web app. To answer your question about uploading multiple simulation/recording file, this UI is capable of that as far as I have tried but you are welcome to test it.

hjstroud commented 1 week ago

Have just tested this, and I could load multiple recordings at once (trajectories and states) as well as a simulation xml, but I noticed some weird behaviour when I did this:

We've talked about these in person. If this can be fixed (and tested to make sure it works!) then I think I'm happy with how the GUI is.

Ragzouken commented 6 days ago

This issue may be relevant too: https://github.com/IRL2/nanover-protocol/issues/303

Mohamed-Dhouioui commented 6 days ago

With this commit 378c6b8 I have fixed the output message and replaced the printing of simulation type with a list of currently loaded files. However, for the interaction forces that are not cleaned when changing between a recording playback and a simulation, I've tested this outside the GUI with the OmniRunner.wit_basic_server() module and it showed the same behavior. So, I believe this is a bug with OmniRunner not the GUI. I have created an issue for #302 and detailed the steps to recreate it.

Ragzouken commented 15 hours ago

Issue with the interactions/avatar etc persisting should be fixed on main. Try merging main in and testing that everything is fine now.