Skip to content

Manual directional navigation edges are not preserved #22136

@alice-i-cecile

Description

@alice-i-cecile

Bevy version and features

0.18-dev, post #22124

Problem

#22124 FYI this PR means that the docs stating "respects manual edges (they always take precedence)" is stale and this block of code in the rebuilding graph logic

// Skip if manual edge already exists (check inline to avoid borrow issues)
if nav_map
.get_neighbors(origin.entity)
.and_then(|neighbors| neighbors.get(octant))
.is_some()
{
continue; // Respect manual override
}
is meaningless since the entire graph is cleared IIUC.

From Discord by ZymartuGames.

Proposed solution

We can probably mark manual edges and do a partial rebuild? Not sure yet.

We need to avoid regressing #21949 though, so a simple revert is sub-optimal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-UIGraphical user interfaces, styles, layouts, and widgetsC-BugAn unexpected or incorrect behaviorD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesS-Needs-DesignThis issue requires design work to think about how it would best be accomplished

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions