Skip to main content

Module gorna

Module gorna 

Source
Expand description

Types and traits for the Goal-Oriented Resource Negotiation & Allocation (GORNA) protocol.

Structs§

AgentFrameStatus
Per-frame execution metrics for one agent, measured and written by the scheduler — agents hold no per-frame counters of their own. An agent reads its own slot in report_status to derive health_score from the GORNA time budget it retains.
AgentHints
The accumulated hint state for one agent, folded from the EngineHints the DCC has received. A None field means “no developer hint — use the engine default”. Persists across ticks until overwritten by a newer hint.
AgentStatus
A snapshot of an Agent’s current health and performance.
DecisionTrace
An ordered, replayable recording of GORNA’s per-tick decisions.
NegotiationRequest
A request sent by the DCC to an Agent to negotiate resources.
NegotiationResponse
A response from an Agent offering various execution strategies.
ResourceBudget
An allocated resource budget issued by the DCC to an Agent.
ResourceConstraints
Hard resource constraints the DCC imposes on an Agent during negotiation.
StrategyOption
A specific execution strategy offered by an Agent.
TimingAdjustment
Suggested timing adjustment from GORNA to an agent. GORNA can NEVER force a phase — only suggest importance changes.

Enums§

AdaptationMode
How much latitude GORNA has to change an agent’s strategy — the developer-control surface over the adaptive core.
AgentId
Unique identifier for engine agents with implicit priority ordering.
EngineHint
A developer/editor hint that biases GORNA arbitration without changing game semantics — the “adapt the HOW, not the WHAT” control surface, on the same axis as AdaptationMode. Hints are advisory: a death-spiral safety stop and a Manual pin both still win over them. Sent to the DCC over the hint channel; the DCC folds them per agent (see AgentHints) and feeds the accumulated state into each arbitration round.
StrategyId
Generic strategy identifier for budget allocation.

Functions§

measured_frame_time_ms
Reads the scheduler-measured execute time (ms) for id out of a shared AgentFrameStatusMap, yielding 0.0 when the map is absent or has no entry yet. Agents call this from report_status so they never cache per-frame timing themselves.

Type Aliases§

AgentFrameStatusMap
Shared, scheduler-owned map of the latest AgentFrameStatus per agent.
TickDecisions
One arbitration tick’s outcome: the strategy issued to each agent, in issuance order.