WoW Lab

WoW Lab

Toolkit

Simulate

Quick SimBest in BagsDrop Optimizer

Rotations

BrowseNew Rotation

Plan

Traits
P

Developer

DocsBibleEngineHooksMCP ServerMetricsUI Showcase

Misc

AboutBlog

© 2025 WoW Lab

  1. Home
  2. Bible
  3. Rotation Compiler

Rotation Compiler

From JSON action lists to Cranelift JIT native code at ~3ns evaluation

February 13, 2026
Edit

Compilation pipeline (JSON parsing → AST → validation → variable/expression resolution → Cranelift IR → native code), ~3ns evaluation per decision point, EvalResult (kind: none/cast/wait/pool, spell_id, wait_time), rotation context populated from simulation state (buffs, cooldowns, resources), domain-specific expression types (BuffExpr, DebuffExpr, DotExpr, CooldownExpr, ChargeExpr, ResourceExpr, PlayerExpr, PetExpr, TalentExpr, SpellExpr, TargetExpr, CombatExpr, GcdExpr), boolean/int/float expression support, stack allocation up to 512 bytes with thread-local fallback, schema validation upfront, why JIT over interpretation (hot loop, millions of evaluations per simulation), Cranelift as compiler backend.

Next steps

Spec Handlers
Damage Resolution
Spec Handlers

Navigation

IntroductionGlossaryReferences

Overview

Mechanics

Game Data

Simulation

Discrete Event SimulationEvent SystemDamage ResolutionRotation CompilerSpec HandlersMetrics and Statistics

Infrastructure

Portal