Synthetic input, visible behavior

Meet your in-page bot.

A zero-runtime-dependency virtual pointer and semantic command scheduler. Watch every public command move, click, drag, type, scroll, queue, and abort inside this page.

Events are intentionally synthetic — isTrusted remains false.
Live scenarios

Every feature, on stage.

Each card is a real DOM interaction. Green means the command result and the observed browser-side effect both matched the contract.

01 · Pointer

Move, hover & click

Human curve movement, hover transitions and click sequence.

Idle
Hover
02 · Mouse

Double click

Two complete click rounds followed by a dblclick event.

Idle
03 · Pointer lifecycle

Drag & drop

Pointer down, held movement with buttons=1, then pointer up.

Idle
BOT
Drop
zone
04 · Keyboard

Type & key

Input, textarea, contenteditable and a Backspace key command.

Idle
05 · Viewport

Wheel, scroll & click

Wheel event, scrollIntoView and the combined clickIntoView.

Idle
06 · Scheduler

Batch, wait & FIFO queue

Batch commands and overlapping run calls stay strictly serial.

Idle
First
Second
Third
07 · Failure direction

Abort without false success

The active step and queued work return ABORTED; queued click never fires.

Idle
Bonus · Control surface

Cursor API

Cursor snapshot, visibility toggle and sugar methods.

Included
getCursor()
setCursorVisible()
sugar methods
Observable contract

Execution log

Step IDs, command names, timing, failures and scenario assertions appear here.

in-page-bot / demo.log