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

Our plan to make Theatre.js Local-First #492

Open
AriaMinaei opened this issue Jul 1, 2024 · 1 comment
Open

Our plan to make Theatre.js Local-First #492

AriaMinaei opened this issue Jul 1, 2024 · 1 comment
Labels

Comments

@AriaMinaei
Copy link
Member

Theatre.js 0.8 (upcoming) supports real-time collaboration similar to GDocs and Figma.

We intend to make Theatre.js local-first.

Local-first removes the lock-in of a central server (although Theatre's server is also open-source). It also simplifies our backend and reduces maintenance costs.

But since local-first sync algorithms (CRDTs) haven't yet matured enough for creative apps, we decided to start with a server-ful approach and gradually transition to local-first.

Our server-ful implementation is called Saaz. Saaz' algorithm is a simple tree of registers, which allows us to gradually bring in domain-specific CRDT implementations for specific features (such as text, brush strokes, non-destructive bitmap editing, etc). As each of thse CRDTs mature, we can swap them in, and at some point, remove the server.

@AriaMinaei AriaMinaei added the Note label Jul 1, 2024
@Tarblux
Copy link

Tarblux commented Jul 1, 2024

Will the snapshot editor be made available for vanilla three.js in 0.8 ?

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

No branches or pull requests

2 participants