Effiziente kollaborative Textbearbeitung: Eine CRDT-Implementierung

2025-08-20

Dieser Artikel beschreibt einen Algorithmus zur kollaborativen Textbearbeitung, der auf CRDTs basiert und ähnlichen Ansätzen in beliebten Bibliotheken wie Yjs und Automerge folgt. Jedes Zeichen erhält eine eindeutige Kennung (Site-ID und Uhr), und ein baumbasierter Index mit Zählern sortiert die Zeichen. Das Löschen fügt die Kennung des Zeichens zu einer Menge gelöschter Zeichen hinzu (Tombstones). Die Effizienz wird durch Optimierungen wie das Zusammenführen aufeinanderfolgender Einfügungen, die zusammenhängende Speicherung von Blöcken und die Verwendung einer rangbasierten Darstellung für die Menge gelöschter Zeichen gesteigert. Dies gewährleistet eine effiziente Verarbeitung großer Textblöcke und gleichzeitiger Bearbeitungen.

Mehr lesen
Entwicklung

Atemberaubende WebGL-Wassersimulation: Raytracing und Heightfield

2025-05-10

Evan Wallaces WebGL-Wassersimulationsdemo ist atemberaubend. Sie verwendet Raytracing für realistische Reflexionen und Brechungen, kombiniert mit analytischer Ambient Occlusion und einer Heightfield-Wassersimulation, wodurch eine realistische, glitzernde Wasseroberfläche entsteht. Benutzer können interaktiv Wellen erzeugen, die Kamera drehen und sogar Beleuchtung und Schwerkraft steuern. Diese Demo erfordert eine leistungsstarke Grafikkarte und aktuelle Treiber, aber die visuellen Ergebnisse sind beeindruckend und zeigen die Fähigkeiten von WebGL.

Mehr lesen
Entwicklung