Phase 4 closes the main direct-action parity gap on top of the live runtime without changing the existing sikuli-go architecture.
The live API now represents the SikuliX-style direct action vocabulary across:
LiveRegionMatchScreenInputControllerSupported actions:
hoverclickrightClickdoubleClickmouseDownmouseUptypeTextpastedragDropkeyDownkeyUpThe protocol only adds primitives where stateful or platform-sensitive behavior needs durable server-side semantics.
Primitive RPCs:
MouseDownMouseUpPasteTextKeyDownKeyUpScrollWheelComposed helpers in pkg/sikuli:
Hover -> MoveMouseRightClick -> Click with right-button input optionsDoubleClick -> two Click callsDragDrop -> MoveMouse -> MouseDown -> MoveMouse -> MouseUpThis keeps the runtime protocol small while still exposing the full direct-action vocabulary at the public API layer.
Match direct actions now route through the live runtime instead of the local InputController.
That change is important for parity:
Match keeps using its resolved match target pointErrRuntimeUnavailable for live-only actionsNo backend architecture was changed.
Current platform notes:
mouseDown/mouseUp are implemented via cliclickkeyDown/keyUp currently support modifier-key holdsxdotoolThe SikuliX direct-action vocabulary is now represented at the API level without changing the current separation between: