Technically, yes, the core navigation logic and APIs are all intentionally separate from Ballast, but this is not something that I plan on officially supporting. So you can use it without Ballast, but you’re on your own for figuring it out with your preferred state management solution, and I am not going to do any special work to ensure the navigation library works without Ballast. Ballast itself does not need to be used anywhere else in your application, you can treat the Ballast MVI core as a transitive dependency, and you do not need to use the same MVI model for anything else in order to work with Ballast Navigation. But it is there for you to extend the router with additional features if you’d like.
There’s a longer explanation for the reason why I chose to couple the Navigation library to the Ballast State Management library in the
FAQs