Understanding HardRouteConstraint

Hello all

First of all, thank you for such an amazing library and the community.

I am trying to understand the route constraints. While I got the concept of HardActivityConstraint, I am unable to have clarity on HardRouteConstraint.

Can someone, preferably with a simple example explain to me how it works, what is its relevance with JobInsertionContext, how sending true/false impacts the routes? If you can also extend the example to include the state manager and its role conceptually, it will be highly appreciated.

TIA