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