Added support for lazy evaluation in WorldConditions

I created a PR to address this: #14558

"

Applied Boolean lazy evaluation to WorldConditions: we now skip evaluating the right operand of false AND x, and true OR x (x being an expression of one or more conditions).

  • Improves performance, especially for heavy conditions, such as performing a raycast (“camera-point distance < 200 AND camera-point trace has no collisions”).
  • Protects against right-side errors, such as divide-by-zero (“b > epsilon AND a / b > 1”).

"

I would appreciate if you could evaluate and integrate this. Thanks in advance.

(This question was created in reference to: [Missing short-circuit evaluation in [Content removed] )

Steps to Reproduce
As described in "[Missing short-circuit evaluation in [Content removed] post, the evaluation of WorldConditions does too much work. To check, simply set a “false AND x” or “true OR x” query definition, and check that “x” is evaluated.

I see your PR in our internal JIRA. It has not yet been assigned to a dev to handle, but the team is usually quite quick at investigating PRs. Small PRs like this are usually great candidates for speedy investigations, but we will look into it once it has been prioritized and assigned.

-James