Known limits
What ttysvg does not do, stated plainly.
Redaction matches within one run of same styled text
A secret is masked when it sits in a single stretch of one color on one line. If a syntax highlighter splits it across colors, or it wraps to the next line, the pattern will not see it as one string.
Check the output before publishing rather than assuming a pattern caught everything.
A saved capture cannot be resized
ttysvg render can change every visual and timing setting except --cols and
--rows. A capture stores the terminal grid after wrapping, not the bytes that
produced it, so reflowing to a new width would need the recording to be made
again.
Character width is assumed, not measured
The output uses a generic monospace font stack and assumes each character is 0.6
times the font size wide. If text drifts to the right across a long line, pin it
with --advance or the advance tape directive.
Embedding a subset font would fix this properly and is the top item on the
roadmap. It also affects raster output more than browser SVG, because resvg
picks a specific font rather than honouring the whole stack.
Wide characters depend on the viewer's font
CJK, emoji and box drawing are placed using the terminal grid's own width tracking, but a font that disagrees will still look off by a cell.
Long recordings make large files
Heavy animation means many frames. trim-idle and speed are the levers, and
dropping the frame rate of the recorded program helps more than either.