Replace functionally opaque Viscous Pause with functionally transparent "Viscous posing mode" toggle.

PiperOrigin-RevId: 946286636
Change-Id: I3e542b12bb57c67f3f194d7bcfdffe39de4f2b94
This commit is contained in:
Yuval Tassa
2026-07-11 13:00:13 -07:00
committed by Copybara-Service
parent 892d889793
commit 724a6c6623
6 changed files with 33 additions and 63 deletions
+1 -3
View File
@@ -32,14 +32,12 @@ PYBIND11_MODULE(sim, m, pybind11::mod_gil_not_used()) {
py::enum_<StepControl::Status>(m, "StepStatus")
.value("OK", StepControl::Status::kOk)
.value("PAUSED", StepControl::Status::kPaused)
.value("VISCOUS_PAUSED", StepControl::Status::kViscousPaused)
.value("AUTO_RESET", StepControl::Status::kAutoReset)
.value("DIVERGED", StepControl::Status::kDiverged);
py::enum_<StepControl::PauseState>(m, "PauseState")
.value("UNPAUSED", StepControl::PauseState::kUnpaused)
.value("NORMAL_PAUSED", StepControl::PauseState::kNormalPaused)
.value("VISCOUS_PAUSED", StepControl::PauseState::kViscousPaused);
.value("NORMAL_PAUSED", StepControl::PauseState::kNormalPaused);
py::class_<StepControl>(m, "StepControl")
.def(py::init<>())
@@ -157,15 +157,8 @@ def handle_step_control_keyboard_events(
pressed = imgui.IsKeyChordPressed
if pressed(int(imgui.Key.Ctrl) | int(imgui.Key.Space)):
if step_control.get_pause_state() == sim.PauseState.VISCOUS_PAUSED:
step_control.set_pause_state(sim.PauseState.UNPAUSED)
else:
step_control.set_pause_state(sim.PauseState.VISCOUS_PAUSED)
return True
elif pressed(imgui.Key.Space):
pause = step_control.get_pause_state()
if pause in (sim.PauseState.VISCOUS_PAUSED, sim.PauseState.UNPAUSED):
if pressed(imgui.Key.Space):
if step_control.get_pause_state() == sim.PauseState.UNPAUSED:
step_control.set_pause_state(sim.PauseState.NORMAL_PAUSED)
else:
step_control.set_pause_state(sim.PauseState.UNPAUSED)