Success!
You can have a little preview there. Speed is being printed out, hopefully you can see it, if you can its pretty obvious that there are different max speeds for moving up down and horizontally. I didnt bother to decouple horizontal directions because for now the drone is symmetric horizontally (and maybe always).
The issue is you might be able to notice that while max speed has been decoupled, max accelleration has not, so only half way there maybe, but good to have actually solved something reasonably complex in C++. Definitely learned some things