Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

try using Yjs instead of automerge #217

Closed
2 of 3 tasks
michaelpalumbo opened this issue Mar 28, 2023 · 1 comment
Closed
2 of 3 tasks

try using Yjs instead of automerge #217

michaelpalumbo opened this issue Mar 28, 2023 · 1 comment
Assignees

Comments

@michaelpalumbo
Copy link
Collaborator

michaelpalumbo commented Mar 28, 2023

problem: automerge 2.0 uses web assembly, and is not playing nicely with the webxr stuff (see discussion in #216)

Yjs is another CRDT with a larger community than automerge. Plus is has its own websocket and webrtc implementations and indexedDB

  • figure out how to set js Objs to yjs instance
  • replace automerge code with yjs in Patch.js

came across a snag. unsure how to update dynamic properties using Yjs. this is necessary for using Yjs with some of the methods in Patch.js: patch.add(), patch.remove(), patch.update(). see this issue I posted for (hopefully some answer)

  • update: see message below, will next try SyncedStore in place of yjs
@michaelpalumbo
Copy link
Collaborator Author

update: Yjs might be too low level for mischmasch's needs. the main issue i've come across is needing to create separate map.set() operations for each nested object of the mischmasch scene, which seems clunky... I've come across https://syncedstore.org/docs/ which is built on yjs and simplifies its use (while leaving direct yjs operations available if we want to use any).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant