chore(style): add a widget gallery for visual verification

Every widget in its states, reachable via /hellion widgets. The point is to
check them one at a time before they land in real components: the v2.x style
engine grew three primitives that were never wired to a call site
(DrawGlowBorder, DrawSlipPolygon, DrawHonorificHeader), and this is the cheap
way to notice that before a cycle closes.

DEBUG-only, like SeStringDebugger. It is a verification aid, not a feature, so
it never reaches a release build -- verified against a Release compile.

The header line also shows the live GlobalScale and the hover registry size,
which makes both the scaling work and the eviction contract observable while
dragging the Dalamud scale slider.
This commit is contained in:
2026-08-17 23:42:05 +02:00
parent d6ad81e8ca
commit 460217459c
4 changed files with 218 additions and 0 deletions
+13
View File
@@ -109,6 +109,9 @@ public sealed class Plugin : IAsyncDalamudPlugin
internal static InputPreview InputPreview { get; private set; } = null!;
internal CommandHelpWindow CommandHelpWindow { get; private set; } = null!;
public SeStringDebugger SeStringDebugger { get; private set; } = null!;
#if DEBUG
internal Ui.Windows.WidgetGalleryWindow WidgetGallery { get; private set; } = null!;
#endif
public FirstRunWizard FirstRunWizard { get; private set; } = null!;
internal DebuggerWindow DebuggerWindow { get; private set; } = null!;
@@ -365,6 +368,9 @@ public sealed class Plugin : IAsyncDalamudPlugin
InputPreview = _host.Services.GetRequiredService<InputPreview>();
CommandHelpWindow = _host.Services.GetRequiredService<CommandHelpWindow>();
SeStringDebugger = _host.Services.GetRequiredService<SeStringDebugger>();
#if DEBUG
WidgetGallery = _host.Services.GetRequiredService<Ui.Windows.WidgetGalleryWindow>();
#endif
DebuggerWindow = _host.Services.GetRequiredService<DebuggerWindow>();
FirstRunWizard = _host.Services.GetRequiredService<FirstRunWizard>();
ChannelPopoutPool = _host.Services.GetRequiredService<Ui.Windows.ChannelPopoutPool>();
@@ -925,6 +931,13 @@ public sealed class Plugin : IAsyncDalamudPlugin
SettingsWindow.Toggle();
return;
}
#if DEBUG
if (arg.Equals("widgets", StringComparison.OrdinalIgnoreCase))
{
WidgetGallery.Toggle();
return;
}
#endif
if (arg.Equals("reset", StringComparison.OrdinalIgnoreCase))
{
// Recovery path documented in the v2.x master spec — drops a