# Lossy `steno` data Each time a stroke is written, Plover2CAT will first parse the the number of backspaces and/or text string the Plover engine outputs. The text string element (third) in the `strokes` array will be modified. The resulting `strokes` list will contain a *lossy* representation of the steno and the text as the backspaces Plover emits are used, but not recorded explicitly. Take for example writing `pleasing`. ``` strokes = [ ["2001-01-01T01:23:45.678", "PHRES", "please"] ] ``` When `-G` is stroke, for the suffix `-ing`, Plover will emit one backspace (to remove the `e`), and the text string `ing`. The stroke representation will become: ``` strokes = [ ["2001-01-01T01:23:45.678", "PHRES", "pleas"], ["2001-01-01T01:24:56.789", "-G", "ing"] ] ``` One benefit of doing this is that the user can still search the steno for the stroke `PHRES` and find `pleasing`. If a `*` is stroked, it will erase the complete stroke. Imaging having written `-T KAT S-` for `The at is`. ``` strokes = [ ["2001-01-01T01:23:45.678", "-T", "The"], ["2001-01-01T01:23:46.789", "KAT", " cat"], ["2001-01-01T01:23:46.789", "S-", " is"] ] ``` If `*` is used, Plover will emit *three* backspaces (two spaces for `is` and one for the space at the front). Then `strokes` is updated back to: ``` strokes = [ ["2001-01-01T01:23:45.678", "-T", "The"], ["2001-01-01T01:23:46.789", "KAT", " cat"] ] ``` The tape will still record `-T KAT S- *` but the stroke data only has `-T KAT` Advantages for this method is that it keeps the transcript file size small without multiple strokes of `["timestamp", "*", ""]` cluttering the file. This works well with Plover theory where the `*` is used on its own as `undo`. In other theories where `*` may be used on its own as part of an outline, then `*` will be missing from the transcript data.