tldraw SDK 5.2

Hey, this is Steve from tldraw.
Today we landed version 5.2 of the tldraw SDK. We reworked our freehand ink algorithm for major performance improvements, sped up editing of large numbers of shapes, made it easier to work with frames, and more.
You can read the full release notes here, or check out the highlights below.
Improving our freehand ink algorithm
We rewrote tldraw's freehand ink algorithm. Draw and highlighter strokes now compute about 2x faster (up to 3x on long ones) and produce 57% smaller SVG path data, with no visible change to how they look. The speedup comes from doing less work per point: instead of storing a direction vector for each one, we derive it from neighboring points, and we compute radius and taper in the same pass that builds the outline.
Speeding up working with lots of shapes
We cut down the overhead of changing many shapes at once. When you resize, move, or edit a large selection, the editor now batches the shape updates, and the store collapses the resulting change diffs without allocating memory for each record instead of running on every store change.
Making frames easier to work with
You can capture shapes inside a frame with cmd+shift+F. Anything you have selected gets added inside a new frame. Plus you can now easily see which shapes will be captured by a frame. As you drag a new frame any shapes that will be contained within the frame will be highlighted.
And more!
- Simplified multi-click handling
- Added a
cmd+Qshortcut for copying styles between shapes - Let you open context menus with right click from any tool
- Added a double-tap-and-drag zoom gesture for touch devices
- Sped up editor load
- 37 other bug fixes
Thanks to all of the developers this month who opened issues or built something awesome with the tldraw SDK. Follow us on Twitter/X or join us on Discord for more discussion and to share your work!
If you’re new to tldraw, it’s easy to get started with npm create tldraw@latest or through one of our starter kits.