Serves a design-time flow's structure out of AIEngine's preloaded caches.
Synchronous, which is not a simplification — AIEngine.GetAgentSteps / GetPathsFromStep are
array filters over already-loaded arrays, so the awaits that surrounded every traversal decision
in the original code were ceremony around an in-memory read.
GetIncomingEdges has no AIEngine counterpart because single-program-counter traversal never
needed to look backwards; joins do, so it is derived by filtering the agent's paths. The agent's
path set is small (tens of edges), and this runs once per completed node, so the linear scan is
not worth an index.
Serves a design-time flow's structure out of
AIEngine's preloaded caches.Synchronous, which is not a simplification —
AIEngine.GetAgentSteps/GetPathsFromStepare array filters over already-loaded arrays, so theawaits that surrounded every traversal decision in the original code were ceremony around an in-memory read.GetIncomingEdgeshas noAIEnginecounterpart because single-program-counter traversal never needed to look backwards; joins do, so it is derived by filtering the agent's paths. The agent's path set is small (tens of edges), and this runs once per completed node, so the linear scan is not worth an index.