Tessera

Swipe pad

The swipe pad is a floating thumb-zone puck for working without a hardware keyboard: flick it to fire per-app macros, double-tap to dictate. It’s experimental and off by default — enable it in settings → experimental → swipe pad.

The puck

Gestures

Three discrete gestures:

Profiles

Radial petals come from profiles matched against the foreground process of the active pane (via tmux’s pane_current_command, or ps snapshots on plain ssh). Profiles are evaluated top to bottom; the first match wins.

Built-in profiles:

profile right left up
claude code 1↵ approve 2↵ deny 3↵ always
codex cli y esc p
fallback (always on)

The fallback matches everything and binds nothing — dictation still works.

Custom profiles get a process matcher (literal text or a regex: pattern) and can declare agent detection rules — blocking/idle prompt regexes, a menu-option regex, and response templates with {index} / {shortcut} placeholders — which also feed the agent center. A profile with invalid rules degrades to “status unavailable”.

Petal labels follow the agent-prompt roles — right = approve, left = deny, up = always, down = down; unbound petals are hidden.

The macro language

Macros are written in a small spec:

Dictation

Double-tap the puck to dictate into the terminal. Recognition happens on-device (SFSpeechRecognizer) — no audio leaves the iPad. It uses your device language, falling back to en-US when on-device recognition isn’t available for it, and requires microphone and speech-recognition permissions. While dictating, the puck morphs into a mic pill with a live waveform and an elapsed timer; tap to commit, ✕ to cancel.

Options (settings → experimental):