So over at @conjured_ink, we've been seeing some annoying compilation times issue on the webapp we're working on (Axum based), and we're looking at trying to split it into crates and see if that helps with the issue.
The problem is, we're not really sure how to split it: should it be by feature? By function? Should each view+model+controller combo have its own crate? Or should all views go in a single crate, then all models, then all controllers? Or maybe every one of those should get an individual crate to themselves (since we actually have TWO webapps and they're gonna reuse code from one another)?
Do y'all have experience doing this kind of split? Are there any examples or wisdom you can share?