Skip to content

Horusiath/y-crdt

 
 

Repository files navigation

Y CRDT Ports

Join the chat at https://gitter.im/Yjs/y-crdt

Yjs ports to other programming languages (WIP).

Yrs "wires" is a Rust port of the Yjs framework. The Ywasm project generates a wasm library based on this package.

Status

⚠️ Highly experimental. Feedback and involvement is welcome!

  • Partially implemented the binary encoding protocol. Still need to port the rest of lib0/encoding.
  • Only implements the Text type.
  • No conflict resolution yet.

I'm currently mainly experimenting with designing a convenient API for the Yrs CRDT. I want to make it work very similar to Yjs, but contrary to Yjs you should always know what you get back (proper types, no duck typing).

Project Organization

The Yrs project is organized in a monorepo of components that work with each other.

  • ./yrs Contains the CRDT implementation (including shared types) that is the baseline for the other projects.
  • ./ywasm Maintains the wasm bindings and the npm module.

About

Rust port of Yjs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 75.4%
  • C++ 16.7%
  • C 4.4%
  • JavaScript 3.4%
  • CMake 0.1%