It's definitively undesirable inside Menu as we want to catch nav request failures reliably.
I think it may be considered as an option if we find this desirable i some circumstances. Right now ideally I'd remove it totally but with current scoring setup, without it we can't easily reach the Window Close button. (#787)
ImFormatString(buf,IM_ARRAYSIZE(buf),"db (%.0f,%.0f->%.5f) dc (%.0f,%.0f->%.5f) da (%.0f,%.0f->%.5f) quad %c",dbx,dby,dist_box,dcx,dcy,dist_center,dax,day,dist_axial,"WENS"[quadrant]);
ImFormatString(buf,IM_ARRAYSIZE(buf),"dbox (%.2f,%.2f->%.4f) dcen (%.2f,%.2f->%.4f) d (%.2f,%.2f->%.4f) nav %c, quad %c",dbx,dby,dist_box,dcx,dcy,dist_center,dax,day,dist_axial,"WENS"[g.NavMoveDir],"WENS"[quadrant]);
// Axial check: if 'curr' has no link at all in some direction and 'cand' lies roughly in that direction, add a tentative link. This will only be kept if no "real" matches
// are found, so it only augments the graph produced by the above method using extra links. (important, since it doesn't guarantee strong connectedness)
// This is just to avoid buttons having no links in a particular direction when there's a suitable neighbor. you get good graphs without this too.
if(g.NavMoveResultDistBox==FLT_MAX)
if(dist_axial<g.NavMoveResultDistAxial)// Check axial match
// 2017/09/29: FIXME: This now currently only enabled inside menubars, ideally we'd disable it everywhere. Menus in particular need to catch failure. For general navigation it feels awkward.
// Disabling it may however lead to disconnected graphs when nodes are very spaced out on different axis. Perhaps consider offering this as an option?
if(g.NavMoveResultDistBox==FLT_MAX&&dist_axial<g.NavMoveResultDistAxial)// Check axial match