JJJ,
This:
"3) right-click those bars and select regenerate for the track I want to change which changes ONLY THE SELECTED BARS ON THE SELECTED TRACK"

Having hard time imagining this. I get how you would select a "bar(s)" but how would you select a specific track to regenerate? I assume you click the actual single track tab after you make your bar selection?

I guess, your request by default assumes all tracks will remain the same (Frozen!) after first generation, only allowing for selective regeneration.

Another thought why "partial bar freeze" might work better. Imagine a song with 3 choruses / 3 verses. If you want to regenerate all 3 choruses at once, you simply would select stuff you want to change,freezing the rest. A bar selection in MULTIPLE places would be needed. A tool that was available in many graphics programs for many years "Inverse Selection" also might be a very useful.

*And with partial freeze, you can have the option to "unfreeze" all to have the effect of randomness for the whole track, as we have now.

*There also should be an option to regenerate all tracks within selected bars.

To me and I am sure to many average users, just logic is not enough. It has to be done nicely, with design in mind, not just a function.
Ease of use! The "feature" that was currently implemented, "multiriffs for BIAB"., Idea is good, implementation, well...to put it gently, desires maturity. What I am trying to say, just to "have the feature" is not enough, it has to be thought out well. To me, this (bar by bar or partial freeze) is a HUGE feature, and if it ever gets implemented, I want it implemented the right way.