I did it ! Removed commits disappear nicely, after moving. That was logical...
Refactored min and max calculation. I was using 0 as a min value, and it was working until I decided to show only a selection of commits. The min value is actually the minimum computed position of the commits. Now zooming is working. I still have to hide the brush after zoom.