Method ClickThrough_DragPanelHeader_MovesPanel
- Namespace
- GrindFest
- Assembly
- GrindFest.dll
ClickThrough_DragPanelHeader_MovesPanel()
Dragging a panel by its header moves it by exactly the pointer delta.
This path was dead for every panel and nothing noticed: the drag handlers read
e.position/e.localPosition, but the v3 bridge hands JS
{x, y, button, pointerId} (see __dispatchEventFast in QuickJSBootstrap.js), so px/py
were always 0 and the guard if (px === 0 && py === 0) return; aborted every drag.
A test is the only thing that can catch it - a panel that ignores a drag looks exactly like a
panel that was never dragged.
The event goes to the deepest element under the cursor point (the title Label), not to the header's own element: the handlers live on an absolutely-positioned View inside the header, and UI Toolkit bubbling is what carries the event to it. Dispatching straight at the outer header box silently tests nothing.
public IEnumerator ClickThrough_DragPanelHeader_MovesPanel()