The easiest way to run application is:
cargo run -- --input <PATH_TO_JSON_FILE>
There are some commentaries regarding implementation details in the code.
I have used panic! macro to handle errors, but if there are better way to do this I'm able to rewrite these parts of code.
I have used Blender3D to visually test rectangles' intersections.