Multi-Target Search Surface

Phase 6 adds the SikuliX-style multi-pattern helper family to the Go API without changing the underlying runtime architecture.

Scope

Added public helpers:

No new RPCs were added in this phase.

Execution Model

Image-backed helpers:

Live-screen helpers:

This keeps semantics stable and avoids screenshot drift across patterns inside one helper call.

Semantics

FindAnyList(patterns):

FindBestList(patterns):

WaitAnyList(patterns, timeout):

WaitBestList(patterns, timeout):

Match Index Contract

For this helper family, Match.Index is the zero-based input pattern index, not the match-occurrence index inside a single-pattern result set.

That aligns the additive Go helper surface with the SikuliX expectation that callers can map the returned match back to the pattern list they supplied.

Performance Note

This phase intentionally implements multi-target helpers as stable API composition in pkg/sikuli, not as a new batch RPC surface.

Implications:

A future performance phase can still add batch RPCs without changing the public helper contract introduced here.