That needs a fair bit of thinking. For starters, there are some parts that are inherent to a caret, and other parts that mostly make sense on a user level.
Autocomplete: One per user
There is also the problem of "one caret inserts something, all other carets need to be moved".
Maybe I'll introduce the concept of a "sub-offset" later down the road, to handle cases like "two users placed a caret in the same position"?
That needs a fair bit of thinking. For starters, there are some parts that are inherent to a caret, and other parts that mostly make sense on a user level.
There is also the problem of "one caret inserts something, all other carets need to be moved". Maybe I'll introduce the concept of a "sub-offset" later down the road, to handle cases like "two users placed a caret in the same position"?