Mouse motion-related events have “best effort”, not guaranteed delivery, at the OS level. Consider feeding all such events, plus focus events, into a state machine that drives your display needs.
I think that I understand the Machine State concept, but this strategy would require “listening” for the mouseExited event which is not being caught. Otherwise, I would have to constantly determine mouse position relative to the component which would be challenging given that I do not know resolution and viewport specs of the client.
I gather this approach wouldn’t fix the missed exited event itself on a particular component, but would rather use the events on other components to fix the component’s display status?
Bare with me…
So, each template would have event scripts on all of its relevant mouse events, and would write to a common property or properties (or client tags) . Common would need to know object name and mouse state?
Then on any of the components, check if common name matches the component’s name, and then check common state. If both match, then do your mouse over actions such as change big colour etc. If they don’t match, change back to the default display
?