This is a great article. It reminds me a little of the "Delta" structure used by QuillJS. The document itself is represented as an array of objects, but updates are represented atomically as new objects of type retain, insert, or delete. I don't think it offers the same performance advantages as a true piece table, but it does provide some flexibility about how you build the document and respond to changes.
A software engineer living in Edinburgh, Scotland. I'm passionate about programming, learning new things (and sharing what I learn), digital art, and good sci-fi/fantasy books! 💻📚🎨✨
This is a great article. It reminds me a little of the "Delta" structure used by QuillJS. The document itself is represented as an array of objects, but updates are represented atomically as new objects of type
retain
,insert
, ordelete
. I don't think it offers the same performance advantages as a true piece table, but it does provide some flexibility about how you build the document and respond to changes.Thanks Isaac :)