labels update with constrained positions