ConstSatisfied when the control value strictly equals expected.
Satisfied when the (string) control value matches pattern. The global
flag is stripped so repeated evaluations are not affected by the shared
RegExp.lastIndex.
Satisfied when the control value is not null/undefined/blank/whitespace.
Satisfied when the control value is one of values.
Satisfied when the control value is JS-truthy.
Ready-made predicates for the common value-gate cases, each reading
ctx.value(the current value of the step's watched control). Compose your own for anything more specific — a predicate is just(ctx: TourGateContext) => boolean.