Test UI: show raid frames outside a raid

While /pt testui is on, every frame group shows whatever the real group
is, and Hide While Solo no longer hides the test frames, so raid layouts
can be tested solo or in a party. From fey/Puppeteer fix/testui-raid-frames.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019W3rwwTK1hwTEWHqsan2mV
This commit is contained in:
2026-11-02 16:29:13 +00:00
co-authored by Claude Opus 5.5
parent cac81ec2d2
commit 42d7be2183
2 changed files with 9 additions and 2 deletions
+4
View File
@@ -15,6 +15,10 @@ Each [skrymsli](https://github.com/skrymsli/Puppeteer) commit was only kept if i
brings the cost back to the OldManAlpha level (5.3 µs per event) and adds about 2 bytes of garbage per raid-wide
tick.
## Addition from fey/Puppeteer
- **Test UI shows raid frames outside a raid** ([fey](https://github.com/fey/Puppeteer), `fix/testui-raid-frames`): kept. While `/pt testui` is on, every frame group shows (Party, Pets, Raid, Raid Pets) whatever your real group is, and Hide While Solo no longer hides the test frames. Turning test mode off restores the normal rules. No effect outside test mode.
## Why
WoW 1.12 runs Lua 5.0, whose collector stops the game and walks the whole heap whenever enough garbage piles up.
+5 -2
View File
@@ -64,7 +64,9 @@ function PTUnitFrameGroup:New(name, environment, units, petGroup, profile, sortB
end
function PTUnitFrameGroup:EvaluateShown()
if self:CanShowInEnvironment(Puppeteer.CurrentlyInRaid and "raid" or "party") and self:ShowCondition() then
-- Test mode shows every group (raid groups too) whatever the real group is
local environment = Puppeteer.CurrentlyInRaid and "raid" or "party"
if (Puppeteer.TestUI or self:CanShowInEnvironment(environment)) and self:ShowCondition() then
self:Show()
self:UpdateUIPositions()
else
@@ -77,7 +79,8 @@ function PTUnitFrameGroup:ShowCondition()
return false
end
if PTOptions.HideWhileSolo and (GetNumPartyMembers() == 0 and GetNumRaidMembers() == 0) then
if not Puppeteer.TestUI and PTOptions.HideWhileSolo
and (GetNumPartyMembers() == 0 and GetNumRaidMembers() == 0) then
return false
end