We developed a propagation algorithm that enables accurate calculation of hydraulic fracture geometry, even in the presence of thin layers and with a relatively coarse crack mesh. Conventionally, hydraulic fracture simulators either add one element at a time (less accurate) or require constant remeshing (computationally expensive). Our new algorithm benefits from the simplicity of adding one element at a time, but does not compromise the accuracy. This is because the algorithm continuously tracks the position of the crack tip within each tip element. In addition, the continuous front tracking allows for the algorithm to account for varying rock properties within the element and to accurately simulate propagation across arbitrarily thin layers. The algorithm has been implemented in a commercial combined hydraulic fracturing and reservoir simulator. First, some mathematical foundations of the algorithm are outlined. Then, we perform basic validation simulations, showing that the algorithm can accurately solve standard benchmark solutions in the toughness and viscosity dominated regimes. Next, we simulate propagation of a single crack in a layered media with highly variable properties (e.g. stress or toughness) between layers. We perform sensitivity analysis to show that the algorithm retains accuracy, even if the mesh is coarsened considerably. The mesh coarsening leads to dramatically faster numerical simulations, relative to the corresponding fine mesh solutions. Finally, we apply the algorithm in a field-scale simulation of an actual pad-scale dataset. We show that the algorithm is capable of accurately reproducing the fracture geometry and, at the same time, retains practical computational times.