Your observations are spot on, and you might not believe this: not only was this the original plan, but some of these features were actually implemented in the game because I had considered them. Unfortunately, as I kept working, I realized I was running out of time, so I had to focus on the core elements just to be able to submit the game. As a result, these features didn't make it into the final version - despite the fact that many of the necessary functions were already written along the way.
Your additional points are also completely valid; that was my original vision. Sadly, I couldn't fully execute my initial plan due to time constraints, but what you described aligns closely with what I was aiming for. I was able to properly develop around the first two bosses, but after that, the others ended up using more generic behavior with some randomization. Originally, I planned to have 25 unique bosses, but in the end, I had to settle for 10—and honestly, I'm just happy I managed to get that many done.
As for the controls, there's an image with them available on the game's profile page, and they can also be accessed in-game by pressing F1.
Thank you so much for taking the time to test the game!
Wishing you all the best! :)