fix(ui): restore retail vitals and window interactions
All checks were successful
CI / linux-portable (push) Successful in 3m16s
CI / windows-gate (push) Successful in 5m41s
CI / release (push) Successful in 2m5s

This commit is contained in:
Erik 2026-08-20 13:26:35 +02:00
parent 4d84456c21
commit 1bd2b30291
36 changed files with 1462 additions and 86 deletions

View file

@ -43,6 +43,12 @@ public sealed class RetailWindowManager : IDisposable
/// </summary>
public event Action<RetailWindowHandle>? WindowRegistered;
/// <summary>
/// Internal pre-exposure hook for presentation state that must be correct
/// before a newly mounted window's controller receives <c>OnShown</c>.
/// </summary>
internal event Action<RetailWindowHandle>? WindowRegistering;
/// <summary>
/// Fires when a window is REMOVED from the registry (<see cref="Unregister"/>),
/// after teardown (<c>NotifyClosed</c>/<c>DisposeController</c>) but before the
@ -99,6 +105,7 @@ public sealed class RetailWindowManager : IDisposable
authoredGeometryRevision);
_byName.Add(name, handle);
_byFrame.Add(outerFrame, handle);
WindowRegistering?.Invoke(handle);
handle.NotifyInitialState();
WindowRegistered?.Invoke(handle);
return handle;
@ -258,6 +265,7 @@ public sealed class RetailWindowManager : IDisposable
_defaultInputs.Remove(handle);
handle.NotifyClosed();
handle.DisposeController();
WindowUnregistered?.Invoke(handle);
}
}