Hi HN. I've been working on this since 2018. Revise.js is a set of building blocks for contenteditable: a <content-area> web component that gives you a textarea-like .value for any contenteditable element, an Edit data structure with compose/transform/invert for OT inspired by the Xi editor, and a Crank.js integration for declarative editable components. At 32.8 KB gzipped (including the rendering framework), it's 2–4x smaller than ProseMirror, Slate, or CodeMirror. The trade-off is that those ship complete editors; Revise is foundations you build on. All the demos on the homepage are live and editable:
https://revise.js.org