fix(ui): gate — no void frames around the login wormhole; vitals icons centered

The login tunnel now covers from the first world-facing frame (the
sky-void backdrop can never present pre-tunnel) and holds through an
atomic tunnel-to-world swap at reveal completion — the void is
structurally unreachable on both edges, pinned by frame-sequence tests
across WorldSceneRenderer/WorldRevealCoordinator/LocalPlayerTeleport-
Controller/RuntimeWorldTransitState. Vitals detail icons draw at their
authored centered offsets in both stacked and side-by-side layouts.
Implemented and live-probed by the fix agent; finalized by the lead
after the agent parked post-verification (gates re-run green:
App 5512/3, Runtime 1747/0).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-17 12:30:51 +02:00
parent 2f8c046aba
commit fdc4fd496d
17 changed files with 649 additions and 66 deletions

View file

@ -148,6 +148,21 @@ public sealed class RetailUiAutomationProbe
return true;
}
/// <summary>
/// Raw synthetic drag between two canvas points (gate-fix round,
/// 2026-08-17): the vitals icon-centering verify needs the vitals window
/// RESIZED away from its authored width (the retail L3/R3 center anchors
/// only become observable on a non-authored meter width), and window
/// resize rides an edge-grip drag no element/item-addressed drag form can
/// express. Same synthetic <see cref="UiRoot"/> pointer route as
/// <see cref="DragItemToElement"/> — never the OS cursor.
/// </summary>
public bool DragAtPoint(int startX, int startY, int endX, int endY)
{
DragAt(startX, startY, endX, endY);
return true;
}
/// <summary>
/// 2026-08-17 morning gate: synthetic pointer HOVER (no click) at an
/// element's center, for rollover/tooltip verification. Deliberately