Native desktop control · local computer vision

Saccade

A keyboard-driven pointer system for macOS and Windows that combines captured pixels, accessibility data, and a compact local vision model to find and act on useful controls without uploading the screen.

macOS + Windows C++20 / C11 ABI offline operation

One action surface, four ways to find it.

Detection is a source, not the product boundary. Every source becomes the same immutable target scene, so hints, safe points, actions, and stale-work rejection behave consistently.

Pixel

The local model finds visible controls directly from captured pixels.

Semantic

Native accessibility providers expose controls the operating system already understands.

Fused

Frame-matched visual and semantic targets merge into one deduplicated scene.

Grid

A deterministic fallback reaches any point when no detector owns the right answer.

More than a faster click.

Single, Dual, Multi, and Path selection feed one native action planner. Physical input, focus changes, permission loss, and stale scenes can cancel the plan before it reaches the operating system.

01

Move and hover

Target a safe point or place the pointer directly.

02

Click and repeat

Left, right, middle, double, modifiers, Multi, and Path.

03

Hold and release

Physical action state guarantees bounded cleanup.

04

Drag and drop

Two targets define source and destination.

05

Scroll

Vertical or horizontal, stepped or continuous.

06

Select text

Two safe points become a native range selection.

07

Navigate windows

Geometry, overlap, z-order, and visible-window hints.

08

Type

Bounded Unicode text through the validated input path.

Pixels stay on the accelerator until targets are compact.

ScreenCaptureKit or Windows Graphics Capture supplies native surfaces. Owned Metal and D3D12 kernels prepare the tensor and reduce model output before a bounded target packet crosses into CPU-visible scene state.

No screenshot history. No cloud inference. No per-frame heap protocol. Superseded work is replaced rather than queued behind the present.

Seeing and responding do not share a deadline.

Neural work is asynchronous and bounded by the selected screen scope. Interaction and overlay state continue independently, so a model pass cannot stall key reduction or pointer feedback.

30 Hzfull-scope neural target

Capture, preprocessing, inference, postprocessing, and scene publication run on bounded newest-frame work.

120 Hzinteraction target

Key reduction, prefix resolution, active-state updates, and display submission stay responsive between model results.

The fast path is useful because its ownership is explicit.

Saccade is C++20 behind versioned C11 headers. Capture, inference, accessibility, overlay, input, and agent services keep separate provider contracts and bounded handoff points.

Thread-owned state

Static storage, fixed buffers, newest-frame mailboxes, and rare cold-path coordination keep hot loops away from shared ownership.

Generation-safe actions

Frame, focus, transform, topology, permission, and session epochs travel with targets and are checked again before input.

Local agent surface

Structured target generations and bounded action batches reuse the same validation path without putting screenshots into the protocol.