Hi Zhangyuan
The answer to your question about correction(dt) can be quite complicated. You may find comment useful in another corresponding solver
double-projection. Where the updated $g$ is used to updated $\mathbf{u}^{n+1}$ at cell centered. Besides, face-centered $\mathbf{uf}$ computed from $\mathbf{u}^{n}$ is used to update $g$ itself.
As for total understanding of 'centered.h', you may need to at least go through strong related headfiles i.e. 'poisson.h', 'bcg.h' and 'viscosity.h' to understand which variables has been output or updated. Besides those three paper Lucas recommended, a deep understanding will be obtained by reading a series of work from Lawrence Berkeley National Laboratory e.g.
Almgren et.al. to figure out the approximate projection method and its form (incremental form, pressure form etc. and is related to your question about correction(dt)).
A little reminder, 'centered.h' applies approximate projection method but not exact projection method which indicates that divergence-free is not strictly followed by centered $\mathbf{u}$.
Regards,
Haochen