Merge pull request #4567 from RosettaCommons/interactive/educational-mode
[Foldit] Educational Mode
Release notes:
- Added a new Educational mode
- Added a couple of short questions on your first login to better personalize your Foldit experience
- Added a "Reset Roles" button in the Advanced Options to re-select your Foldit personalization options
- Tab to view additional segment information can now be used in tutorials
- Improved the UI of tutorial tips
- Added a camera rock mode and camera spin mode, which can be toggled with Shift+Home and Alt+Home by default.
- Added an option to delete all tutorial save data, intended for classroom and kiosk use
- Simplified some minor UI elements in tutorials
- Added clearer instructions to the Rama map
- Improved tutorial tip logic
- Revised help panel text
- Revised text in Close the Gap
- Fixed a bug where the next playable level wasn't glimmering
- Fixed a bug making tutorial tips confusing
- Fixed a bug causing some button texts to be misaligned
Merge pull request #5531 from RosettaCommons/interactive/solberg/fix_crash_on_delete_residues
[foldit] fix crash on load certain alphafold poses, dont update blueprint panel when not selected
Merge pull request #5517 from RosettaCommons/interactive/solberg/alpha_fold_panel
[foldit] disable load button for pending solutions in alphafolddialog
Merge pull request #5485 from RosettaCommons/roccomoretti/interactive_fix_disulfide_bug
[Foldit] Fix bug with use_disulfide_tool in puzzle setup.
Recent changes introduced a bug with puzzle_setups which contain an explicit '0' with use_disulfide_tool. This should fix it.
Merge pull request #5494 from RosettaCommons/interactive/solberg/undo_graph_clear_crash_fix
[foldit] add check for no last value to temporary frame deletion
Merge pull request #5473 from RosettaCommons/roccomoretti/interactive_fix_rdkit_rotamers
[Foldit] Fix ThreadedRDKitRotamerLibrarySpecification
The merge with master resulted in a crash with ligand design puzzles, due to the need of using the clone() method (which was unimplemented before, due to uncopyable mutex. By moving the thread-related code to a dedicated helper class, we can make the ThreadedRDKitRotamerLibrarySpecification::clone() method functional. (Clones share the thread-using class.)