SpecHandler trait interface (spec_id, display_name, spell_definitions, aura_definitions, talent_names, init, init_player, on_gcd, on_cast_complete, on_spell_damage, on_auto_attack, on_pet_attack, on_aura_tick, on_aura_apply, on_aura_expire, cast_spell, next_action, get_spell, get_aura, calculate_damage), trait object polymorphism (Arc<dyn SpecHandler>), no match statements in hot path, spec implementation structure (handler.rs, spells.rs, auras.rs, talents.rs, procs.rs, pet.rs, rotation.rs, constants.rs, metrics.rs), pre-computed talent flags and damage mods at initialization, currently implemented: Beast Mastery Hunter (50+ spells, pet mechanics, focus resource, RPPM procs, tier set bonuses) and Marksmanship Hunter.
Next steps