fix(vtank): popup panels actually show; drop duplicate popup titles; fresh screenshots
Live-verified two real defects the previous commit's design didn't catch
without a running client:
1. Both new popups (mosstank-advanced.xml, mosstank-loot-editor.xml) were
registered with StartVisible=false, on the theory that the markup's own
visible="{AdvancedOptionsVisible}"/"{LootEditorVisible}" binding would be
the sole gate. It is NOT: RetailUiRuntime.MountPlugins wraps every
plugin window's markup availability in a PluginWindowVisibilityController
that ANDs it with a SEPARATE "requested visible" axis seeded from
StartVisible, flipped back to true only by OnShown() — the shelf's
un-minimize click. A ShowInSidePanel=false window has no shelf entry to
click, so StartVisible=false left "requested visible" permanently false
regardless of the markup binding, and both popups never rendered no
matter how many times the checkbox was toggled (confirmed live: checkbox
showed checked/green, no window appeared). Fix: StartVisible=true, which
keeps "requested visible" true from construction (OnHidden only ever
latches it back to false on a genuine minimize, explicitly no-opping
when the hide was caused by availability itself going false — exactly
what closing via "Back" does), leaving the markup binding as the sole
effective gate, same as the main panel's own always-true
ShowInSidePanel=true default.
2. Once visible, both popups showed garbled overlapping text at their top
edge ("AdvancedOptionsced Options — complete VTank settings table",
"Loot profileRules(first match wins)"): each file's own in-content
descriptive label duplicated the window's OS-level title bar
(MarkupDocument.Build auto-renders <panel title="..."> at a fixed (8,4)
— the exact corner the in-content label used to own back when these
were in-panel groups with no title bar of their own). Fix: dropped both
redundant labels; the window's own title ("Advanced Options" caption
duplicated as "MossTank Advanced Options"/"MossTank Loot Editor") is now
the only thing there.
Also repositioned both popups' default (x,y) from the placeholder
(440,60) — which overlapped the main panel — to (253,405)/(660,405),
below the main panel, side by side, both fitting within a 720-tall client.
Screenshots recaptured end to end against a live local ACE
(127.0.0.1:9000, testaccount/+Acdream) with the rebuilt Release exe from
this worktree, using an isolated ACDREAM_CONFIG_DIR/ACDREAM_DATA_DIR (no
stale persisted window layout from earlier probe runs — RetailWindowLayoutPersistence
keys plugin windows by name with authoredGeometryRevision=0, so a
previously-opened window's persisted x/y wins over any new authored
default forever; using a scratch config directory sidesteps that rather
than editing the real %APPDATA%\acdream\settings.json). tab-options.png,
tab-profiles.png, tab-vitals.png, and tab-monsters.png confirm the fix
round A grid-scaling and Profiles-cleanup commit's fixes hold on a live
client (no overlap, no gold buttons, no stacked New buttons, no dead
window space); popup-advanced.png and popup-loot-editor.png confirm both
popups now open as genuinely separate windows with clean single titles and
working move-up/move-down DAT icons (no blank button slots).
MossTank suite still 654/654; App markup/plugin/menu filter still
237/237 (no test changes in this commit — the earlier commit's
SecondaryPopupPanelsFitTheirOwnBoundsAndEveryBindingResolves already
covers both files' structure and bindings, and neither the visibility
seeding fix nor the label removal changes what those pins check).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Before Width: | Height: | Size: 223 KiB After Width: | Height: | Size: 1,011 KiB |
|
Before Width: | Height: | Size: 228 KiB After Width: | Height: | Size: 1,006 KiB |
|
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 250 KiB |
|
Before Width: | Height: | Size: 255 KiB After Width: | Height: | Size: 335 KiB |
|
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 307 KiB |
|
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 332 KiB |