Skip to main content

Module rotation

Module rotation 

Source
Expand description

Validated rotations compiled to portable bytecode or an explicitly selected native JIT.

ModulesΒ§

ast πŸ”’
Rotation parsing and structural validation.
backend πŸ”’
Backend traits for rotation evaluation.
buffer πŸ”’
bytecode πŸ”’
Portable rotation bytecode compilation and execution.
check πŸ”’
Extracts referenced spell/aura/talent names and checks them against a spec resolver.
compiler πŸ”’
LLVM JIT shell: builds the function prototype and drives the generic lowerer.
condition πŸ”’
Resolution of authored condition fields against a runtime descriptor schema.
context πŸ”’
Runtime context schema for descriptor-based rotations.
decision_trace πŸ”’
engine πŸ”’
Production rotation facade with portable bytecode and explicitly selected native JIT.
error πŸ”’
expr πŸ”’
Expression field types and context population.
jit_backend πŸ”’
JIT side of the RotationBackend lowering trait.
jit_common πŸ”’
Shared types for the LLVM JIT.
lower πŸ”’
Generic rotation lowerer β€” every operation written exactly once.
prepared πŸ”’
Validated rotation source, prepared schema, and complete resolved references.
reference πŸ”’
Structural evaluation retained exclusively for explicit decision tracing and test parity.
reference_backend πŸ”’
Structural reference side of the RotationBackend lowering trait.
resolver πŸ”’
Maps spell/aura names to game IDs for rotation parsing.
result πŸ”’
Rotation evaluation result type shared by portable bytecode and native JIT backends.
spec_catalog πŸ”’
Maps spell/aura/talent display names to their IDs.
trace
Human-readable labels for rotation condition trees (debug tracing).
validate πŸ”’
Pre-compilation validation for rotation definitions.

StructsΒ§

ActionEvaluation
Per-action evaluation outcome.
ActionRecord
One action’s outcome, threaded into the backend’s record_action hook.
AuraKey
Collision-free identity for one aura instance.
AuraProjectionKey
Dense-buffer identity for an APL aura category projection.
AuraProjectionSlotHandle
AuraSlot
AuraSlotHandle
AuraTransferState
Opaque occupied-aura state used only for an exact aura transfer.
BoundDenseBuffer
A dense buffer bound to the schema that allocated it.
BufferRequirements
Additional runtime identities that must exist independently of rotation reads.
CatalogHints
Hints about spell/aura properties that can’t be inferred from name+ID alone.
CheckResult
Outcome of checking referenced names against a spec resolver.
CombatSlot
CompiledRotation
ContextSchema
Fully resolved runtime context layout.
CooldownSlot
CooldownSlotHandle
Decision
One decision recorded for a single evaluate() call.
DecisionTrace
Full set of decisions captured during a single evaluate() call.
DecisionTraceTarget
Cloneable trace destination with shared ownership hidden at the port boundary.
DenseBuffer
Flat byte buffer holding all runtime rotation state for zero-allocation evaluation.
DescriptorId
Stable identifier for a super::FieldDescriptor in the super::DescriptorTable: its index.
DescriptorIter
Iterator over descriptor identifiers and definitions.
DescriptorTable
Indexed collection of all FieldDescriptors registered via inventory.
EquipmentSlot
EquipmentSlotHandle
Error
Errors produced while parsing, validating, or compiling a rotation definition.
EvalResult
Decoded form of the JIT’s packed-u64 return value.
FieldDescriptor
Inventory entry describing one expression-readable buffer field.
HeroTreeSlot
HeroTreeSlotHandle
HistorySlot
HistorySlotHandle
ItemSlot
ItemSlotHandle
LayoutFingerprint
Deterministic identity of one complete frozen buffer layout.
NameExtractionError
Failure to extract referenced names from a rotation JSON document.
PetSlot
PlayerSlot
PortableRotation
Portable bytecode rotation and its reusable register runtime.
PreparedActionDependencyPlan
Dependency plan for one reachable terminal cast action.
PreparedRotation
Canonical lowering input shared by portable bytecode, JIT, and explicit trace evaluation.
PreparedRotationChange
One directional mutation that can enable a prepared cast action.
ReferencedNames
All spell, aura, and talent names referenced by a parsed rotation.
ResolvedFieldRead
A [FieldRead] with its descriptor looked up and its key resolved to a typed ID.
ResolvedSpellReference
One resolved spell identity and all of its authored uses.
ResourceSlot
ResourceSlotHandle
RotationPreparation
Layout-free validated rotation preparation that cannot be emitted.
SetBonusSlot
SetBonusSlotHandle
SlotDescriptor
Inventory entry describing one dense-buffer slot domain.
SpecCatalog
Display names are converted to snake_case keys for rotation compilation.
SpecResolver
Maps rotation-JSON string names (spells, auras, talents, resources) to their resolved numeric IDs for a single spec.
SpellAuraPolicy
Aura-scoped policy coordinate used while evaluating spell.is_usable.
SpellProjectionUsage
Target-dependent spell-slot fields observed by one resolved spell reference.
SpellReferenceUsage
How one resolved spell identity is consumed by the authored rotation.
SpellSlot
SpellSlotHandle
StandaloneDefault
Inventory-collected standalone default for a descriptor-based field.
SwingSlot
SwingSlotHandle
TalentInfo
Resolved talent state for rotation compilation.
TalentSlot
TalentSlotHandle
UnitSlot
UnitSlotHandle
ValidationResult
Aggregated outcome of rotation validation.
VarPathCategory
A grouping of variable paths within one descriptor domain.
VarPathInfo
Metadata about a single variable path.
VecSink
In-memory sink used by tests and the WASM bridge.
WeaponImbueSlot
WeaponImbueSlotHandle

EnumsΒ§

ActionOutcome
Categorical outcome attached to one action by ActionRecord::outcome.
BufferAuraOn
DefaultValue
Typed value for a standalone buffer default.
EvalKind
Operation used to interpret a field from the dense rotation buffer.
EvaluationStatus
Why an action did or did not fire.
FieldType
Primitive value representation stored in a buffer field.
PreparedRotationChangeDirection
Mutation direction that can make a prepared cast action selectable.
PreparedRotationChangeKey
Runtime field whose mutation can make a prepared cast action selectable.
ResolvedKey
Typed slot key for a resolved field read.
ResourceType
RotationEngine
Production rotation executable with structural evaluation limited to attached decision traces.
SlotKind
Whether a slot is a singleton or keyed by spell/aura/resource.
SpellAuraPolicyKind
Behavior activated by an aura for one spell.
ValidationError
Hard validation error.
ValidationWarning
Non-fatal warning.

TraitsΒ§

DecisionTraceSink
Recipient of Decisions emitted by explicit structural trace evaluation.

FunctionsΒ§

build_spec_resolver
Builds a name-resolving SpecResolver from a spec’s introspection snapshot and talent names.
check
Partitions each referenced name into supported/missing against resolver.
extract_names
Parses json as a [Rotation] and collects every referenced name.
extract_names_from_rotation
Walks a parsed [Rotation] and collects every referenced name.
get_var_path_schema
Variable path schema generated from the descriptor table.
parse_and_validate
Parse a JSON string into a [Rotation] and validate it.
to_simc_key
Converts a display name to its normalized identifier token.
validate_rotation
Runs all structural checks on a parsed [Rotation].

Type AliasesΒ§

Result
Shorthand for std::result::Result parameterised with this module’s Error.