kaviri.dev

Playground

Change the script. Watch the camera.

This runs the real op set and the real camera model against a small app, in this tab. It does not make a file: there is no ffmpeg in a browser. It shows you the thing that is hard to picture from a JSON file, which is where the camera goes and how it gets there.

take.jsonl

The camera is derived from the ops, never described by them. A type leans further left than a click, because a line of text grows away to the right as it is written and the beginning of it is the part you want to keep.


Things worth trying

  • Delete the wait before stop_recording. The script is refused before it runs, because that last zoom would be cut off.
  • Put "typewriter_ms": 120 on a type and watch the camera keep up rather than chase.
  • Point a click at #nope. You get the line number and the selector, which is what a CI log needs to be useful.
  • Remove start_recording entirely.

What the binary adds

An MP4. A real Chromium at a device scale factor of 2, so text is sharp rather than upscaled. The backdrop and the rounded plate. A cursor that is drawn rather than captured. And any URL at all, rather than the one app bundled here, because it drives its own browser instead of borrowing yours.

cargo install --git https://github.com/thisisisheanesu/kaviri
kaviri record --script take.jsonl --out take.mp4