Netzwulf shared some of his work under those links on this subject
There is an interactive demo page (Ctrl-Click sets start, click sets goal):
once upon a time, there was a discussion in the forum about area-routing:
Flächenrouting: Wirkungen sind schlimmer als gedacht
which resulted in @maxbe doing a thorough analysis (including areas containing holes or obstacles) and finally creating an area aware routing:
User:Maxbe/Routen über Flächen - OpenStreetMap Wiki