# Extending Simulators Add a new simulator by implementing `dovla_cil.simulators.base.SimulatorBackend`. Minimum requirements: 1. `serialize_state()` must return enough information for exact reset. 2. `reset_from_state(state)` must restore deterministic state for same-state interventions. 3. `get_observation()` must return JSON-serializable metadata or paths to external assets. 4. `step_action_chunk(action)` must execute a fixed action chunk and return reward, done, and info. Keep heavyweight dependencies optional. The package should import and run toy smoke tests even when ManiSkill3, Genesis, or cluster launchers are unavailable.