> Can you give us more information about the "CC/AT engine"?

It's my own development. Viewed at high abstraction it does the things
in the same way I suppose Google Wave / Docs and Etherpad do it. The
client sends the server the sequence number of its idea of the data
tree alongside with a change command. When the server receives two
changes in say the same paragraph for the same sequence timestamp, it
transforms one change by the other. So when you inserted text at
position column 5 but someone else inserted a letter at column 0, it
knows that this translates to inserting your text in column 6 instead.
Similar mechanics with removing text.

The client keeps its own Undo/Redo chain, when commands from the
server arrives, it applies these as transformations to the chain, so
you always undo/redo *YOUR* last changes, ignoring what others did.

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to