Kelsidavis-WoWee/src/ui
Paul 5af9f7aa4b chore(renderer): extract AnimationController and remove audio pass-throughs
Extract ~1,500 lines of character animation state from Renderer into a dedicated
AnimationController class, and complete the AudioCoordinator migration by removing
all 10 audio pass-through getters from Renderer.

AnimationController:
- New: include/rendering/animation_controller.hpp (182 lines)
- New: src/rendering/animation_controller.cpp (1,703 lines)
- Moves: locomotion state machine (50+ members), mount animation (40+ members),
  emote system, footstep triggering, surface detection, melee combat animations
- Renderer holds std::unique_ptr<AnimationController> and delegates completely
- AnimationController accesses audio via renderer_->getAudioCoordinator()

Audio caller migration:
- Migrate ~60 external callers from renderer->getXManager() to AudioCoordinator
  directly, grouped by access pattern:
  - UIServices: settings_panel, game_screen, toast_manager, chat_panel,
    combat_ui, window_manager
  - GameServices: game_handler, spell_handler, inventory_handler, quest_handler,
    social_handler, combat_handler
  - Application singleton: application.cpp, auth_screen.cpp, lua_engine.cpp
- Remove 10 pass-through getter definitions from renderer.cpp
- Remove 10 pass-through getter declarations from renderer.hpp
- Remove individual audio manager forward declarations from renderer.hpp
- Redirect 69 internal renderer.cpp audio calls to audioCoordinator_ directly
- game_handler.cpp: withSoundManager template uses services_.audioCoordinator;
  MFP changed from &Renderer::getUiSoundManager to &AudioCoordinator::getUiSoundManager
- GameServices struct: add AudioCoordinator* audioCoordinator member
- settings_panel: applyAudioVolumes(Renderer*) -> applyAudioVolumes(AudioCoordinator*)
2026-04-02 13:06:31 +03:00
..
action_bar_panel.cpp chore(application): extract appearance controller and unify UI flow 2026-04-01 20:59:17 +03:00
auth_screen.cpp chore(renderer): extract AnimationController and remove audio pass-throughs 2026-04-02 13:06:31 +03:00
character_create_screen.cpp refactor: promote 7 more static const arrays to constexpr 2026-03-27 14:46:31 -07:00
character_screen.cpp refactor: deduplicate class color functions, add 9 color constants 2026-03-27 14:07:36 -07:00
chat_panel.cpp chore(renderer): extract AnimationController and remove audio pass-throughs 2026-04-02 13:06:31 +03:00
combat_ui.cpp chore(renderer): extract AnimationController and remove audio pass-throughs 2026-04-02 13:06:31 +03:00
dialog_manager.cpp chore(application): extract appearance controller and unify UI flow 2026-04-01 20:59:17 +03:00
game_screen.cpp chore(renderer): extract AnimationController and remove audio pass-throughs 2026-04-02 13:06:31 +03:00
inventory_screen.cpp refactor: extract class/race restriction helpers, add DBC fallback comment 2026-03-30 15:45:48 -07:00
keybinding_manager.cpp refactor: promote remaining static const arrays to constexpr across UI 2026-03-27 14:47:58 -07:00
quest_log_screen.cpp cleanup: remove dead pos=0 reassignment and demote chat logs to DEBUG 2026-03-29 18:11:49 -07:00
realm_screen.cpp refactor: replace 8 more inline color literals with existing constants 2026-03-27 10:14:47 -07:00
settings_panel.cpp chore(renderer): extract AnimationController and remove audio pass-throughs 2026-04-02 13:06:31 +03:00
social_panel.cpp chore(application): extract appearance controller and unify UI flow 2026-04-01 20:59:17 +03:00
spellbook_screen.cpp docs: add why-comments to spellbook icon caching and DBC fallback 2026-03-30 17:32:07 -07:00
talent_screen.cpp docs: add why-comments to rendering, packets, and UI code 2026-03-30 17:23:07 -07:00
toast_manager.cpp chore(renderer): extract AnimationController and remove audio pass-throughs 2026-04-02 13:06:31 +03:00
ui_manager.cpp Add configurable MSAA anti-aliasing, update auth screen and terrain shader 2026-02-22 02:59:24 -08:00
window_manager.cpp chore(renderer): extract AnimationController and remove audio pass-throughs 2026-04-02 13:06:31 +03:00