setupProject() is the high-level entry point that calls each of the
inner setup* helpers in order. The helpers are normally invoked
indirectly via setupProject(), but each is exported so users can call
it on its own (for diagnosis, partial setup, or post-hoc tweaks).
Order in which setupProject() calls the helpers:
setupOptions() (first pass – before paths)
setupRestart (internal)
setupOptions() (second pass – after packages)
Other companions used directly by user code or by setupProject():
setupStudyArea() (resolves a study-area polygon via geodata::gadm())
and setupFiles() (parses local / remote files into named lists).