Thanks for the reply.
However, just in case you haven't seen it, there's a comment on the blog post you linked to (fourth from the end) where someone questions whether the simplified version will guarantee correct results.
I hadn't actually thanks. I can't really understand what he's saying there though, seems to me the funnel does cut through portals. But it is reassuring (if a little annoying) to know that there may be flaws. The comment for others reading btw is:
So, I've been working on my own implementation of the funnel algorithm and I realized what sacrifice you're making with this (as you called it) "simple stupid funnel algorithm". The "sleeve" you've shown in the illustration is clearly taken from the Lee and Preparata paper. However, it works because the funnel's extents get contracted by each successive portal/edge. Your funnel doesn't cut through the center of portals. If it were to, you'd get an unhappy path. It is for these cases that the whole double-ended queue is used. Did you want to comment on that at all?
And apparently no one did want to comment at all.
If this is where the extra path vertex would be added, it makes sense it would be missed. So, that would appear to be a flaw either in the algorithm or in the implementation. (I imagine you've already tried stepping through in the debugger, but it seems the reason for the missing step could probably be determined that way.)
Certainly that would appear to be the reason, but like I say, what happens is as far as I can see, what is supposed to happen. The image I posted is a collection of screenshots from my actual implementation (implemented it step-wise for debugging in the end). So what you see is what you get.
I think what I will do in the end is just implement the original funnel (aka "string pulling" I think) algorithm - wouldn't mind if this produced suboptimal paths but illegal paths I can't be dealing with, still like to know what is going on here though. There seemed to be suggestion of using this version as a heuristic in the A* algorithm so maybe try that out so the work hasn't been a complete waste. If you have any good links for the non-simplified algorithm you could recommend, it'd be much appreciated.