#### Functional ##### Run the program using `cargo run`. ###### Does it compile and run without any warnings? ##### Left click in the canvas to set one or more control points. ###### Does the program allow you to mark these control points? ###### Can You confirm that the program draws a small circle around the control points, in order to identify them? ##### Left click in the canvas to set one or more control points and press `Enter`. ###### Does the animation of the Chaikin's algorithm starts? ##### Left click in the canvas to set just one control point and press `Enter`. ###### Can you confirm that only the control point is shown and nothing changes? ##### Left click in the canvas to set just two control points and press `Enter`. ###### Can you confirm that only a straight line was drawn? ##### Left click in the canvas to set one or more control points and press `Enter`. ###### Does the animation complete 7 steps before starting again? ##### Left click in the canvas to set one or more control points and press `Enter` then press `Escape`. ###### Does the program exit without errors? ##### Press `Enter` without selecting any points. ###### Does the program returns an error? ##### Bonus ###### +Is it possible to clear the screen and add new control points without killing and relaunching the program? ###### +Is it possible to drag the control points in real time and get a new curve?