public interface IAgentGovernorDecides which agents may think this tick.
Remarks
Behaviour-tree steps are cheap and utility scoring is bounded, but neither is free, and a thousand agents doing both every frame is a frame nobody gets back. The governor is the one place that decides who is worth it, and it sits above all three planners because doc 37 § D2 made the agent one shape.
⚠ Plan must be a pure function of its arguments. An amortised scheduler is time-dependent by construction, which is a real hole in determinism — so the hole is bounded by making the schedule reproducible: given the same tick and the same population, every machine picks the same agents. Not arrival order, not a queue, not a priority sort on a float. docs/plan/37 § D18 states this rather than leaving it to be discovered as a desync six months in, and AgentGovernorTests asserts it.
Methods (1)
AgentSchedule Plan(long tick, int population)Works out this tick's window.
Used by (6)
- AiSchedulingTestsVixen.Ai.Tests
- AiSystemVixen.Ai
- AiSystemTestsVixen.Ai.Tests
- RoundRobinGovernorVixen.Ai
- SeamTestsVixen.Ai.Nodes.Tests
- UnboundedGovernorVixen.Ai