What problem does it solve?
Developers working on the Gum UI runtime struggle to understand how cursor events like Click, Push, and RollOver are raised and routed through the visual tree, leading to bugs when adding new events or diagnosing why clicks fail to fire.
Core Features & Use Cases
- Dispatch Internals Reference: Documents DoUiActivityRecursively in InteractiveGue.cs, the single recursive walk that drives all cursor events.
- Routing Model Clarification: Explains the three coexisting dispatch disciplines (tunneling, bubbling, single-target) and how HandledActions plus RoutedEventArgs.Handled implement routing.
- Gotcha Catalog: Covers edge cases like edge-triggered Cursor.Activity collapsing on double Update calls, reverse-order root traversal, and the FlatRedBall InteractiveGue divergence.
- Use Case: When adding a new bubbling event to Gum, follow the documented precedent of creating a parallel *Bubbling event with its own HandledActions flag so existing single-target behavior is not broken.
Quick Start
Explain how Gum routes Click and RollOver events through the visual tree and how to add a new bubbling event without breaking existing behavior.