You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`get-recording [session]`| Print the session's recording (cast) to stdout. |
288
+
| Command | Description |
289
+
| --- | --- |
290
+
|`record start OUT [--format apng\|gif\|cast] [--fps N] [--speed N] [--idle-time-limit SEC]`| Start recording. Format is inferred from `.png`/`.apng`, `.gif`, or `.cast`. |
291
+
|`record stop`| Stop recording and finish the output file. |
292
+
|`get-recording [session]`| Print the separate, always-on session cast to stdout. |
288
293
289
294
```sh
290
-
tui-test get-recording > demo.cast # capture the current session's recording
291
-
asciinema play demo.cast # replay it
292
-
agg demo.cast demo.gif # render a GIF
295
+
tui-test open
296
+
tui-test record start demo.png # lossless animated PNG
297
+
tui-test submit "echo hello"
298
+
tui-test waitcommand
299
+
tui-test record stop
293
300
```
294
301
302
+
APNG keeps full 24/32-bit color. APNG and GIF both render at 2x pixel density
303
+
for sharper text; GIF additionally uses palette quantization for viewers that
304
+
cannot display APNG. Defaults are 30 fps, 1x speed, a 5-second idle-gap limit,
305
+
and a 3-second final hold. If a process exits before `record stop`, APNG/GIF
306
+
capture remains beside the target as `OUT.tui-test.cast`.
307
+
308
+
Raster export uses the selected JetBrains Mono bundle tier, when enabled, plus
309
+
installed system fonts for Unicode fallbacks. The CLI and language bindings
310
+
enable the styled tier; `recording-raster` alone stays system-font-only. Set
311
+
`TUI_TEST_RECORDING_FONT_FAMILIES=Family One,Family Two` to prioritize specific
312
+
installed families. Export fails with the missing code points instead of
313
+
silently substituting unsupported glyphs.
314
+
315
+
<palign="center">
316
+
<imgalt="animated APNG terminal recording produced by tui-test"src="static/recording.png"width="400">
317
+
</p>
318
+
319
+
Every session also records automatically from open in `.cast` format. Export it
320
+
with `tui-test get-recording > demo.cast` for the wider asciicast ecosystem.
321
+
This interoperability is implemented directly from the public asciicast v2
322
+
format and does not add or depend on GPL tooling.
323
+
295
324
### Live monitor
296
325
297
326
Watch a live session in a second terminal while an agent drives it. Both share
@@ -98,6 +98,16 @@ Cancelling a promise does not cancel the underlying Rust operation. Operations f
98
98
99
99
Closing a session removes it from `sessions()`, but keeps its recording. `getRecording()` can read that recording for the rest of the process. The 1024 most recently closed sessions have their recordings retained.
@@ -102,6 +102,16 @@ Cancelling a task does not cancel the underlying Rust operation. Operations for
102
102
103
103
Closing a session removes it from `sessions()`, but keeps its recording. `get_recording()` can read that recording for the rest of the process. The 1024 most recently closed sessions have their recordings retained.
0 commit comments