Skip to content

Latest commit

 

History

History
36 lines (30 loc) · 757 Bytes

implementation-details.md

File metadata and controls

36 lines (30 loc) · 757 Bytes

Live editing

Possible ideas:

  • Google OT
  • No live editing, git branch & merge implementations
  • Transmit and sync keystrokes, kinda like p2p netplay

Google OT

pros:

  • Seamless live editing
  • Best solution cons:
  • Sounds hard to understand and implement lol

Materials: https://github.com/ekzhang/rustpad https://github.com/Operational-Transformation/ot.js

Git branch & merge

pros:

  • Easiest implementation cons:
  • No live editing
  • Manual merging

Materials: https://github.com/git/git/blob/master/Documentation/technical/trivial-merge.txt

Transmit and sync keystrokes, kinda like p2p netplay

pros:

  • Idk sounds fun to implement lol
  • Already implemented by other people cons:
  • Rollback?

Materials: https://github.com/rameshvarun/netplayjs