I'll have to admit - I don't really grasp what this plugin is useful for. I can imagine why one would want to track the path the player (or some NPC?) took, but what I don't get is:
- Why would you want that path representation to be a homology? I understand representations that don't care if that the player went somewhere if they came back to a place they were before, and I understand representations that care about places the player has been even if they came back, but I can't imagine how it'd be useful to represent that the player has been somewhere and came back IFF they took a different route when coming back.
- Wouldn't most path representation care more about areas than about points? That is - want to represent that the player has been in room A, then in room B, then in room C, and not that the player has circled point B twice and then circled point A in the other direction.
Of course, maybe I'm just biased because I didn't like Algebraic Topology when I took that class so many years ago...
In a more practical note - is a String really the best way to represent the path? Wouldn't it make more sense to provide an iterator over the points, and use a custom struct that will also tell you the orientation the entity circled around each point?