Recursive AI
onediffDocs

onediff docs

Everything about OneDiff 1.0.0: getting started, the text core (diff algorithms, patches, three-way merge), document comparison (the compare model, alignment, grouping, change semantics, combine and chains), HTML, PDF and scan output, migrating from DiffPlex and WmlComparer, and the measured results with the rows that lose.

Document comparison

The compare modelThis note describes the contracts of RecursiveAI.OneDiff.Documents: what a compared document is, how a comparison is built from five stages, and how every comparison is proved complete. Sources, alignment, in-pair diff, grouping, writers and models plug in through the types…AlignmentWhat Stages.Align does, in the order it does it, so that a different implementation (or a person correcting one) can follow the same rules. The result is an Alignment of Match, Move, Split and Merge links (see compare-model.md); verification checks it afterwards, so these…In-pair diff and groupingHow the edits inside a pair of aligned blocks are found, and how they become the changes a reader sees. Everything here is deterministic: the same inputs and settings give the same changes in the same order.Change semanticsWhat a change is about, and which changes belong together. Everything here is deterministic and works without a model. Nothing here alters an edit: cascades and renames are display groups over changes that stay in the list, types and values are labels on changes, and Verify…Combine and version chainsNormative description of Combination, ComparisonChain and ChangeReport in RecursiveAI.OneDiff.Documents (namespace OneDiff.Documents.Combine). The compare model, anchors, alignment and grouping they build on are in compare-model.md, alignment.md and grouping.md.HTML output and RedlineThis note describes what RecursiveAI.OneDiff.Documents writes as HTML, how a page maps back to the comparison it came from, and how adapter packages plug their inputs and output forms into Redline.Create and Comparison.SaveAs.