A lot of fun! Nice progression of difficulty through the levels, with a good range of enemies.
In general I found that it controlled really well - movement was fast enough that running laps around enemies was possible so long as I planned ahead, but having to slow down to charge the laser added an additional layer of challenge that tied in really well.
With regards to the yield errors JamzDEV mentions below: Godot will attempt to resume a yield function even when the related object has been deleted, which would cause the game to hang when run outside of debug mode. If it's possible to use a timer node with signals instead of yield this may be preferable as these will behave as expected when a node has been deleted.