fix(ui): D.2b — collapsed toolbar left black pillars + draggable below the bar
Two bugs from the visual gate, same dump-confirmed cause: row 2 is an 11-element band (left edge-piece 0x100006B6 + 9 slots 0x100006B7..BF + right edge-piece 0x100006C0, all at content-y 90), but SecondRow hid only the 9 slots — so the two edge-pieces kept drawing as black pillars below the collapsed bar. And toolbarRoot (ClickThrough=false, full height) still caught clicks below the collapsed frame → walked up to the Draggable frame → phantom window-move. Fix: SecondRow now hides the full band (B6..C0); toolbarRoot.ClickThrough=true so its children (slots/indicators) still get hits children-first but its empty/below regions fall through (no phantom drag) — same pattern as the chat content panel. The slots are edge-flag 0 = Left|Top fixed, so nothing reflows. Build green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
89a2a2857a
commit
14443e5c27
1 changed files with 13 additions and 2 deletions
|
|
@ -2062,8 +2062,13 @@ public sealed class GameWindow : IDisposable
|
||||||
// not reflow. (Width is fixed so the horizontal anchors are inert but harmless.)
|
// not reflow. (Width is fixed so the horizontal anchors are inert but harmless.)
|
||||||
toolbarRoot.Anchors = AcDream.App.UI.AnchorEdges.Left | AcDream.App.UI.AnchorEdges.Top
|
toolbarRoot.Anchors = AcDream.App.UI.AnchorEdges.Left | AcDream.App.UI.AnchorEdges.Top
|
||||||
| AcDream.App.UI.AnchorEdges.Right;
|
| AcDream.App.UI.AnchorEdges.Right;
|
||||||
// The frame is the draggable window; the content itself is not.
|
// The frame is the draggable window; the content itself is not. ClickThrough so the
|
||||||
toolbarRoot.ClickThrough = false;
|
// content panel never CLAIMS a hit — its behavioral children (slots, indicators) are
|
||||||
|
// hit children-first, and its empty areas fall through to the frame (move). Critically,
|
||||||
|
// when collapsed the row-2 band is hidden, so below the collapsed frame the content has
|
||||||
|
// no visible/hit children and ClickThrough lets clicks fall through (no phantom
|
||||||
|
// window-drag from where row 2 used to be). Same pattern as the chat content panel.
|
||||||
|
toolbarRoot.ClickThrough = true;
|
||||||
toolbarRoot.Draggable = false;
|
toolbarRoot.Draggable = false;
|
||||||
toolbarRoot.Resizable = false;
|
toolbarRoot.Resizable = false;
|
||||||
toolbarFrame.AddChild(toolbarRoot);
|
toolbarFrame.AddChild(toolbarRoot);
|
||||||
|
|
@ -2071,10 +2076,16 @@ public sealed class GameWindow : IDisposable
|
||||||
// Collapse-to-one-row: the frame's bottom edge snaps between a one-row (row 2 hidden)
|
// Collapse-to-one-row: the frame's bottom edge snaps between a one-row (row 2 hidden)
|
||||||
// and two-row height. CollapsedHeight is computed from the layout (just above row 2),
|
// and two-row height. CollapsedHeight is computed from the layout (just above row 2),
|
||||||
// so there's no magic constant. Bottom-edge only; default expanded.
|
// so there's no magic constant. Bottom-edge only; default expanded.
|
||||||
|
// The full row-2 band (all at content-y 90, toolbar dump 0x21000016): a 6px left
|
||||||
|
// edge-piece (0x100006B6) + the 9 slots (0x100006B7..BF) + an 8px right edge-piece
|
||||||
|
// (0x100006C0). Hide ALL 11 when collapsed — hiding only the 9 slots leaves the two
|
||||||
|
// edge-pieces drawing as black pillars below the bar.
|
||||||
uint[] row2Ids =
|
uint[] row2Ids =
|
||||||
{
|
{
|
||||||
|
0x100006B6u,
|
||||||
0x100006B7u, 0x100006B8u, 0x100006B9u, 0x100006BAu, 0x100006BBu,
|
0x100006B7u, 0x100006B8u, 0x100006B9u, 0x100006BAu, 0x100006BBu,
|
||||||
0x100006BCu, 0x100006BDu, 0x100006BEu, 0x100006BFu,
|
0x100006BCu, 0x100006BDu, 0x100006BEu, 0x100006BFu,
|
||||||
|
0x100006C0u,
|
||||||
};
|
};
|
||||||
var toolbarRow2 = new System.Collections.Generic.List<AcDream.App.UI.UiElement>();
|
var toolbarRow2 = new System.Collections.Generic.List<AcDream.App.UI.UiElement>();
|
||||||
float minRow2Top = float.MaxValue;
|
float minRow2Top = float.MaxValue;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue