From 42d7be2183edb52ba5d7b5cd979f22caabbd10e5 Mon Sep 17 00:00:00 2001 From: OEVG <950+oevg@noreply.octowow.st> Date: Mon, 2 Nov 2026 16:29:13 +0000 Subject: [PATCH] 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 Claude-Session: https://claude.ai/code/session_019W3rwwTK1hwTEWHqsan2mV --- CHANGELOG-lowgc.md | 4 ++++ PTUnitFrameGroup.lua | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG-lowgc.md b/CHANGELOG-lowgc.md index 20deb17..0aeff61 100644 --- a/CHANGELOG-lowgc.md +++ b/CHANGELOG-lowgc.md @@ -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. diff --git a/PTUnitFrameGroup.lua b/PTUnitFrameGroup.lua index 47a34b6..68cc40a 100644 --- a/PTUnitFrameGroup.lua +++ b/PTUnitFrameGroup.lua @@ -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