Namespace DocWright.Dom.Revisions
Classes
- Revision
One tracked change, as a handle a host can show in a review UI and then resolve.
A handle is a snapshot, in the same sense as DocumentRange: it captures where the revision was when GetRevisions(DomNode) ran. Resolving other revisions first can leave a handle describing content that is no longer in the document — accepting a deleted paragraph mark removes that paragraph — and Accept() and Reject() then report false rather than mutating something else.
- RevisionExtensions
Enumerating and resolving tracked changes over any subtree of the document model.
Revisions are stored by the reader and never applied at parse time — that is what makes the round trip lossless. Accepting or rejecting is an explicit caller action, and these methods are the only ones that perform it.
The resolution rules are the exact inverse of the projection
StyleResolverperforms for RevisionView: what accept-all leaves behind is whatFinalshows, and what reject-all leaves behind is whatOriginalshows. Those two must never drift apart.
- RevisionFilter
Selects a subset of a document's tracked changes for a bulk accept or reject. Every criterion left null matches everything, so a default filter selects all revisions.
Enums
- RevisionType
What a Revision describes. The two paragraph-mark kinds are separate from the content kinds because they are the only ones whose resolution changes the structure of the document rather than its content.