core
idraw
core | idraw | |
---|---|---|
1 | 2 | |
419 | 909 | |
- | 2.9% | |
9.2 | 9.0 | |
over 2 years ago | 14 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
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.
core
-
Tldraw – a tiny little drawing app
Hey, author here! Glad folks are enjoying this.
A few notes:
- I post a _lot_ about tldraw on Twitter. If you're curious about how this came together, or want to follow along as we ship new features, check out my timeline (https://twitter.com/steveruizok).
- The whole tldraw project is MIT licensed and open source (https://github.com/tldraw). And it's still in development! If you'd like to contribute, join the Discord channel (https://discord.gg/SBBEVCA4PG) or drop by the repo (https://github.com/tldraw/tldraw).
- The multiplayer is using a pre-release version of Liveblocks (https://liveblocks.io/)—and honestly isn't using it in a very clever way—and so can have some desync issues. Consider this part of the app an early beta.
- We also ship a Visual Studio Code extension that lets you use tldraw inside of VS Code! (https://marketplace.visualstudio.com/items?itemName=tldraw-o...)
A little more about the project itself:
The tldraw project has a few different layers.
At the bottom, there is a renderer named @tldraw/core (https://github.com/tldraw/core) that is essentially a "put React components on a canvas UI" engine. You give it a data model along with a set of utilities to interpret that data model. Simple but very fast, very flexible, and packed with helpers for building these kinds of apps. It's already being used for some pretty ambitious projects apart from tldraw itself.
The main library, @tldraw/tldraw (https://github.com/tldraw/core), exports the whole tldraw "app" as a React component named . This component can be embedded in any React project. It can be controlled either by props or by its own API (ie `app.selectAll().duplicate()`).
The website is a very thin Next.js app that embeds the component.
There are also a few other libraries: @tldraw/vec for the vector math and @tldraw/intersect for intersections. If you like to work on these kinds of projects, definitely bookmark those libraries! They contain a lot of useful code.
As for its development, I've taken off a few months between jobs to work on this full time. Until now, the site has been accessible only to my Github sponsors, but it's now free and open to everyone. If If you'd like to support the project's continued development, you can sponsor me here: https://github.com/sponsors/steveruizok.
I'll answer questions here but if you want to contact me directly, my DMs are open @steveruizok.
idraw
What are some alternatives?
react-zoom-pan-pinch - 🖼 React library to support easy zoom, pan, pinch on various html dom elements like <img> and <div>
paint-board - 🎨 A powerful multi-end drawing board that brings together a lot of creative brushes to experience a whole new range of drawing effects!
react-diagrams - a super simple, no-nonsense diagramming library written in react that just works
v-perfect-signature - Pressure-sensitive signature drawing for Vue 2 and 3
tldraw - SDK for creating whiteboards and canvas experiences on the web.
canvas - Draw on an HTML 2D canvas in a web browser from a server program using WebSockets.
liveblocks - Liveblocks is a platform to ship collaborative features like comments, notifications, text editors in minutes instead of months.
signature_pad - HTML5 canvas based smooth signature drawing
perfect-freehand - Draw perfect pressure-sensitive freehand lines.
PixaPencil - [may be abandoned or transition to a new developer] A free and open source pixel art editor for Android. 🚀Get on F-Droid/GitHub!🚀
excalidraw - Virtual whiteboard for sketching hand-drawn like diagrams
react-paint - Paint web app build with react and canvas