I'd like to give jj another go but I found the "all files must be tracked/committed" approach to really break my workflow.
I have a lot of temporary uncommitted files, which are not ignored or excluded. Some may eventually be committed but most won't.
Being then forced to commit these (but only some due to file size) just gets in the way and impedes things like cross branch debugging
A checkout is a working space after all, why can't it be (temporarily) dirty whilst you work?
Been using/abusing wezterm for years, my scrollback is set to 1000000 and text selection has never been a problem... copy mode however does make it even easier