This release improves the rendering quality of certain glyph sets and adds the ability to select which frames to render:
- improved box drawing glyphs (light/heavy lines, half-lines, corners, junctions) by using font metric-based strokes
- improved rendering of Powerline symbols in the default (swash) renderer
- fixed the kanagawa-light theme
- added the --select option for frame selection (see below)
Example of box drawing, Powerline, and emoji rendering in 1.9.0:
Frame selection
The new --select option allows choosing which part of a recording to render.
It supports both animated excerpts and discrete/slideshow-style selections:
agg --select 5..30 demo.cast clip.gif
agg --select 12.5 demo.cast frame.gif
agg --select marker:build..marker:test demo.cast build.gif
agg --select markers demo.cast markers.gif
A selector can be:
- .. (default), POS.., ..POS, or POS..POS for time ranges
- POS or POS,POS,... for discrete positions
- markers for all marker positions
POS can be a time (12.5, 1m20s, 1:20), a percentage (50%), a marker (marker:build, marker:3), or an event index (event:100). Selection is resolved on the adjusted output timeline, after idle-time limiting and speed adjustment.
Range selections use the normal animated GIF path: visual deduplication, timestamp normalization, and FPS capping. Discrete selections keep every resolved selected position and assign sequential output timestamps using --last-frame-duration.
Example of a "slideshow" GIF generated from demo.cast (from this repo) using the following command:
agg --font-size 20 --select 20%,40%,63%,94% --last-frame-duration 2 demo.cast demo-select.gif