Expand description
JSON rotation -> LLVM JIT -> native code (~1.5ns eval).
ModulesΒ§
- ast π
- Rotation parsing and structural validation.
- backend π
- Backend traits for rotation evaluation.
- buffer π
- 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 π
- Rotation engine enum that dispatches to JIT or interpreter backend.
- error π
- expr π
- Expression field types and context population.
- interp_
backend π - Interpreter side of the
RotationBackendlowering trait. - interpreter π
- Interpreter shell around the generic lowerer.
- jit_
backend π - JIT side of the
RotationBackendlowering trait. - jit_
common π - Shared types for the LLVM JIT.
- lower π
- Generic rotation lowerer β every operation written exactly once.
- resolver π
- Maps spell/aura names to game IDs for rotation parsing.
- result π
- Rotation evaluation result type shared by JIT and interpreter 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Β§
- Action
Evaluation - Per-action evaluation outcome.
- Action
Record - One actionβs outcome, threaded into the backendβs
record_actionhook. - AuraKey
- Collision-free identity for one aura instance.
- Aura
Projection Key - Dense-buffer identity for an APL aura category projection.
- Aura
Slot - Buffer
Offsets - Maps slot types and keys to their byte offsets within the dense buffer.
- Byte
Offset - A byte offset into the dense rotation buffer.
- Catalog
Hints - Hints about spell/aura properties that canβt be inferred from name+ID alone.
- Check
Result - Outcome of checking referenced names against a spec resolver.
- Combat
Slot - Compiled
Rotation - Context
Field - One resolved context field and its byte offset.
- Context
Schema - Fully resolved runtime context layout.
- Cooldown
Slot - Decision
- One decision recorded for a single
evaluate()call. - Decision
Trace - Full set of decisions captured during a single
evaluate()call. - Decision
Trace Target - Cloneable trace destination with shared ownership hidden at the port boundary.
- Dense
Buffer - Flat byte buffer holding all runtime rotation state for zero-allocation evaluation.
- Descriptor
Id - Stable identifier for a
super::FieldDescriptorin thesuper::DescriptorTable: its index. - Descriptor
Iter - Iterator over descriptor identifiers and definitions.
- Descriptor
Table - Indexed collection of all
FieldDescriptors registered viainventory. - Equipment
Slot - Error
- Errors produced while parsing, validating, or compiling a rotation definition.
- Eval
Result - Decoded form of the JITβs packed-
u64return value. - Field
Descriptor - Inventory entry describing one expression-readable buffer field.
- Hero
Tree Slot - History
Iter Mut - Iterator yielding mutable history slots without allocating a key list.
- History
Slot - Interpreted
Rotation - Interpreter backend (only choice on WASM; fallback on native without
jit). - Item
Slot - Name
Extraction Error - Failure to extract referenced names from a rotation JSON document.
- PetSlot
- Player
Slot - Referenced
Names - All spell, aura, and talent names referenced by a parsed rotation.
- Resolved
Field Read - A
FieldReadwith its descriptor looked up and its key resolved to a typed ID. - Resource
Slot - SetBonus
Slot - Slot
Descriptor - Inventory entry describing one dense-buffer slot domain.
- Slot
Maps - Spec
Catalog - Display names are converted to
snake_casekeys for rotation compilation. - Spec
Resolver - Maps rotation-JSON string names (spells, auras, talents, resources) to their resolved numeric IDs for a single spec.
- Spell
Aura Policy - Aura-scoped policy coordinate used while evaluating
spell.is_usable. - Spell
Slot - Standalone
Default - Inventory-collected standalone default for a descriptor-based field.
- Swing
Slot - Talent
Info - Resolved talent state for rotation compilation.
- Talent
Slot - Unit
Slot - Validation
Result - Aggregated outcome of rotation validation.
- VarPath
Category - A grouping of variable paths within one descriptor domain.
- VarPath
Info - Metadata about a single variable path.
- VecSink
- In-memory sink used by tests and the WASM bridge.
- Weapon
Imbue Slot
EnumsΒ§
- Action
Outcome - Categorical outcome attached to one action by
ActionRecord::outcome. - Buffer
Aura On - Default
Value - Typed value for a standalone buffer default.
- Eval
Kind - Operation used to interpret a field from the dense rotation buffer.
- Evaluation
Status - Why an action did or did not fire.
- Field
Type - Primitive value representation stored in a buffer field.
- Resolved
Key - Typed slot key for a resolved field read.
- Resource
Type - Rotation
Engine - Dispatches rotation evaluation to JIT or interpreter backend.
- Slot
Kind - Whether a slot is a singleton or keyed by spell/aura/resource.
- Spell
Aura Policy Kind - Behavior activated by an aura for one spell.
- Validation
Error - Hard validation error.
- Validation
Warning - Non-fatal warning.
TraitsΒ§
- Decision
Trace Sink - Recipient of
Decisions emitted by the interpreter backend. - Rotation
Backend - Lowering trait of primitive ops both rotation backends must support, with bit-identical numeric semantics.
- Runtime
Backend - Runtime dispatch trait for evaluating a compiled rotation.
FunctionsΒ§
- build_
spec_ resolver - Builds a name-resolving
SpecResolverfrom a specβs introspection snapshot and talent names. - check
- Partitions each referenced name into supported/missing against
resolver. - extract_
names - Parses
jsonas aRotationand collects every referenced name. - extract_
names_ from_ rotation - Walks a parsed
Rotationand 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
Rotationand 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::Resultparameterised with this moduleβsError.