Raid frames:
- When groupType=1 (raid), render compact grid-style raid frames instead
of the vertical party list that would overflow for 25/40-man groups
- Members organized by subgroup (G1-G8), up to 5 rows per subgroup column
- Each cell shows: name, health bar (green/yellow/red), power bar (class color)
- Clicking a cell targets the member; border highlight for current target
- Frames anchored above action bar area, centered horizontally
Quest log scroll-to-quest:
- openAndSelectQuest(questId) selects the quest AND scrolls the list pane
to show it (SetScrollHereY on the first render frame after open)
- One-shot scroll: scrollToSelected_ cleared after first use so normal
scroll behavior is unaffected afterward
Quest tracker:
- Clicking a tracked quest now calls openAndSelectQuest() — opens the log
AND jumps to that specific quest rather than just opening to top
Split inventory into bags-only (B key) and character screen (C key). Vendor window
auto-opens bags with sell prices on hover and right-click to sell. Add camera intro
pan on all login/spawn/teleport/hearthstone events and idle orbit after 2 minutes.
Add quest log UI, SMSG_MONSTER_MOVE handling, deferred creature spawn queue, and
creature fade-in/movement interpolation for online mode.