OK, do the following as practice:
Given a vertex and using solely topo vertex conn arrays (with no sort) do an open/closed indices loop (naked/clothed vertex). Classic - type int - List intersections and a bool array to keep track the visited indices.
After that modify the code: take into account something (a direction [kinda we do for drainage], a proximity to a curve, a cat and/or a dog). Then use the Method in a recursion and do your path(s). BEFORE adding things in the recursion mastermind a safe exit policy.
This type of logic is used for things like these (in this case drainage from rnd faces):
BTW: For some reason I can’t attach mp4 clips that could help you to cut the mustard (this is a new Forum issue). Obviously something changed (plus: you can’t see posts anymore with cookies off).
BTW: I hate meshes (most notably banana meshes).