Release Notes – February 10th 2023

Velocity-based arrow binding, fancy text editing, and a brand new X Box.

February 10, 2023
Release Notes – February 10th 2023

Here’s your weekly update from the team at tldraw. We’ve made some big changes to arrows, improved our text editing, and of course have fixed plenty of bugs. You can try the latest version at beta.tldraw.com.

Have you tried out our multiplayer yet? Give it a try here!

Please let us know what you think about these changes! If you have any feedback, join our Discord or make an issue on the public repo.

What’s new

This week we launched some velocity-based precision arrow snapping. To bind an arrow to a shape, drag one of its handle over the shape. If you’re dragging the handle quickly, the arrow will bind to the shape's center. Drag slowly to make the arrow bind “precisely” to your cursor location; or hold the Alt or Option key to make the arrow bind “exactly” to the point under your cursor.

To make this feature work, we now keep track of how quickly your cursor is moving. This pointer velocity information has let us create and improve several other interactions, too. Keep an eye out for more below!

We’ve also added new hint markers when an arrow is binding to a shape: a dot for arrows that are bound to the center and a cross for arrows that are bound precisely.

Would you believe that over 50% of the code in tldraw is related to arrows? Not true but it sure feels like it.

We’ve also reworked our text editing interactions. When editing a text shape or a shape with a label, you can now click into another text field to start editing it immediately.

And you can now change a shape’s style without de-selecting its text or label.

We’ve also added (well, restored and improved) the shift-click feature for the line tool.

Finally, we’ve added the X Box shape —very handy for sketching wireframes. You can choose it from the tool bar (it’s in the “oops, too many shapes” dropdown).

Improvements

Now that we have velocity in the app, we’ve brought over the inertial glide from our hand tool and brought it to “spacebar” and “middle-mouse button” panning. To try it out: hold the spacebar, then click and drag on the canvas.

We’ve used our new velocity feature to turn off snapping while you’re moving a shape quickly. This helps speed up dragging performance, especially when dragging lots of shapes at once.

We’ve also used velocity to improve reparenting shapes into frames. Dragging a shape slowly over a frame will now correctly reparent the shape to the frame.

We made our arrowheads much more consistent. The “dot” arrowhead is also styled to match the rest of our arrowheads.

Finally, our error screen is much more user-friendly! (Not that you should ever see it.)

We’ve also:

  • Improved the Edit Pages menu. Creating a page or clicking its name will now select its contents automatically.
  • Added the [g] keyboard shortcut for choosing the last selected geometric shape tool (e.g. rectangle, arrow, star).
  • Mobile: We now hide the Styles button when using there are no styles to edit.

Fixes

  • Fixed arrows pointing to different parts of a shape depending on whether they're curved or straight
  • Fixed a bug that could reorder shapes when ungrouping.
  • Fixed a bug where right-clicking a group would only select a single shape.
  • Fixed an error where the camera properties could be set to invalid values.
  • Fixed an error that could occur when copying lots of shapes to the clipboard.
  • Fixed camera animation when clicking on the minimap.
  • Fixed a bug that could appear when dragging a shape's hyperlink button.
  • Fixed a bug that let you paste an invalid URL.
  • Mobile: Fixed a bug that caused some shapes to be missing from the tool panel.
  • iOS: Fixed a bug where text fields would sometimes not scroll into view when edited.
  • iOS: Fixed a bug that caused the camera to reset when refreshing on Safari iOS.
  • Safari: Fixed vertical text alignment in exported SVGs.
  • Firefox: Fixed a bug where an empty context menu sometimes appear.

See you next week!

Subscribe to our Newsletter

Team news, product updates and deep dives from the team.

Join 1,000+ subscribers