Add height-smoothing logic to Simulation.update()