Something I've learned through my dependency auditing work: "linearly skimming or reading a whole codebase in alphabetical folder/file order" is vastly more effective for understanding a codebase's structure than it has any right to be
And you don't actually need to *understand* any of the code. Just skim it, glance at function names, things that visually stand out, the general shape of the code. You can skim it at scrolling speed and it'll work!