A small document
A paragraph with strong and emphasized text, a link and inline code.
First item
Second item
Ein Dokument ist ein unveränderlicher Baum. Knoten referenzieren ihre Kinder per ID; eine Änderung tief im Baum kostet ein paar Einträge statt einer Kopie aller Vorfahren.
Jeder Knoten hat eine stabile NodeId und einen Typ aus dem Schema. Elementknoten listen ihre Kinder als IDs; Textläufe tragen Text und Marks.
Bearbeite das Dokument und beobachte den Baum: Tippen ändert einen Textlauf, Formatieren teilt Läufe, Enter fügt einen Absatz hinzu.
A paragraph with strong and emphasized text, a link and inline code.
First item
Second item
Document.build prüft fünf Stufen der Reihe nach: Identität, Referenzen, Zyklen, Erreichbarkeit und Schema. Es stoppt bei der ersten fehlerhaften Stufe, damit eine hängende Referenz nicht in Folgefehlern untergeht.
Insert, Remove, Move, Replace, SpliceText, SplitText und MergeText. Jede liefert neues Dokument, ChangeSet und PositionMapping gemeinsam, damit sie nie auseinanderlaufen. Bei einem Fehler bleibt das Ausgangsdokument unverändert.
Eine PositionMapping trägt einen Punkt über eine Änderung und sagt, ob er erhalten oder verdrängt wurde. Ein Upload-Lesezeichen, dessen Text verschwand, gilt als verdrängt und wird nie stillschweigend woandershin verschoben.