Record once, render many
Replay one recording at another size, rate or theme, without running the app again.
What it does
The session is kept as an asciicast v2 cast. prec render replays a cast at another size, rate or theme without running the app again, and the same cast always gives the same bytes.
The encoder's threads are fixed, because its output follows its thread count, so a master is byte-identical on any machine. prec reads the MP4 back and checks its frame count and size before the manifest claims them.
-
Same cast, same bytes
In the benchmark, two 720p 30 fps renders of one cast wrote the same master, sha256
4fab0be36a0ac519…. -
Many themes from one run
--themesrenders one recording in several themes at once, light and dark from the same take. -
The release it belongs to
--revbuilds and renders a tag or commit, read from git without touching your index or tree. -
Replays side by side
Recording one shot is exclusive in a tree; replays of it at different sizes, rates or themes run at once.
Measured
How to use it
-
Record only, into a cast.
prec record myapp tour -
Replay the cast at another size and rate.
prec render tmp/renders/myapp/clip/myapp-clip-tour-1920x1080-60fps.cast --size 720p --fps 30 -
Render a tag, light and dark.
prec clip myapp tour --rev v1.4.0 --themes "Catppuccin Latte,Catppuccin Mocha"