Identifying the changed nodes for a given transaction

You can find the ranges changed in a transaction by inspecting the ranges in the step maps, but you have to be careful to map them forward through subsequent steps if the transaction makes multiple steps, to get positions in the final document.