Skip to content

feat(cdm): customize Rotation Assist highlight - #1125

Open
mTx87 wants to merge 1 commit into
EllesmereGaming:mainfrom
mTx87:feature/rotation-assist-styling
Open

feat(cdm): customize Rotation Assist highlight#1125
mTx87 wants to merge 1 commit into
EllesmereGaming:mainfrom
mTx87:feature/rotation-assist-styling

Conversation

@mTx87

@mTx87 mTx87 commented Aug 1, 2026

Copy link
Copy Markdown

What does this PR do?

Adds opt-in styling controls for the Cooldown Manager Rotation Assist highlight:

  • Blizzard Default, Solid Border, Pixel Glow, Shape Glow, Action Button Glow, Auto-Cast Shine, GCD, Modern WoW Glow, and Classic WoW Glow styles
  • Default gold, class-colored, and custom color modes
  • Physical-pixel thickness for Solid Border and Pixel Glow
  • Configurable outset beyond the icon edge
  • The existing Hide Rotation Helper setting remains the master-off switch

Absent settings preserve Blizzard's current template and behavior. Custom overlays are created lazily only when a highlight is required and are stopped/recycled when suggestions or profiles change, bars rebuild, or Assisted Combat is disabled. Blizzard aura frames use the restriction-safe animation path.

The settings live under the existing cdmBars profile subtree so the normal profile, spec-override, and conditional-override systems can capture them.

How was it tested?

  • Tested in-game on live retail as Windwalker Monk
  • Verified Default, Class Colored, and Custom modes persist after closing/reopening the options panel
  • Verified the highlight updates across target changes
  • Verified the generated test addon is not part of this branch
  • git diff --check passes and all added code is ASCII-only
  • PTR/12.1 client validation is still pending

Screenshots

Before/after screenshots will be attached to the PR.

Checklist

  • New settings default OFF (no behavior change without opt-in)
  • Zero cost while disabled: no events registered, no polling, no hooks doing work, no frames built
  • Cheap while enabled: event-driven (no polling, no timer-based logic, no per-frame allocations)
  • No writes onto Blizzard-owned frames (weak-table metadata and restriction-safe rendering paths are used)
  • Tested in-game, works on live retail; no load errors on the 12.1 PTR client

@mTx87

mTx87 commented Aug 1, 2026

Copy link
Copy Markdown
Author

before PR
rot_ass_prev
after PR
rot_ass_after
after PR options
rot_ass_options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant