track position as a coordinate, not pixel offset