That is, not just moving from spot to adjacent spot (leaving us to guess which type of movement it is), but collecting items, performing actions, and also permitting condensed movement. This would require parsing the route specification in Python to be compiled into the Rust code, as the alternative is to compile the route specification to be a string inside the unittest that is then parsed by the existing Rust route parser. On one hand, it means duplicate parsing logic, but on the other hand, it allows for errors to be reported during the Python run rather than after Rust compilation.
We might then rename the path unittest to "route", but that's minor.
That is, not just moving from spot to adjacent spot (leaving us to guess which type of movement it is), but collecting items, performing actions, and also permitting condensed movement. This would require parsing the route specification in Python to be compiled into the Rust code, as the alternative is to compile the route specification to be a string inside the unittest that is then parsed by the existing Rust route parser. On one hand, it means duplicate parsing logic, but on the other hand, it allows for errors to be reported during the Python run rather than after Rust compilation.
We might then rename the path unittest to "route", but that's minor.