fix(test): UI probe pointer commands convert canvas to window coordinates; char-select Enter logs its outcome
The automation probe fed element-center CANVAS coordinates straight into
UiRoot.OnMouseMove/Down/Up, which take WINDOW coordinates and map
window->canvas internally (UiRoot.MapWindowToCanvas). The two spaces are
identical on every screen without UiRoot.FixedCanvasSize — every prior
probe gate passed — but the character-select/chargen screens stretch an
authored 800x600 canvas across the window, so every synthetic click and
hover landed at canvas*(canvas/window): nowhere near the target. The
enter-world connected gate's 'click element 0x100003A2' silently did
nothing for two full rounds. Element-derived pointer paths (ClickAt,
DragAt, HoverElement) now convert canvas->window via UiRoot.CanvasScale;
raw 'mousemove x y' stays a passthrough.
CharacterManagementUiController.EnterSelected also logs a once-per-click
outcome line ('[UI] character enter accepted/rejected status=...') — a
refused Enter was previously indistinguishable from a click that never
dispatched (both silent), which cost a connected-gate round to tell
apart.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
5ca1d47d7a
commit
997b720455
2 changed files with 35 additions and 1 deletions
|
|
@ -580,6 +580,13 @@ internal sealed class CharacterManagementUiController : IDisposable
|
|||
// remains authoritative and closes it on InWorld/error/reset.
|
||||
EnsureEnterWait();
|
||||
RuntimeCommandResult result = _bindings.Enter();
|
||||
// Enter-world round (2026-08-17): once-per-click outcome line — a
|
||||
// refused Enter was previously indistinguishable from a click that
|
||||
// never dispatched (both silent), which cost a full connected-gate
|
||||
// round to tell apart.
|
||||
Console.WriteLine(result.Accepted
|
||||
? "[UI] character enter accepted"
|
||||
: $"[UI] character enter rejected status={result.Status}");
|
||||
if (!result.Accepted)
|
||||
CloseContext(ref _enterWaitContext, suppressCallback: true);
|
||||
InvalidateAndTick();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue