Namespace Serenity.Menu.Application.Navigation
Classes
MenuNavigationGraph
The immutable result of walking every view reachable from a root, as produced by WalkFrom(string, IMenuNavigationLookup). Nodes is the walk's own record, one entry per resolved view, root first, in breadth-first order; ReachableMenuIds and NonMenuViewIds are derived projections of it kept for callers that only ever needed the menu/non-menu split, not the full per-node detail.
MenuNavigationNode
One view MenuReachabilityWalker resolved during a walk: what it is (Kind) and every edge it declares outward, whatever kind of view it turned out to be. Replaces the walker's old three-bucket classification (menu / known non-menu / unresolved) with a single typed node so a caller can treat every view kind uniformly instead of special-casing each one.
MenuReachabilityWalker
Breadth-first walk of every view reachable from a root view id, following each menu's TRANSITION options and every other view kind's own declared edges (a cascade's, a leaderboard's or an achievements view's return target; a leaderboard's SHOW_VIEW button targets). Engine-agnostic: it reads only IMenuNavigationLookup and the plain IMenuSettingsDefinition/ UiOption values, so the same walk can back the Menu Manager's auto-load and run in a pure unit test.
Structs
NavigationEdge
One outbound edge a MenuNavigationNode declares: the id it points at, and why — a menu's TRANSITION option, a non-menu view's own return target, or a composite hosting a menu.
Interfaces
IMenuNavigationLookup
The engine-agnostic surface MenuReachabilityWalker needs to resolve a view id into whatever it actually is: a menu, a known non-menu view of some ViewKind (a composite, a cascade, a leaderboard, an achievements view, …), or nothing known at all. Kept separate from the concrete registries that hold menus and views so the walker can run in a pure unit test with a fake, and in the editor wizard against the project's real catalogs.
Enums
NavigationEdgeKind
What a NavigationEdge represents about the relationship between the node that declares it and the target it points at.