cq_gears
yjs
Our great sponsors
cq_gears | yjs | |
---|---|---|
3 | 42 | |
45 | 10,219 | |
- | 5.3% | |
0.8 | 7.8 | |
5 months ago | 5 days ago | |
Python | JavaScript | |
Apache License 2.0 | MIT |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cq_gears
-
Morphing crossed helical gears
My generator is here: https://github.com/meadiode/cq_gears It's built on top of 3d-CAD modelling library called CadQuery and as I mentioned earlier it's not specifically intended to be used with Blender, more like for general CAD needs.
-
CadQuery –- A Python parametric CAD scripting framework based on OCCT
One thing that kept me using OpenSCAD was the section of additional modules for it, including a decent involute gear creator. For those of you diving into CadQuery, here’s the equivalent: https://github.com/meadiode/cq_gears
yjs
-
Hindsight is a free and open-source retrospective board
No back-end. Data is shared via WebRTC directly between connected browsers. I'm using Yjs to help me with that.
- Show HN: Hindsight is a free and open-source retrospective board
-
Discussion Thread
also there is this Javascript library that implements Conflict Resistant Data Types
- Show HN: Pg_CRDT – an experimental CRDT extension for Postgres
-
CRDTs: A Beginner's overview for building a collaborative app
There are a lot of implementations of CRDTs out there. In JavaScript, for instance, we have Y.js (https://github.com/yjs/yjs) and automerge (https://github.com/automerge/automerge). There’s also a Y.js demo (https://demos.yjs.dev/prosemirror/prosemirror.html) that allows you to play around with them and have your own collaborative app running in just a few seconds. All messages are exchange via webRTC and manages the state via CRDTs. This can be a great sandbox to understand how CRDTs work and see.
-
CRDTs make multiplayer text editing part of Zed's DNA
Yjs is being quite heavily used in the industry[1], and being researched for even more companies. There are also demos showing how to integrate it with an existing rich text editors[2]. If you have some ideas about the missing parts, you could also open topic on discuss.yjs.dev - the documentation page (https://docs.yjs.dev) has tons of useful links.
Re. other purpose projects - Yjs/Yrs main target are sequential data structures (text, arrays), but it also has support for maps and xml-like elements. In general you can build most data structures with it. I agree that it would be nice to have some other applications in demos though.
-
Evan Wallace CRDT Algorithms
Anyone unsure of what a CRDT is, this is the perfect intro: https://www.inkandswitch.com/peritext/
The two most widely used CRDT implementations (combining JSON like general purpose types and rich text editing types) are:
- Automerge https://github.com/automerge/automerge
- Maintaining Referential Integrity During Insertions And Deletions
-
Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
I've always been curious about real-time multiplayer user interfaces.
When I found out about CRDTs and Yjs[1] I thought they could serve as a solid base for a project like that.
So I built this pretty simple desktop-like UI (heavily inspired by lifeat.io) and used Yjs to replicate the whole UI state among multiple peers, creating the experience of a unique interface.
Try online: https://yboard.lol
-
Show: A multiplayer app to discuss and solve Leetcode questions with your friends.
[4]: https://github.com/yjs/yjs
What are some alternatives?
automerge - A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
automerge-rs - Rust implementation of automerge
liveblocks - The all-in-one toolkit to build collaborative products like Figma, Notion, and more.
crdt-woot - Implementation of collaborative editing algorithm CRDT WOOT.
logseq - A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base. Use it to organize your todo list, to write your journals, or to record your unique life.
cadquery - A python parametric CAD scripting framework based on OCCT
MobX - Simple, scalable state management.
pacman-backup - :floppy_disk: Pacman Backup tool for off-the-grid updates via portable USB sticks or (mesh) LAN networks.
Visual Studio Code - Visual Studio Code
milkdown - 🍼 Plugin driven WYSIWYG markdown editor framework.
cardi - A full-featured, static-generated PWA for notes stored in privately owned DynamoDB tables
awesome-react-state-management - ⚛️ ・React state management tools and libraries