v1.7.0
Character animation runs across worker threads
Posing every animated model in view happened on the main thread, and a crowded city or a full raid is a few hundred of them per frame. That work is now spread across the worker pool, and the main thread only waits for the last one to finish instead of doing them all itself. Measured on a busy city scene, the animation phase costs the main thread about a quarter of what it used to. Nothing about the animation itself changes, and a scene with only a handful of animated models keeps the original scheduling.
The worker pool shared by this and the particle build grew from three lanes to four, which is worth roughly another percent of frame time on a machine with six or more performance cores.
Log filter names changed
If you turn on diagnostics, the filter names are different. RUST_LOG=wow::events=debug is gone. There are now five topics, grouped by what you would switch on together: wow for identity and environment, wow::hook for what got patched and what refused, wow::gc for the Lua collector, wow::script for what the interface costs, and wow::perf for the mod's own counters.
The last two are separate switches now. The per-second script tables are the expensive measurement; the counters are free. Reading the counters no longer turns the script gauge on with them, so RUST_LOG=wow::perf=debug is the cheap way to see how the parallel work is doing. That report gains a line for the animation split: passes, how long the main thread spent waiting, and how much work the workers absorbed.
Compatibility
Drop-in replacement for 1.6.0. No gameplay or configuration change, and WOW_TURBO_SKIP=all still disables every hook without a reinstall.