The action this binding fires.
Resolved arg value for arg-bearing gestures (wheel direction,
key name, multiTouchTap fingers). Undefined for gestures whose
descriptor has no arg.
Structured v3 modifier requirements. Empty object = "no modifiers held" (the strict default).
Which phase the binding's phase spec restricts it to. 'any' when it
declares none, declares '*', or declares an atom list whose atoms
don't agree on one phase — such a binding fires in either phase, and
reporting it as 'initial' made it collide with genuinely-initial
bindings in findConflicts' bucket key.
The GestureSpec this row was flattened from, by reference. Reflection
consumers that need something the grammar doesn't capture — the
specificity tuple, a kindOf predicate identity — read it here rather
than re-walking Tool.bindings.
Target class for hit-testing gestures. undefined when the descriptor
has hasTarget: false or the spec declares no target;
PREDICATE_TARGET when the spec uses a kindOf predicate, which
the route grammar has no notation for.
One row in the route registry — a single
GestureBindingon one tool, flattened into the route grammar's vocabulary so the inspector, the conflict checker, anddescribeRoutecan all read the same shape.Multiple rows can share (gesture, arg, target, modifiers) if different tools declare them; consumers walk the list and group client-side.