Skip to content

fix(unitframes): give Boss/Pet/ToT/Focus Target their own frame border - #1992

Open
dfrisone wants to merge 1 commit into
EllesmereGaming:mainfrom
dfrisone:fix/mini-boss-frame-borders
Open

fix(unitframes): give Boss/Pet/ToT/Focus Target their own frame border#1992
dfrisone wants to merge 1 commit into
EllesmereGaming:mainfrom
dfrisone:fix/mini-boss-frame-borders

Conversation

@dfrisone

@dfrisone dfrisone commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Fix from Svart. Reported as the Boss frame always drawing a plain default border
however the border texture was configured, while Target picked the custom one up
correctly. Pet, Target of Target and Focus Target turned out to have it too.

Root cause, two layers

Missing control. The options UI only ever offered a Border Style/Size section
for Player/Target/Focus. Boss/Pet/ToT/Focus Target had no way to set a frame
border at all, so they were "Solid" by omission rather than by a rendering fault.

Donor overwrite, the actual blocker. With the control added the setting still
did not appear live. ReloadFrames has a second border pass for mini/boss frames
that unconditionally re-applied the donor's border (Player/Target/Focus) over
the unit's own, moments after UpdateBordersForScale had already drawn the right
one in the same pass. Left over from before these frame types had a border of
their own. The identical donor convention in the options-panel preview widget had
the same effect, which is why the mockup was wrong in exactly the same way.

Changes

  • Shared "Frame Border" section (style dropdown, size slider, offset/shift cog,
    colour swatch) on Boss, Pet, ToT and Focus Target, under Display on all four
  • ReloadFrames's second border pass reads each unit's own settings
  • Same donor fix in the options preview widget

Note: borderSizeOverride is retired, with no migration

It existed only to vary the donor's size for ToT/Focus Target/Pet, and a real
per-unit borderSize replaces it. Anyone who had set it will find the value
orphaned in their saved variables and their border size back at the default until
they set the new control. Small, but it is a silent reset rather than a carry-
over, so worth being deliberate about before this merges.

Testing

luac -p clean on both files; house style check clean. Not click-tested by me --
Svart reported and fixed it from live play. Worth confirming: a custom SharedMedia
border texture set on Boss shows on a real Boss frame and in Activate Boss
Preview, and Player/Target/Focus are unchanged.

Boss frames always drew a plain default border however the border texture
was configured, while Target picked the custom one up correctly. Two layers:

The options UI only ever offered a Border Style/Size section for
Player/Target/Focus, so the other four had no way to set a border at all --
"Solid" by omission rather than a rendering fault.

With that added the setting still did not show, because ReloadFrames has a
second border pass for mini/boss frames that re-applied the DONOR's border
over the unit's own, moments after UpdateBordersForScale had just drawn it.
That was left from before these frames had a border of their own. It now
reads each unit's own settings. The same donor convention in the options
preview widget is fixed the same way, which is why the mockup was wrong in
exactly the same manner.

borderSizeOverride is retired: it existed only to vary the donor's size, and
a real per-unit borderSize replaces it.
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