Java to Go API Mapping

This document is generated from docs/reference/parity/java-to-go-seed.tsv and source surfaces in packages/api/pkg/sikuli/signatures.go and packages/api/proto/sikuli/v1/sikuli.proto.

Symbol Mapping

Java/SikuliX Symbol Go Surface gRPC RPC Node API Python API Status Notes
Pattern.similar(double) (*Pattern).Similar(sim float64) Find, FindOnScreen Pattern().similar() Pattern().similar() parity-ready Similarity threshold semantics aligned.
Pattern.exact() (*Pattern).Exact() Find, FindOnScreen Pattern().exact() Pattern().exact() parity-ready Exact matching path preserved.
Pattern.targetOffset(dx,dy) (*Pattern).TargetOffset(dx,dy) Find, FindOnScreen Pattern().targetOffset(dx,dy) Pattern().target_offset(dx,dy) parity-ready Target-point offset supported.
Pattern.resize(factor) (*Pattern).Resize(factor) Find, FindOnScreen Pattern().resize(factor) Pattern().resize(factor) parity-ready Scale intent mapped into matcher request.
Finder.find(Pattern) (*Finder).Find(pattern), (*Finder).Iterate(pattern) Find Finder.find(...) via Region/Screen Region.find(...) parity-ready Go keeps explicit single-match returns and also exposes a no-throw compatibility iterator prep path.
Finder.findAll(Pattern) (*Finder).FindAll(pattern), (*Finder).IterateAll(pattern) FindAll Region.findAll(...) Region.find_all(...) parity-ready Deterministic ordering documented, with additive iterator preparation for SikuliX-style traversal.
Finder.hasNext() (*Finder).HasNext() n/a n/a n/a parity-ready Compatibility iterator exposes SikuliX-style traversal over the most recent match set.
Finder.next() (*Finder).Next() n/a n/a n/a parity-ready Compatibility iterator advances through the prepared match set without raising FindFailed on exhaustion.
Finder.exists(Pattern, timeout) (*Finder).Exists(pattern,timeout) ExistsOnScreen Region.exists(...) Region.exists(...) parity-ready Timeout polling semantics aligned.
Finder.wait(Pattern, timeout) (*Finder).Wait(pattern,timeout) WaitOnScreen Region.wait(...) Region.wait(...) parity-ready Wait semantics exposed across clients.
Finder.waitVanish(Pattern, timeout) (*Finder).WaitVanish(pattern,timeout) WaitOnScreen + negative check Region.waitVanish(...) Region.wait_vanish(...) partial Client-side vanish wrappers depend on repeated polling behavior.
Region.findAnyList(List<Pattern>) (*Finder).FindAnyList(patterns), (*Region).FindAnyList(source,patterns), (LiveRegion).FindAnyList(patterns), (Screen).FindAnyList(patterns) n/a n/a n/a partial API-level multi-target helper returns one best match per matched pattern from a single source image or screen capture; client wrappers land in the client parity plan.
Region.findBestList(List<Pattern>) (*Finder).FindBestList(patterns), (*Region).FindBestList(source,patterns), (LiveRegion).FindBestList(patterns), (Screen).FindBestList(patterns) n/a n/a n/a partial API-level best-of-list helper selects the highest-score match with deterministic tie-breaking; client wrappers land in the client parity plan.
Region.waitAnyList(List<Pattern>, timeout) (*Finder).WaitAnyList(patterns,timeout), (*Region).WaitAnyList(source,patterns,timeout), (LiveRegion).WaitAnyList(patterns,timeout), (Screen).WaitAnyList(patterns,timeout) n/a n/a n/a partial Additive Go wait helper polls one source image or one live capture per cycle until any pattern matches or ErrTimeout.
Region.waitBestList(List<Pattern>, timeout) (*Finder).WaitBestList(patterns,timeout), (*Region).WaitBestList(source,patterns,timeout), (LiveRegion).WaitBestList(patterns,timeout), (Screen).WaitBestList(patterns,timeout) n/a n/a n/a partial Additive Go wait helper returns the deterministic best match across the matched pattern list once any candidate appears.
Region.find(Pattern) (*Region).Find(source,pattern) FindOnScreen Region.find(pattern) Region.find(pattern) parity-ready Region-oriented search contract preserved.
Region.click(Pattern) Region + InputController ClickOnScreen Region.click(pattern) Region.click(pattern) parity-ready Server-side capture + click orchestration.
Region.hover(Pattern) Region + InputController.MoveMouse FindOnScreen + MoveMouse Region.hover(pattern) Region.hover(pattern) parity-ready Hover implemented as find target + move.
Region.type(text) InputController.TypeText TypeText Region.type(text) Region.type_text(text) parity-ready Text input mapped to backend input protocol.
Region.readText() (*Region).ReadText(source,params) ReadText Region.readText(...) Region.read_text(...) parity-ready OCR read flow supported.
Region.findText(query) (*Region).FindText(source,query,params) FindText Region.findText(...) Region.find_text(...) parity-ready OCR search flow supported.
Region.collectWords() (*Finder).CollectWords(params), (*Region).CollectWords(source,params), (LiveRegion).CollectWords(params), (Screen).CollectWords(params), (Match).CollectWords(params) n/a n/a n/a partial API-level OCR word collection is available across image-backed and live surfaces; client wrappers land in the client parity plan.
Region.collectLines() (*Finder).CollectLines(params), (*Region).CollectLines(source,params), (LiveRegion).CollectLines(params), (Screen).CollectLines(params), (Match).CollectLines(params) n/a n/a n/a partial API-level OCR line collection is available across image-backed and live surfaces with stable OCRLine results; client wrappers land in the client parity plan.
Screen.start()/connect() Sikuli auto/connect constructors Channel + client bootstrap Screen()/Screen.start()/Screen.connect() Screen()/Screen.start()/Screen.connect() parity-ready Client constructor patterns standardized.
App.open(name,args) (*AppController).Open(...) OpenApp Sikuli.openApp(...) Sikuli.open_app(...) parity-ready App lifecycle support mapped.
App.focus(name) (*AppController).Focus(...) FocusApp Sikuli.focusApp(...) Sikuli.focus_app(...) parity-ready Foreground focus support mapped.
App.close(name) (*AppController).Close(...) CloseApp Sikuli.closeApp(...) Sikuli.close_app(...) parity-ready Close app support mapped.
App.isRunning(name) (*AppController).IsRunning(...) IsAppRunning Sikuli.isAppRunning(...) Sikuli.is_app_running(...) parity-ready Running-state query mapped.
App.window() (*AppController).GetWindow(...), (*AppController).FindWindows(...), (*AppController).ListWindows(...) GetWindow, FindWindows, ListWindows Sikuli.listWindows(...) Sikuli.list_windows(...) partial API-level window selection helpers now exist; client wrappers still land in the client parity plan and platform metadata remains partially portable.
App.focusedWindow() (*AppController).FocusedWindow(...) GetFocusedWindow n/a n/a partial Focused window lookup is first-class in the API surface, with platform-specific metadata variance documented.
App.allWindows() (*AppController).ListWindows(...) ListWindows Sikuli.listWindows(...) Sikuli.list_windows(...) partial List-all behavior is stable at the API level; client parity wrappers still land in the client parity plan.
Observe.onAppear (*ObserverController).ObserveAppear(...) ObserveAppear Sikuli.observeAppear(...) Sikuli.observe_appear(...) parity-ready Polling observer path implemented.
Observe.onVanish (*ObserverController).ObserveVanish(...) ObserveVanish Sikuli.observeVanish(...) Sikuli.observe_vanish(...) parity-ready Vanish observer path implemented.
Observe.onChange (*ObserverController).ObserveChange(...) ObserveChange Sikuli.observeChange(...) Sikuli.observe_change(...) parity-ready Change observer path implemented.
Region.keyDown()/keyUp() InputController.KeyDown/KeyUp KeyDown, KeyUp Sikuli.keyDown/keyUp(keys) Sikuli.key_down/key_up(keys) parity-ready Stateful key transitions are exposed as dedicated API and protocol operations.
Vision API features internal/cv engine selections Find + matcher_engine engine option engine option partial Multiple OpenCV engines available; full SikuliX vision extensions not 1:1.

Status Summary

Go API Interface Surface

Extracted from packages/api/pkg/sikuli/signatures.go:

ImageAPI

TargetPointProvider

PatternAPI

FinderAPI

RegionAPI

LiveRegionAPI

MatchAPI

ScreenAPI

RuntimeAPI

InputAPI

ObserveAPI

AppAPI

gRPC Surface

Extracted from packages/api/proto/sikuli/v1/sikuli.proto:

Maintenance