Tldraw/packages/editor/CHANGELOG.md

74 KiB

v2.0.0-alpha.15 (Fri Oct 06 2023)

Release Notes

frame label fix (#2016)

  • Add a brief release note for your PR here.

[improvement] prevent editing in readonly (#1990)

  • Prevent editing text shapes in readonly mode.

[fix] Hovered indicators shown when coarse pointer (#1985)

  • Hide hovered indicators on mobile / coarse pointer devices.

[fix] pinch events (#1979)

  • Improve pinch gesture events.

Fix text-wrapping on Safari (#1980)

  • Fix text wrapping differently on Safari and Chrome/Firefox

Before/After

Remove focus management (#1953)

  • [editor] Make autofocus default, remove automatic blur / focus events.

Allow right clicking selection backgrounds (#1968)

  • Improved right click behaviour.

[improvement] improve arrows (for real) (#1957)

  • Improve arrows.

[feature] Include sources in TLExternalContent (#1925)

  • [editor / tldraw] add sources to TLExternalContent

Fix shape drag perf (#1932)

  • Fixes a perf regression for dragging shapes around

Use smarter rounding for shape container div width/height (#1930)

  • Improves the precision of the shape dimensions rounding logic

[fix] Moving group items inside of a frame (dropping) (#1886)

  • Fix bug: ungroup when moving a shape in a group in a frame.

Fix line wobble (#1915)

  • Fixes an issue where lines would wobble as you dragged the handles around

[wip] Viewport focus of editing shapes (#1873)

Removed a feature to reset the viewport back to a shape that is being edited.

(Before) Don't be held back by the past Kapture 2023-09-15 at 10 57 29

(After) You are free to find new avenues of exploration Kapture 2023-09-15 at 11 02 36

Migrate snapshot (#1843)

  • [editor] add Store.migrateSnapshot

[fix] zero width / height bounds (#1840)

  • Fix bug with straight lines / arrows

Fix paste transform (#1859)

  • Fixes a bug affecting the position of pasted content inside frames.

Fix indicator transform miscalculation (#1852)

  • Fixes indicator transform miscalculation on android and windows

[fix] awful rendering issue (#1842)

  • [fix] iframe rendering issue

[fix] snapping bug (#1819)

  • [fix] crash that could occur when snapping

[fix] editing video shapes (#1821)

  • Fix bug with editing video shapes.

[fix] bug with eventemitter3 default export (#1818)

  • [@tldraw/editor] updates eventemitter3 import to fix issue with Astro builds.

Custom rendering margin / don't cull selected shapes (#1788)

  • [editor] add Editor.renderingBoundsMargin

Camera APIs (#1786)

  • (editor) improve camera commands

environment manager (#1784)

  • [editor] Move environment flags to environment manager

Editor commands API / effects (#1778)

  • tbd

[fix] shape indicator showing when locked shapes are hovered (#1771)

  • locked shapes do not show an indicator when hovered

remove selectionPageCenter (#1766)

  • [dev] Removes Editor.selectionPageCenter

rename selection page bounds (#1763)

  • [editor] rename selectedPageBounds to selectionPageBounds

ShapeUtil.getGeometry, selection rewrite (#1751)

  • [editor] Remove ShapeUtil.getBounds, ShapeUtil.getOutline, ShapeUtil.hitTestPoint, ShapeUtil.hitTestLineSegment
  • [editor] Add ShapeUtil.getGeometry
  • [editor] Add Editor.getShapeGeometry

[fix] arrow snapping bug (#1756)

  • [fix] arrow snapping

[fix] dark mode (#1754)

  • [fix] dark mode colors not updating

Remove helpers / extraneous API methods. (#1745)

  • [tldraw] rename useReadonly to useReadOnly
  • [editor] remove Editor.isDarkMode
  • [editor] remove Editor.isChangingStyle
  • [editor] remove Editor.isCoarsePointer
  • [editor] remove Editor.isDarkMode
  • [editor] remove Editor.isFocused
  • [editor] remove Editor.isGridMode
  • [editor] remove Editor.isPenMode
  • [editor] remove Editor.isReadOnly
  • [editor] remove Editor.isSnapMode
  • [editor] remove Editor.isToolLocked
  • [editor] remove Editor.locale
  • [editor] rename Editor.pageState to Editor.currentPageState
  • [editor] add Editor.pageStates
  • [editor] add Editor.setErasingIds
  • [editor] add Editor.setEditingId
  • [editor] add several new component overrides

tldraw zero - package shuffle (#1710)

  • [@tldraw/editor] lots, wip
  • [@tldraw/ui] gone, merged to tldraw/tldraw
  • [@tldraw/polyfills] gone, merged to tldraw/editor
  • [@tldraw/primitives] gone, merged to tldraw/editor / tldraw/tldraw
  • [@tldraw/indices] gone, merged to tldraw/editor
  • [@tldraw/file-format] gone, merged to tldraw/tldraw

tweaks for cloud shape (#1723)

  • Add a brief release note for your PR here.

Add cloud shape (#1708)

  • Adds a cloud shape.

[refactor] reduce dependencies on shape utils in editor (#1693)

  • removes shape utils from the arguments of isShapeOfType, replacing with a generic
  • removes shape utils from the arguments of getShapeUtil, replacing with a generic
  • moves custom arrow info cache out of the util and into the editor class
  • changes the a tool's shapeType to be a string instead of a shape util

Make some missing tsdocs appear on the docs site (#1706)

  • Docs: Fixed some missing docs for the TldrawEditor component.

[hot take] remove tool from shape definition (#1691)

  • [dev] Removed the tool property from defineShape

[refactor] reordering shapes (#1718)

  • [api] removes Editor.getParentsMappedToChildren
  • [api] removes Editor.reorderShapes
  • [api] moves reordering shapes code into its own file, outside of the editor

remove state checks for brush and zoom brush (#1717)

  • [editor] remove editor.isIn state checks for displaying brush and zoom brush.

Go back to default cursor when done resizing. (#1700)

  • Switch back to the default cursor after you are done inserting a new text shape.

Firefox: Fix coarse pointer issue (#1701)

  • Fixed firefox not being able to use cursor chat when using a touch screen on desktop.

💥 Breaking Change

🚀 Enhancement

🐛 Bug Fix

📝 Documentation

🔩 Dependency Updates

Authors: 8


v2.0.0-alpha.14 (Tue Jul 04 2023)

Release Notes

[fix] penmode (#1698)

  • [fix] pen mode

[improvement] More nuanced cursor state (#1682)

  • Improve cursor timeouts and hiding logic.

[fix] comma keyboard shortcuts (#1675)

  • [@tldraw/editor] Bug fixes on document events.

[improvement] add box sizing border box (#1674)

  • [@tldraw/editor] Add box-sizing: border-box to tl-container

[improvemnet] drop crc, Buffer dependency (#1673)

  • [@tldraw/editor] Remove peer dependency on buffer.

[improvement] export scribble manager (#1671)

  • [@tldraw/tldraw] Export ScribbleManager

[feature] add meta property to records (#1627)

  • todo

🚀 Enhancement

🐛 Bug Fix

Authors: 1


v2.0.0-alpha.13 (Wed Jun 28 2023)

Release Notes

Fix crash when rotating a deleted shape (#1658)

  • Fixed a crash when trying to rotate a deleted shape.

[improvement] store snapshot types (#1657)

  • [dev] Rename StoreSnapshot to SerializedStore
  • [dev] Create new StoreSnapshot as type related to getSnapshot/loadSnapshot

[fix] pen mode touches (#1655)

  • Removes three touches to cancel pen mode feature.

Fix text shapes not having colour (#1649)

  • None: Fixes an unreleased bug.

Styles API docs (#1641)

--

Styles API follow-ups (#1636)

--

Fix SVG cursors not being used (#1639)

  • None: Fixing an unreleased bug.

ShapeUtil refactor, Editor cleanup (#1611)

  • [editor] renames defaultProps to getDefaultProps
  • [editor] removes outline, outlineSegments, handles, bounds
  • [editor] renames renderBackground to backgroundComponent

Revert "Update dependencies (#1613)" (#1617)

Remove on drop override (#1612)

  • [editor] Remove onDropOverride

Make resizeBox a regular function (#1610)

  • [editor] Change resizeBox to be a regular function.

Rename ShapeUtil.render -> ShapeUtil.component (#1609)

  • [editor] rename ShapeUtil.render to ShapeUtil.component

tldraw.css (#1607)

  • [tldraw] Removes editor.css and ui.css exports, replaces with tldraw.css

[fix] camera culling (#1602)

  • [editor] Adds Editor.cameraState
  • Adds smart culling to make panning and zooming more smooth

Styles API (#1580)

(1/2) Timeout collaborator cursors (#1525)

  • Brought back cursor timeouts. Collaborator cursors now disappear after 3 seconds of inactivity.

(1/2) Cursor Chat - Presence (#1487)

  • [dev] Added support for cursor chat presence.

[refactor] snapping (#1589)

  • [editor] fix bug in snapping

remove ShapeUtil.transform (#1590)

  • [editor] Remove ShapeUtil.transform

Make sure loading screens use dark mode user preference. (#1552)

  • Make sure our loading and error screens take dark mode setting into account.

remove ShapeUtil.point (#1591)

  • [editor] Remove ShapeUtil.point

[fix] Remove group shape export backgrounds (#1587)

  • Fix image exports for groups

Add tsdocs to Editor methods (#1581)

  • [dev] Added initial documentation for the Editor class.

Add optional generic to updateShapes / createShapes (#1579)

  • [editor] adds an optional shape generic to updateShapes and createShapes

[improvement] Embed shape cleanup (#1569)

  • [editor] Remove unused props for TLEditorShape
  • [editor] Adds canUnmount property to embed definitions

Move the loading of assets to the TldrawEditorWithReadyStore so that all code paths load the assets. (#1561)

  • Fix a problem where assets were not loading in some cases (snapshots).

shapes folder, move tools into shape defs (#1574)

n/a

mini defineShape API (#1563)

[dev-facing, notes to come]

yjs example (#1560)

  • [editor] Adds yjs example project

Misc sync fixes (#1555)

  • Fixes a handful of state management bugs that manifest in multiplayer rooms

[Docs] Change some editor properties to methods (#1553)

  • [docs] Fixed some methods that were incorrectly marked as properties.

[Docs] Change some internal methods to public (#1554)

  • [docs] Changed some Editor methods from internal to public.

Use unpkg as a default for serving assets. (#1548)

  • Use unpkg asset hosting as a default.

hoist opacity out of props (#1526)

[internal only for now]

Fix arrows with weird bends crashing (#1540)

  • Fixed a rare crash that could happen when you try to curve an arrow with zero distance.

[feature] add vertical align to note shape (#1539)

  • Adds vertical align prop to note shapes

[fix] Shift key code / nudge (#1537)

  • Fix shift key nudging

scale exported canvases when they reach the browsers max size (#1536)

  • Fix a bug where sometimes exports would fail when they were too big for your browser. Now, they're scaled down to the max supported size.

[fix] control click on mac (#1535)

  • Fix control click to open menu on Mac

Fix being able to undo following (#1531)

  • Fixed a bug where you could undo viewport-following and viewport-unfollowing.

highlighter fixes (#1530)

[aq bug fixes]

Simplify static cursors (#1520)

  • (editor) Simplifies the cursors in our CSS.

Renaming types, shape utils, tools (#1513)

  • Renaming of types, shape utils, tools

tlschema cleanup (#1509)

  • [editor] Remove app.createShapeId
  • [tlschema] Cleans up exports

Rename tlstore to store (#1507)

  • Replace @tldraw/tlstore with @tldraw/store

Rename tlvalidate to validate (#1508)

  • Rename tlvalidate to validate

rename app to editor (#1503)

  • Rename App to Editor and many other things that reference app to editor.

Add support for locking shapes (#1447)

  • Add support for locking shapes.

[3/3] Highlighter styling (#1490)

Highlighter pen is here! 🎉🎉🎉

[2/3] renderer changes to support "sandwich mode" highlighting (#1418)

[not yet!]

[1/3] initial highlighter shape/tool (#1401)

[internal only change layout ground work for highlighter]

[feature] reduce motion (#1485)

  • [editor] Add reduceMotion user preference
  • Add reduce motion option to preferences

Feature flags rework (#1474)

[internal only change]

[tiny] add isPageId (#1482)

  • [tlschema] Add isPageId

[refactor] update record names (#1473)

  • [editor] rename record types

[mini-feature] Following indicator (#1468)

  • Adds viewport following indicator

[chore] refactor user preferences (#1435)

  • Add a brief release note for your PR here.

update use-gesture (#1453)

  • Updates use-gesture to fix pinch gesture bug on iPad.

Add migration for horizontal alignment (#1443)

  • Add support for legacy alignment options.

Stricter ID types (#1439)

[internal only, covered by #1432 changelog]

[refactor] restore createTLSchema (#1444)

  • [editor] Simplifies custom shape definition
  • [tldraw] Updates props for component to require a TldrawEditorConfig.

Fix cursor shadow getting clipped (#1441)

  • Fixed a bug where custom cursors could have their shadow clipped.

Add SVG cursors for all cursor types (#1416)

  • Added consistent custom cursors.

[refactor] remove createTLSchema (#1440)

  • [tlschema] Removes createTLSchema in favor of TldrawEditorConfig

[refactor] Remove TLShapeDef, getShapeUtilByType. (#1432)

  • [tlschema] Update props of createTLSchema
  • [editor] Update props of TldrawEditorConfig
  • [editor] Remove App.getShapeUtilByType
  • [editor] Update App.getShapeUtil to take a type rather than a shape

[refactor] record migrations (#1430)

  • [tlschema] Improve defineMigrations
  • [editor] Simplify migration definitions

Measure individual words instead of just line breaks for text exports (#1397)

  • Add a brief release note for your PR here.

Create @tldraw/indices package (#1426)

  • [@tldraw/editor] Remove fractional indices code into @tldraw/indices
  • [@tldraw/indices] Create library for fractional indices code

[improvement] set horizontal position using text alignment (#1419)

  • Geo shapes and sticky notes now position their labels based on their alignment.

[fix] reorder handles in front of selection (#1420)

  • Fix a bug where handles would appear behind selection indicators.

[feature] add laser pointer (#1412)

  • Adds the laser pointer tool.

[firefox] Fix the pointer getting stuck down when you press the control key (#1390)

  • [Firefox] Fixed a bug where the pointer could get stuck down when the control key is held down.

Vertical text alignment for geo shapes (#1414)

  • This adds vertical text alignment property to geo shapes.

Switch to new collaborators component (#1405)

  • [Breaking] Removes the old version of LiveCollaborators, replacing it with the new one based on TLInstancePresence

[improvement] refactor paste to support multi-line text (#1398)

  • Improves clipboard logic when pasting text
  • Adds support for pasting multi-line text
  • Adds maximum widths when pasting single-line text
  • Adds support for RTL languages when pasting multi-line or wrapped text
  • Strips leading indentation when pasting text

remove url state, to private (#1402)

  • [editor] remove useUrlState

[fix] Don't synchronize isReadOnly (#1396)

  • Removes the isReadOnly value from the user_document_settings record type.

Delete an empty text shape when clicking on another text shape. (#1384)

  • Fix a problem with empty text shapes not getting deleted if you clicked on another text shape.

Fix setting the grid mode. (#1386)

  • Fix grid mode toggle.

Fix selection foreground being misaligned (#1380)

  • None (fix for a bug that hasn't released)

Expand selection outline for single-selected draw shape (#1379)

  • Improve selection outlines around horizontal or vertical draw shapes

[fix] pointer location not updating when moving over editing shape (#1378)

  • Fix a bug where the pointer location would not update when moving the pointer over an editing shape.

[perf] deleteShapes (#1373)

  • Perf improvement for deleting shapes in a document with lots of pages.

fix a couple of consistency assumptions (#1365)

  • Fixes a couple of minor consistency bugs affecting shape updating and page deletion in multiplayer contexts.

avoid lazy race conditions (#1364)

[internal only]

enable eslint for test files (#1363)

internal-only change

  • Fix a bug where creating a page could throw an error in some multiplayer contexts.

[improvement] Ui events followup (#1354)

  • [ui] Adds source to ui events data object
  • [ui] Corrects source for toolbar events
  • [ui] Corrects source for clipboard events
  • [examples] Updates events example

[fix] various text (#1350)

  • Allow leading whitespace

[chore] Bump nanoid (#1349)

  • Remove unused userId and instanceId props from AppOptions

💥 Breaking Change

🚀 Enhancement

🐛 Bug Fix

⚠️ Pushed to main

🏠 Internal

📝 Documentation

🧪 Tests

🔩 Dependency Updates

Authors: 8


v2.0.0-alpha.12 (Mon Apr 03 2023)

🐛 Bug Fix

⚠️ Pushed to main

Authors: 6


@tldraw/tldraw-beta

2.0.0-alpha.11

Patch Changes

  • fix some package build scripting
  • Updated dependencies
    • @tldraw/primitives@2.0.0-alpha.11
    • @tldraw/tlschema@2.0.0-alpha.11
    • @tldraw/tlstore@2.0.0-alpha.11
    • @tldraw/tlvalidate@2.0.0-alpha.10
    • @tldraw/utils@2.0.0-alpha.10

2.0.0-alpha.10

Patch Changes

  • Updated dependencies [4b4399b6e]
    • @tldraw/primitives@2.0.0-alpha.10
    • @tldraw/tlschema@2.0.0-alpha.10
    • @tldraw/tlstore@2.0.0-alpha.10
    • @tldraw/tlvalidate@2.0.0-alpha.9
    • @tldraw/utils@2.0.0-alpha.9

2.0.0-alpha.9

Patch Changes

  • Release day!
  • Updated dependencies
    • @tldraw/primitives@2.0.0-alpha.9
    • @tldraw/tlschema@2.0.0-alpha.9
    • @tldraw/tlstore@2.0.0-alpha.9
    • @tldraw/tlvalidate@2.0.0-alpha.8
    • @tldraw/utils@2.0.0-alpha.8

2.0.0-alpha.8

Patch Changes

  • 23dd81cfe: Make signia a peer dependency
  • Updated dependencies [23dd81cfe]
    • @tldraw/tlstore@2.0.0-alpha.8
    • @tldraw/tlschema@2.0.0-alpha.8
    • @tldraw/primitives@2.0.0-alpha.8

2.0.0-alpha.7

Patch Changes

  • Bug fixes.
  • Updated dependencies
    • @tldraw/primitives@2.0.0-alpha.7
    • @tldraw/tlschema@2.0.0-alpha.7
    • @tldraw/tlstore@2.0.0-alpha.7
    • @tldraw/tlvalidate@2.0.0-alpha.7
    • @tldraw/utils@2.0.0-alpha.7

2.0.0-alpha.6

Patch Changes

  • Add licenses.
  • Updated dependencies
    • @tldraw/primitives@2.0.0-alpha.6
    • @tldraw/tlschema@2.0.0-alpha.6
    • @tldraw/tlstore@2.0.0-alpha.6
    • @tldraw/tlvalidate@2.0.0-alpha.6
    • @tldraw/utils@2.0.0-alpha.6

2.0.0-alpha.5

Patch Changes

  • Add CSS files to tldraw/tldraw.
  • Updated dependencies
    • @tldraw/primitives@2.0.0-alpha.5
    • @tldraw/tlschema@2.0.0-alpha.5
    • @tldraw/tlstore@2.0.0-alpha.5
    • @tldraw/tlvalidate@2.0.0-alpha.5
    • @tldraw/utils@2.0.0-alpha.5

2.0.0-alpha.4

Patch Changes

  • Add children to tldraw/tldraw
  • Updated dependencies
    • @tldraw/primitives@2.0.0-alpha.4
    • @tldraw/tlschema@2.0.0-alpha.4
    • @tldraw/tlstore@2.0.0-alpha.4
    • @tldraw/tlvalidate@2.0.0-alpha.4
    • @tldraw/utils@2.0.0-alpha.4

2.0.0-alpha.3

Patch Changes

  • Change permissions.
  • Updated dependencies
    • @tldraw/primitives@2.0.0-alpha.3
    • @tldraw/tlschema@2.0.0-alpha.3
    • @tldraw/tlstore@2.0.0-alpha.3
    • @tldraw/tlvalidate@2.0.0-alpha.3
    • @tldraw/utils@2.0.0-alpha.3

2.0.0-alpha.2

Patch Changes

  • Add tldraw, editor
  • Updated dependencies
    • @tldraw/primitives@2.0.0-alpha.2
    • @tldraw/tlschema@2.0.0-alpha.2
    • @tldraw/tlstore@2.0.0-alpha.2
    • @tldraw/tlvalidate@2.0.0-alpha.2
    • @tldraw/utils@2.0.0-alpha.2

0.1.0-alpha.11

Patch Changes

  • Fix stale reactors.
  • Updated dependencies
    • @tldraw/primitives@0.1.0-alpha.11
    • @tldraw/tlschema@0.1.0-alpha.11
    • @tldraw/tlstore@0.1.0-alpha.11
    • @tldraw/tlvalidate@0.1.0-alpha.11
    • @tldraw/utils@0.1.0-alpha.11

0.1.0-alpha.10

Patch Changes

  • Fix type export bug.
  • Updated dependencies
    • @tldraw/primitives@0.1.0-alpha.10
    • @tldraw/tlschema@0.1.0-alpha.10
    • @tldraw/tlstore@0.1.0-alpha.10
    • @tldraw/tlvalidate@0.1.0-alpha.10
    • @tldraw/utils@0.1.0-alpha.10

0.1.0-alpha.9

Patch Changes

  • Fix import bugs.
  • Updated dependencies
    • @tldraw/primitives@0.1.0-alpha.9
    • @tldraw/tlschema@0.1.0-alpha.9
    • @tldraw/tlstore@0.1.0-alpha.9
    • @tldraw/tlvalidate@0.1.0-alpha.9
    • @tldraw/utils@0.1.0-alpha.9

0.1.0-alpha.8

Patch Changes

  • Changes validation requirements, exports validation helpers.
  • Updated dependencies
    • @tldraw/primitives@0.1.0-alpha.8
    • @tldraw/tlschema@0.1.0-alpha.8
    • @tldraw/tlstore@0.1.0-alpha.8
    • @tldraw/tlvalidate@0.1.0-alpha.8
    • @tldraw/utils@0.1.0-alpha.8

0.1.0-alpha.7

Patch Changes

    • Pre-pre-release update
  • Updated dependencies
    • @tldraw/primitives@0.1.0-alpha.7
    • @tldraw/tlschema@0.1.0-alpha.7
    • @tldraw/tlstore@0.1.0-alpha.7
    • @tldraw/tlvalidate@0.1.0-alpha.7
    • @tldraw/utils@0.1.0-alpha.7

0.0.2-alpha.1

Patch Changes

  • Fix error with HMR
  • Updated dependencies
    • @tldraw/primitives@0.0.2-alpha.1
    • @tldraw/tlschema@0.0.2-alpha.1
    • @tldraw/tlstore@0.0.2-alpha.1
    • @tldraw/utils@0.0.2-alpha.1

0.0.2-alpha.0

Patch Changes

  • Initial release
  • Updated dependencies
    • @tldraw/primitives@0.0.2-alpha.0
    • @tldraw/tlschema@0.0.2-alpha.0
    • @tldraw/tlstore@0.0.2-alpha.0
    • @tldraw/utils@0.0.2-alpha.0