Ok, if the AfterCollision event is not recommended and will probably disappear, then the problem still remains.
I agree with Hanno that it is indispensable to have access to the new points over time. If the contacts are now cached between frames, is it possible to have access to this cache?
In other words, if the Fixtures now store a list of their contacts, is it possible to request this list?
The problem with running the logic as long as the OnSeparation has not been called is that it creates a situation where the structure of the physics engine is placing dependencies on the logic of the world entities which may quickly make the logic unwieldy
in terms of code organisation and maintenance.
Again, consider changes in the agent's state which are not governed by physical parameters, such as decision-making, timer-based, or other internal (or even external) parameters. The agent then enters a new state which is completely independent from the
old but on which it now needs access to the collision information.
It is of course possible to maintain my own cache of collisions at the agent level, inserting contacts when OnCollision fires and removing them when OnSeparation fires, but if Farseer is already doing this anyway, why duplicate the code (and memory)?
Thanks for the fast answer :-)