Or breadth-first versus depth-first.
But yeah, that’s kinda what I’m in the process of doing. I almost always start out with a messy prototype where I just kinda slap together all the moving parts I think I’ll need, and just plan for a complete re-factor after I get a feel for what’s a one-off and what’s a general use case.
Most of the stuff I’ve put up over the past couple months has been a refactor (or re-refactor) of code I’d originally hammered out for a “nothing but placeholder text” v0.0 version of a game I wrote like a year and a half ago.