tldraw 4.3.0-canary.e5f56251a468 → 4.3.0-canary.ea88b223b83a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/dist-cjs/index.d.ts +297 -237
  2. package/dist-cjs/index.js +13 -5
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +2 -2
  5. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js.map +2 -2
  6. package/dist-cjs/lib/defaultEmbedDefinitions.js +1 -1
  7. package/dist-cjs/lib/defaultEmbedDefinitions.js.map +2 -2
  8. package/dist-cjs/lib/defaultExternalContentHandlers.js +5 -5
  9. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
  10. package/dist-cjs/lib/defaultSideEffects.js +6 -1
  11. package/dist-cjs/lib/defaultSideEffects.js.map +2 -2
  12. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +14 -13
  13. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  14. package/dist-cjs/lib/shapes/arrow/arrow-types.js.map +1 -1
  15. package/dist-cjs/lib/shapes/arrow/arrowLabel.js +1 -1
  16. package/dist-cjs/lib/shapes/arrow/arrowLabel.js.map +2 -2
  17. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js +1 -1
  18. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js.map +2 -2
  19. package/dist-cjs/lib/shapes/arrow/elbow/getElbowArrowInfo.js +1 -1
  20. package/dist-cjs/lib/shapes/arrow/elbow/getElbowArrowInfo.js.map +2 -2
  21. package/dist-cjs/lib/shapes/arrow/toolStates/Idle.js +4 -10
  22. package/dist-cjs/lib/shapes/arrow/toolStates/Idle.js.map +2 -2
  23. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js +7 -4
  24. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +2 -2
  25. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js +1 -1
  26. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js.map +2 -2
  27. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +25 -23
  28. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +2 -2
  29. package/dist-cjs/lib/shapes/draw/getPath.js +20 -11
  30. package/dist-cjs/lib/shapes/draw/getPath.js.map +2 -2
  31. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js +82 -86
  32. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js.map +3 -3
  33. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +6 -0
  34. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +2 -2
  35. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +6 -5
  36. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  37. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +146 -142
  38. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
  39. package/dist-cjs/lib/shapes/geo/toolStates/Idle.js +5 -10
  40. package/dist-cjs/lib/shapes/geo/toolStates/Idle.js.map +2 -2
  41. package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js +3 -3
  42. package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js.map +2 -2
  43. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +23 -21
  44. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +2 -2
  45. package/dist-cjs/lib/shapes/line/toolStates/Pointing.js +3 -3
  46. package/dist-cjs/lib/shapes/line/toolStates/Pointing.js.map +2 -2
  47. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +6 -11
  48. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  49. package/dist-cjs/lib/shapes/note/toolStates/Pointing.js +5 -10
  50. package/dist-cjs/lib/shapes/note/toolStates/Pointing.js.map +2 -2
  51. package/dist-cjs/lib/shapes/shared/HyperlinkButton.js +3 -2
  52. package/dist-cjs/lib/shapes/shared/HyperlinkButton.js.map +2 -2
  53. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +14 -2
  54. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +3 -3
  55. package/dist-cjs/lib/shapes/shared/RichTextLabel.js +12 -4
  56. package/dist-cjs/lib/shapes/shared/RichTextLabel.js.map +3 -3
  57. package/dist-cjs/lib/shapes/shared/ShapeFill.js +2 -2
  58. package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +2 -2
  59. package/dist-cjs/lib/shapes/shared/interpolate-props.js +3 -3
  60. package/dist-cjs/lib/shapes/shared/interpolate-props.js.map +2 -2
  61. package/dist-cjs/lib/shapes/shared/{useForceSolid.js → useEfficientZoomThreshold.js} +10 -7
  62. package/dist-cjs/lib/shapes/shared/useEfficientZoomThreshold.js.map +7 -0
  63. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js +1 -1
  64. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js.map +2 -2
  65. package/dist-cjs/lib/shapes/text/RichTextArea.js +5 -0
  66. package/dist-cjs/lib/shapes/text/RichTextArea.js.map +2 -2
  67. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +5 -2
  68. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  69. package/dist-cjs/lib/shapes/text/toolStates/Idle.js +4 -10
  70. package/dist-cjs/lib/shapes/text/toolStates/Idle.js.map +2 -2
  71. package/dist-cjs/lib/shapes/text/toolStates/Pointing.js +7 -5
  72. package/dist-cjs/lib/shapes/text/toolStates/Pointing.js.map +2 -2
  73. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +1 -1
  74. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +2 -2
  75. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +4 -5
  76. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +2 -2
  77. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js +2 -4
  78. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js.map +2 -2
  79. package/dist-cjs/lib/tools/HandTool/HandTool.js +3 -5
  80. package/dist-cjs/lib/tools/HandTool/HandTool.js.map +2 -2
  81. package/dist-cjs/lib/tools/HandTool/childStates/Dragging.js +3 -2
  82. package/dist-cjs/lib/tools/HandTool/childStates/Dragging.js.map +2 -2
  83. package/dist-cjs/lib/tools/HandTool/childStates/Pointing.js +1 -1
  84. package/dist-cjs/lib/tools/HandTool/childStates/Pointing.js.map +2 -2
  85. package/dist-cjs/lib/tools/LaserTool/childStates/Lasering.js +1 -1
  86. package/dist-cjs/lib/tools/LaserTool/childStates/Lasering.js.map +2 -2
  87. package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js +9 -7
  88. package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js.map +2 -2
  89. package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js +6 -5
  90. package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js.map +2 -2
  91. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Cropping.js +4 -6
  92. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Cropping.js.map +2 -2
  93. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js +1 -1
  94. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js.map +2 -2
  95. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js +1 -1
  96. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js.map +2 -2
  97. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.js +1 -1
  98. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.js.map +2 -2
  99. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.js +2 -1
  100. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.js.map +2 -2
  101. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.js +1 -1
  102. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.js.map +2 -2
  103. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +7 -5
  104. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +2 -2
  105. package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js +38 -11
  106. package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js.map +2 -2
  107. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +42 -50
  108. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +2 -2
  109. package/dist-cjs/lib/tools/SelectTool/childStates/PointingArrowLabel.js +6 -6
  110. package/dist-cjs/lib/tools/SelectTool/childStates/PointingArrowLabel.js.map +2 -2
  111. package/dist-cjs/lib/tools/SelectTool/childStates/PointingCanvas.js +1 -1
  112. package/dist-cjs/lib/tools/SelectTool/childStates/PointingCanvas.js.map +2 -2
  113. package/dist-cjs/lib/tools/SelectTool/childStates/PointingHandle.js +4 -14
  114. package/dist-cjs/lib/tools/SelectTool/childStates/PointingHandle.js.map +2 -2
  115. package/dist-cjs/lib/tools/SelectTool/childStates/PointingResizeHandle.js +1 -1
  116. package/dist-cjs/lib/tools/SelectTool/childStates/PointingResizeHandle.js.map +2 -2
  117. package/dist-cjs/lib/tools/SelectTool/childStates/PointingRotateHandle.js +1 -1
  118. package/dist-cjs/lib/tools/SelectTool/childStates/PointingRotateHandle.js.map +2 -2
  119. package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js +2 -2
  120. package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js.map +2 -2
  121. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js +4 -13
  122. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js.map +2 -2
  123. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +5 -6
  124. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +2 -2
  125. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js +2 -3
  126. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js.map +2 -2
  127. package/dist-cjs/lib/tools/SelectTool/childStates/ScribbleBrushing.js +7 -6
  128. package/dist-cjs/lib/tools/SelectTool/childStates/ScribbleBrushing.js.map +2 -2
  129. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +13 -11
  130. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  131. package/dist-cjs/lib/tools/SelectTool/selectHelpers.js +15 -4
  132. package/dist-cjs/lib/tools/SelectTool/selectHelpers.js.map +2 -2
  133. package/dist-cjs/lib/tools/ZoomTool/ZoomTool.js +1 -1
  134. package/dist-cjs/lib/tools/ZoomTool/ZoomTool.js.map +2 -2
  135. package/dist-cjs/lib/tools/ZoomTool/childStates/Pointing.js +3 -3
  136. package/dist-cjs/lib/tools/ZoomTool/childStates/Pointing.js.map +2 -2
  137. package/dist-cjs/lib/tools/ZoomTool/childStates/ZoomBrushing.js +5 -6
  138. package/dist-cjs/lib/tools/ZoomTool/childStates/ZoomBrushing.js.map +2 -2
  139. package/dist-cjs/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.js +1 -3
  140. package/dist-cjs/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.js.map +2 -2
  141. package/dist-cjs/lib/tools/selection-logic/selectOnCanvasPointerUp.js +1 -1
  142. package/dist-cjs/lib/tools/selection-logic/selectOnCanvasPointerUp.js.map +2 -2
  143. package/dist-cjs/lib/tools/selection-logic/updateHoveredShapeId.js +1 -1
  144. package/dist-cjs/lib/tools/selection-logic/updateHoveredShapeId.js.map +2 -2
  145. package/dist-cjs/lib/ui/TldrawUi.js +2 -2
  146. package/dist-cjs/lib/ui/TldrawUi.js.map +2 -2
  147. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.js +3 -9
  148. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.js.map +2 -2
  149. package/dist-cjs/lib/ui/components/ContextMenu/DefaultContextMenu.js +1 -3
  150. package/dist-cjs/lib/ui/components/ContextMenu/DefaultContextMenu.js.map +2 -2
  151. package/dist-cjs/lib/ui/components/CursorChatBubble.js +1 -1
  152. package/dist-cjs/lib/ui/components/CursorChatBubble.js.map +2 -2
  153. package/dist-cjs/lib/ui/components/DefaultDebugPanel.js +1 -21
  154. package/dist-cjs/lib/ui/components/DefaultDebugPanel.js.map +2 -2
  155. package/dist-cjs/lib/ui/components/HelperButtons/StopFollowing.js.map +2 -2
  156. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js +1 -1
  157. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js.map +2 -2
  158. package/dist-cjs/lib/ui/components/OfflineIndicator/OfflineIndicator.js +2 -15
  159. package/dist-cjs/lib/ui/components/OfflineIndicator/OfflineIndicator.js.map +3 -3
  160. package/dist-cjs/lib/ui/components/PageMenu/PageItemInput.js +3 -1
  161. package/dist-cjs/lib/ui/components/PageMenu/PageItemInput.js.map +2 -2
  162. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenu.js +6 -0
  163. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenu.js.map +2 -2
  164. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbar.js +1 -1
  165. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbar.js.map +2 -2
  166. package/dist-cjs/lib/ui/components/Toolbar/DefaultRichTextToolbar.js +1 -1
  167. package/dist-cjs/lib/ui/components/Toolbar/DefaultRichTextToolbar.js.map +2 -2
  168. package/dist-cjs/lib/ui/components/TopPanel/CenteredTopPanelContainer.js.map +1 -1
  169. package/dist-cjs/lib/ui/components/menu-items.js +3 -1
  170. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  171. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +3 -1
  172. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  173. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +1 -1
  174. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
  175. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +149 -93
  176. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +2 -2
  177. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem.js.map +2 -2
  178. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuActionItem.js.map +2 -2
  179. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +2 -3
  180. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  181. package/dist-cjs/lib/ui/context/actions.js +6 -6
  182. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  183. package/dist-cjs/lib/ui/context/components.js +1 -2
  184. package/dist-cjs/lib/ui/context/components.js.map +2 -2
  185. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +2 -2
  186. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js.map +2 -2
  187. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +2 -2
  188. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +2 -2
  189. package/dist-cjs/lib/ui/hooks/useTools.js +4 -5
  190. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  191. package/dist-cjs/lib/ui/version.js +3 -3
  192. package/dist-cjs/lib/ui/version.js.map +1 -1
  193. package/dist-cjs/lib/utils/excalidraw/putExcalidrawContent.js +8 -6
  194. package/dist-cjs/lib/utils/excalidraw/putExcalidrawContent.js.map +2 -2
  195. package/dist-cjs/lib/{tools/selection-logic/getShouldEnterCropModeOnPointerDown.js → utils/test-helpers.js} +21 -8
  196. package/dist-cjs/lib/utils/test-helpers.js.map +7 -0
  197. package/dist-cjs/lib/utils/text/richText.js +11 -19
  198. package/dist-cjs/lib/utils/text/richText.js.map +3 -3
  199. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js +7 -2
  200. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js.map +2 -2
  201. package/dist-esm/index.d.mts +297 -237
  202. package/dist-esm/index.mjs +14 -5
  203. package/dist-esm/index.mjs.map +2 -2
  204. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs +2 -2
  205. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs.map +2 -2
  206. package/dist-esm/lib/defaultEmbedDefinitions.mjs +1 -1
  207. package/dist-esm/lib/defaultEmbedDefinitions.mjs.map +2 -2
  208. package/dist-esm/lib/defaultExternalContentHandlers.mjs +5 -5
  209. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  210. package/dist-esm/lib/defaultSideEffects.mjs +6 -1
  211. package/dist-esm/lib/defaultSideEffects.mjs.map +2 -2
  212. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +15 -15
  213. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  214. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs +1 -1
  215. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs.map +2 -2
  216. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs +1 -1
  217. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
  218. package/dist-esm/lib/shapes/arrow/elbow/getElbowArrowInfo.mjs +1 -1
  219. package/dist-esm/lib/shapes/arrow/elbow/getElbowArrowInfo.mjs.map +2 -2
  220. package/dist-esm/lib/shapes/arrow/toolStates/Idle.mjs +4 -10
  221. package/dist-esm/lib/shapes/arrow/toolStates/Idle.mjs.map +2 -2
  222. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs +7 -4
  223. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +2 -2
  224. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs +1 -1
  225. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs.map +2 -2
  226. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +30 -25
  227. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
  228. package/dist-esm/lib/shapes/draw/getPath.mjs +21 -11
  229. package/dist-esm/lib/shapes/draw/getPath.mjs.map +2 -2
  230. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs +83 -86
  231. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs.map +3 -3
  232. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +6 -0
  233. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +2 -2
  234. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +6 -5
  235. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  236. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +147 -142
  237. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  238. package/dist-esm/lib/shapes/geo/toolStates/Idle.mjs +5 -10
  239. package/dist-esm/lib/shapes/geo/toolStates/Idle.mjs.map +2 -2
  240. package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs +3 -3
  241. package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs.map +2 -2
  242. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +24 -22
  243. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
  244. package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs +3 -3
  245. package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs.map +2 -2
  246. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +7 -12
  247. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  248. package/dist-esm/lib/shapes/note/toolStates/Pointing.mjs +5 -10
  249. package/dist-esm/lib/shapes/note/toolStates/Pointing.mjs.map +2 -2
  250. package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs +4 -3
  251. package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs.map +2 -2
  252. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +14 -2
  253. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
  254. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs +12 -4
  255. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs.map +2 -2
  256. package/dist-esm/lib/shapes/shared/ShapeFill.mjs +2 -2
  257. package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +2 -2
  258. package/dist-esm/lib/shapes/shared/interpolate-props.mjs +4 -4
  259. package/dist-esm/lib/shapes/shared/interpolate-props.mjs.map +2 -2
  260. package/dist-esm/lib/shapes/shared/useEfficientZoomThreshold.mjs +12 -0
  261. package/dist-esm/lib/shapes/shared/useEfficientZoomThreshold.mjs.map +7 -0
  262. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs +1 -1
  263. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs.map +2 -2
  264. package/dist-esm/lib/shapes/text/RichTextArea.mjs +5 -0
  265. package/dist-esm/lib/shapes/text/RichTextArea.mjs.map +2 -2
  266. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +5 -2
  267. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  268. package/dist-esm/lib/shapes/text/toolStates/Idle.mjs +4 -10
  269. package/dist-esm/lib/shapes/text/toolStates/Idle.mjs.map +2 -2
  270. package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs +7 -5
  271. package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs.map +2 -2
  272. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +1 -1
  273. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +2 -2
  274. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +4 -5
  275. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +2 -2
  276. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs +2 -4
  277. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs.map +2 -2
  278. package/dist-esm/lib/tools/HandTool/HandTool.mjs +3 -5
  279. package/dist-esm/lib/tools/HandTool/HandTool.mjs.map +2 -2
  280. package/dist-esm/lib/tools/HandTool/childStates/Dragging.mjs +3 -2
  281. package/dist-esm/lib/tools/HandTool/childStates/Dragging.mjs.map +2 -2
  282. package/dist-esm/lib/tools/HandTool/childStates/Pointing.mjs +1 -1
  283. package/dist-esm/lib/tools/HandTool/childStates/Pointing.mjs.map +2 -2
  284. package/dist-esm/lib/tools/LaserTool/childStates/Lasering.mjs +1 -1
  285. package/dist-esm/lib/tools/LaserTool/childStates/Lasering.mjs.map +2 -2
  286. package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs +9 -7
  287. package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs.map +2 -2
  288. package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs +6 -5
  289. package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs.map +2 -2
  290. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Cropping.mjs +4 -6
  291. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Cropping.mjs.map +2 -2
  292. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs +1 -1
  293. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs.map +2 -2
  294. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs +1 -1
  295. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs.map +2 -2
  296. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.mjs +1 -1
  297. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.mjs.map +2 -2
  298. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.mjs +2 -1
  299. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.mjs.map +2 -2
  300. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.mjs +1 -1
  301. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.mjs.map +2 -2
  302. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +7 -5
  303. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +2 -2
  304. package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs +38 -11
  305. package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs.map +2 -2
  306. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +43 -51
  307. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +2 -2
  308. package/dist-esm/lib/tools/SelectTool/childStates/PointingArrowLabel.mjs +6 -6
  309. package/dist-esm/lib/tools/SelectTool/childStates/PointingArrowLabel.mjs.map +2 -2
  310. package/dist-esm/lib/tools/SelectTool/childStates/PointingCanvas.mjs +1 -1
  311. package/dist-esm/lib/tools/SelectTool/childStates/PointingCanvas.mjs.map +2 -2
  312. package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs +5 -15
  313. package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs.map +2 -2
  314. package/dist-esm/lib/tools/SelectTool/childStates/PointingResizeHandle.mjs +1 -1
  315. package/dist-esm/lib/tools/SelectTool/childStates/PointingResizeHandle.mjs.map +2 -2
  316. package/dist-esm/lib/tools/SelectTool/childStates/PointingRotateHandle.mjs +1 -1
  317. package/dist-esm/lib/tools/SelectTool/childStates/PointingRotateHandle.mjs.map +2 -2
  318. package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs +2 -2
  319. package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs.map +2 -2
  320. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs +4 -13
  321. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs.map +2 -2
  322. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +5 -6
  323. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +2 -2
  324. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs +2 -3
  325. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs.map +2 -2
  326. package/dist-esm/lib/tools/SelectTool/childStates/ScribbleBrushing.mjs +7 -6
  327. package/dist-esm/lib/tools/SelectTool/childStates/ScribbleBrushing.mjs.map +2 -2
  328. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +13 -11
  329. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  330. package/dist-esm/lib/tools/SelectTool/selectHelpers.mjs +17 -4
  331. package/dist-esm/lib/tools/SelectTool/selectHelpers.mjs.map +2 -2
  332. package/dist-esm/lib/tools/ZoomTool/ZoomTool.mjs +1 -1
  333. package/dist-esm/lib/tools/ZoomTool/ZoomTool.mjs.map +2 -2
  334. package/dist-esm/lib/tools/ZoomTool/childStates/Pointing.mjs +3 -3
  335. package/dist-esm/lib/tools/ZoomTool/childStates/Pointing.mjs.map +2 -2
  336. package/dist-esm/lib/tools/ZoomTool/childStates/ZoomBrushing.mjs +5 -6
  337. package/dist-esm/lib/tools/ZoomTool/childStates/ZoomBrushing.mjs.map +2 -2
  338. package/dist-esm/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.mjs +1 -3
  339. package/dist-esm/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.mjs.map +2 -2
  340. package/dist-esm/lib/tools/selection-logic/selectOnCanvasPointerUp.mjs +1 -1
  341. package/dist-esm/lib/tools/selection-logic/selectOnCanvasPointerUp.mjs.map +2 -2
  342. package/dist-esm/lib/tools/selection-logic/updateHoveredShapeId.mjs +1 -1
  343. package/dist-esm/lib/tools/selection-logic/updateHoveredShapeId.mjs.map +2 -2
  344. package/dist-esm/lib/ui/TldrawUi.mjs +2 -2
  345. package/dist-esm/lib/ui/TldrawUi.mjs.map +2 -2
  346. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.mjs +2 -8
  347. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.mjs.map +2 -2
  348. package/dist-esm/lib/ui/components/ContextMenu/DefaultContextMenu.mjs +1 -3
  349. package/dist-esm/lib/ui/components/ContextMenu/DefaultContextMenu.mjs.map +2 -2
  350. package/dist-esm/lib/ui/components/CursorChatBubble.mjs +1 -1
  351. package/dist-esm/lib/ui/components/CursorChatBubble.mjs.map +2 -2
  352. package/dist-esm/lib/ui/components/DefaultDebugPanel.mjs +3 -30
  353. package/dist-esm/lib/ui/components/DefaultDebugPanel.mjs.map +2 -2
  354. package/dist-esm/lib/ui/components/HelperButtons/StopFollowing.mjs.map +2 -2
  355. package/dist-esm/lib/ui/components/Minimap/DefaultMinimap.mjs +1 -1
  356. package/dist-esm/lib/ui/components/Minimap/DefaultMinimap.mjs.map +2 -2
  357. package/dist-esm/lib/ui/components/OfflineIndicator/OfflineIndicator.mjs +3 -6
  358. package/dist-esm/lib/ui/components/OfflineIndicator/OfflineIndicator.mjs.map +2 -2
  359. package/dist-esm/lib/ui/components/PageMenu/PageItemInput.mjs +3 -1
  360. package/dist-esm/lib/ui/components/PageMenu/PageItemInput.mjs.map +2 -2
  361. package/dist-esm/lib/ui/components/SharePanel/PeopleMenu.mjs +6 -0
  362. package/dist-esm/lib/ui/components/SharePanel/PeopleMenu.mjs.map +2 -2
  363. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbar.mjs +1 -1
  364. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbar.mjs.map +2 -2
  365. package/dist-esm/lib/ui/components/Toolbar/DefaultRichTextToolbar.mjs +1 -1
  366. package/dist-esm/lib/ui/components/Toolbar/DefaultRichTextToolbar.mjs.map +2 -2
  367. package/dist-esm/lib/ui/components/TopPanel/CenteredTopPanelContainer.mjs.map +1 -1
  368. package/dist-esm/lib/ui/components/menu-items.mjs +3 -1
  369. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  370. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +3 -1
  371. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  372. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +2 -2
  373. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
  374. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +157 -95
  375. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +2 -2
  376. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem.mjs.map +2 -2
  377. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuActionItem.mjs.map +2 -2
  378. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +3 -4
  379. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  380. package/dist-esm/lib/ui/context/actions.mjs +6 -6
  381. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  382. package/dist-esm/lib/ui/context/components.mjs +1 -2
  383. package/dist-esm/lib/ui/context/components.mjs.map +2 -2
  384. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs +2 -2
  385. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs.map +2 -2
  386. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +2 -2
  387. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +2 -2
  388. package/dist-esm/lib/ui/hooks/useTools.mjs +4 -5
  389. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  390. package/dist-esm/lib/ui/version.mjs +3 -3
  391. package/dist-esm/lib/ui/version.mjs.map +1 -1
  392. package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs +9 -6
  393. package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs.map +2 -2
  394. package/dist-esm/lib/utils/test-helpers.mjs +21 -0
  395. package/dist-esm/lib/utils/test-helpers.mjs.map +7 -0
  396. package/dist-esm/lib/utils/text/richText.mjs +8 -5
  397. package/dist-esm/lib/utils/text/richText.mjs.map +2 -2
  398. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs +8 -2
  399. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs.map +2 -2
  400. package/package.json +18 -16
  401. package/src/index.ts +6 -2
  402. package/src/lib/Tldraw.test.tsx +46 -1
  403. package/src/lib/canvas/TldrawSelectionForeground.tsx +2 -2
  404. package/src/lib/defaultEmbedDefinitions.ts +2 -1
  405. package/src/lib/defaultExternalContentHandlers.ts +10 -10
  406. package/src/lib/defaultSideEffects.ts +6 -1
  407. package/src/lib/shapes/arrow/ArrowShapeOptions.test.ts +40 -133
  408. package/src/lib/shapes/arrow/ArrowShapeTool.test.ts +8 -8
  409. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +15 -15
  410. package/src/lib/shapes/arrow/arrow-types.ts +2 -0
  411. package/src/lib/shapes/arrow/arrowLabel.ts +1 -1
  412. package/src/lib/shapes/arrow/arrowTargetState.ts +1 -1
  413. package/src/lib/shapes/arrow/elbow/getElbowArrowInfo.test.ts +80 -0
  414. package/src/lib/shapes/arrow/elbow/getElbowArrowInfo.tsx +1 -1
  415. package/src/lib/shapes/arrow/toolStates/Idle.tsx +4 -14
  416. package/src/lib/shapes/arrow/toolStates/Pointing.tsx +7 -4
  417. package/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx +1 -1
  418. package/src/lib/shapes/draw/DrawShapeUtil.test.ts +146 -0
  419. package/src/lib/shapes/draw/DrawShapeUtil.tsx +31 -27
  420. package/src/lib/shapes/draw/getPath.ts +31 -10
  421. package/src/lib/shapes/draw/toolStates/Drawing.ts +96 -86
  422. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +7 -0
  423. package/src/lib/shapes/frame/FrameShapeUtil.tsx +10 -4
  424. package/src/lib/shapes/geo/GeoShapeUtil.tsx +228 -176
  425. package/src/lib/shapes/geo/toolStates/Idle.ts +5 -15
  426. package/src/lib/shapes/geo/toolStates/Pointing.ts +3 -3
  427. package/src/lib/shapes/highlight/HighlightShapeUtil.test.ts +146 -0
  428. package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +25 -24
  429. package/src/lib/shapes/line/toolStates/Pointing.ts +3 -3
  430. package/src/lib/shapes/note/NoteShapeUtil.tsx +9 -10
  431. package/src/lib/shapes/note/noteCloning.test.ts +3 -1
  432. package/src/lib/shapes/note/toolStates/Pointing.ts +5 -10
  433. package/src/lib/shapes/shared/HyperlinkButton.tsx +4 -3
  434. package/src/lib/shapes/shared/PlainTextLabel.tsx +10 -1
  435. package/src/lib/shapes/shared/RichTextLabel.tsx +12 -3
  436. package/src/lib/shapes/shared/ShapeFill.tsx +2 -2
  437. package/src/lib/shapes/shared/interpolate-props.ts +4 -4
  438. package/src/lib/shapes/shared/useEfficientZoomThreshold.ts +10 -0
  439. package/src/lib/shapes/shared/useImageOrVideoAsset.ts +1 -1
  440. package/src/lib/shapes/text/RichTextArea.tsx +5 -0
  441. package/src/lib/shapes/text/TextShapeUtil.tsx +5 -0
  442. package/src/lib/shapes/text/toolStates/Idle.ts +4 -14
  443. package/src/lib/shapes/text/toolStates/Pointing.ts +7 -7
  444. package/src/lib/shapes/video/VideoShapeUtil.tsx +2 -1
  445. package/src/lib/tools/EraserTool/childStates/Erasing.ts +4 -5
  446. package/src/lib/tools/EraserTool/childStates/Pointing.ts +2 -4
  447. package/src/lib/tools/HandTool/HandTool.ts +3 -5
  448. package/src/lib/tools/HandTool/childStates/Dragging.ts +3 -2
  449. package/src/lib/tools/HandTool/childStates/Pointing.ts +1 -1
  450. package/src/lib/tools/LaserTool/childStates/Lasering.ts +1 -1
  451. package/src/lib/tools/SelectTool/DragAndDropManager.ts +12 -7
  452. package/src/lib/tools/SelectTool/childStates/Brushing.ts +6 -5
  453. package/src/lib/tools/SelectTool/childStates/Crop/children/Cropping.ts +7 -6
  454. package/src/lib/tools/SelectTool/childStates/Crop/children/Idle.ts +1 -1
  455. package/src/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.ts +1 -1
  456. package/src/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.ts +1 -1
  457. package/src/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.ts +2 -1
  458. package/src/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.ts +1 -1
  459. package/src/lib/tools/SelectTool/childStates/DraggingHandle.tsx +7 -5
  460. package/src/lib/tools/SelectTool/childStates/EditingShape.ts +55 -12
  461. package/src/lib/tools/SelectTool/childStates/Idle.ts +58 -71
  462. package/src/lib/tools/SelectTool/childStates/PointingArrowLabel.ts +6 -7
  463. package/src/lib/tools/SelectTool/childStates/PointingCanvas.ts +1 -1
  464. package/src/lib/tools/SelectTool/childStates/PointingHandle.ts +5 -5
  465. package/src/lib/tools/SelectTool/childStates/PointingResizeHandle.ts +1 -1
  466. package/src/lib/tools/SelectTool/childStates/PointingRotateHandle.ts +1 -1
  467. package/src/lib/tools/SelectTool/childStates/PointingSelection.ts +2 -2
  468. package/src/lib/tools/SelectTool/childStates/PointingShape.ts +4 -14
  469. package/src/lib/tools/SelectTool/childStates/Resizing.ts +6 -6
  470. package/src/lib/tools/SelectTool/childStates/Rotating.ts +2 -3
  471. package/src/lib/tools/SelectTool/childStates/ScribbleBrushing.ts +7 -6
  472. package/src/lib/tools/SelectTool/childStates/Translating.ts +15 -12
  473. package/src/lib/tools/SelectTool/selectHelpers.ts +39 -4
  474. package/src/lib/tools/ZoomTool/ZoomTool.ts +1 -1
  475. package/src/lib/tools/ZoomTool/childStates/Pointing.ts +3 -3
  476. package/src/lib/tools/ZoomTool/childStates/ZoomBrushing.ts +5 -6
  477. package/src/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.ts +1 -3
  478. package/src/lib/tools/selection-logic/selectOnCanvasPointerUp.ts +1 -1
  479. package/src/lib/tools/selection-logic/updateHoveredShapeId.ts +1 -1
  480. package/src/lib/ui/TldrawUi.tsx +5 -2
  481. package/src/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.tsx +1 -9
  482. package/src/lib/ui/components/ContextMenu/DefaultContextMenu.tsx +1 -3
  483. package/src/lib/ui/components/CursorChatBubble.tsx +2 -2
  484. package/src/lib/ui/components/DefaultDebugPanel.tsx +3 -42
  485. package/src/lib/ui/components/HelperButtons/StopFollowing.tsx +2 -2
  486. package/src/lib/ui/components/Minimap/DefaultMinimap.tsx +1 -1
  487. package/src/lib/ui/components/OfflineIndicator/OfflineIndicator.tsx +6 -5
  488. package/src/lib/ui/components/PageMenu/PageItemInput.tsx +3 -1
  489. package/src/lib/ui/components/SharePanel/PeopleMenu.tsx +8 -0
  490. package/src/lib/ui/components/Toolbar/DefaultImageToolbar.tsx +1 -1
  491. package/src/lib/ui/components/Toolbar/DefaultRichTextToolbar.tsx +1 -1
  492. package/src/lib/ui/components/TopPanel/CenteredTopPanelContainer.tsx +1 -1
  493. package/src/lib/ui/components/menu-items.tsx +3 -1
  494. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +5 -3
  495. package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +2 -2
  496. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +208 -113
  497. package/src/lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem.tsx +1 -1
  498. package/src/lib/ui/components/primitives/menus/TldrawUiMenuActionItem.tsx +1 -1
  499. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +2 -3
  500. package/src/lib/ui/context/actions.tsx +6 -6
  501. package/src/lib/ui/context/components.tsx +1 -2
  502. package/src/lib/ui/hooks/useClipboardEvents.ts +2 -2
  503. package/src/lib/ui/hooks/useKeyboardShortcuts.ts +2 -2
  504. package/src/lib/ui/hooks/useTools.tsx +4 -5
  505. package/src/lib/ui/version.ts +3 -3
  506. package/src/lib/ui.css +27 -23
  507. package/src/lib/utils/excalidraw/__snapshots__/putExcalidrawContent.test.tsx.snap +12 -48
  508. package/src/lib/utils/excalidraw/putExcalidrawContent.ts +11 -6
  509. package/src/lib/utils/test-helpers.ts +60 -0
  510. package/src/lib/utils/text/richText.ts +9 -8
  511. package/src/lib/utils/tldr/buildFromV1Document.ts +9 -2
  512. package/src/test/Editor.test.tsx +40 -29
  513. package/src/test/EraserTool.test.ts +10 -12
  514. package/src/test/TestEditor.ts +48 -47
  515. package/src/test/TldrawEditor.test.tsx +6 -4
  516. package/src/test/__snapshots__/drawing.test.ts.snap +3 -1257
  517. package/src/test/__snapshots__/resizing.test.ts.snap +3 -12
  518. package/src/test/arrows-megabus.test.tsx +1 -1
  519. package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +10 -10
  520. package/src/test/commands/cameraState.test.ts +299 -0
  521. package/src/test/commands/putContent.test.ts +79 -1
  522. package/src/test/commands/setCamera.test.ts +13 -11
  523. package/src/test/commands/stackShapes.test.ts +34 -8
  524. package/src/test/commands/zoomToBounds.test.ts +19 -3
  525. package/src/test/commands/zoomToSelection.test.ts +14 -3
  526. package/src/test/custom-clipping.test.ts +16 -9
  527. package/src/test/drawing.test.ts +17 -10
  528. package/src/test/flipShapes.test.ts +33 -0
  529. package/src/test/frames.test.ts +92 -0
  530. package/src/test/groups.test.tsx +1 -1
  531. package/src/test/modifiers.test.ts +6 -6
  532. package/src/test/resizing.test.ts +7 -9
  533. package/src/test/selection-omnibus.test.ts +2 -2
  534. package/src/test/spacebarPanning.test.ts +28 -10
  535. package/src/test/test-jsx.tsx +3 -0
  536. package/tldraw.css +41 -35
  537. package/dist-cjs/lib/shapes/shared/useForceSolid.js.map +0 -7
  538. package/dist-cjs/lib/tools/selection-logic/getShouldEnterCropModeOnPointerDown.js.map +0 -7
  539. package/dist-cjs/lib/ui/components/TopPanel/DefaultTopPanel.js +0 -32
  540. package/dist-cjs/lib/ui/components/TopPanel/DefaultTopPanel.js.map +0 -7
  541. package/dist-cjs/lib/utils/text/textDirection.js +0 -51
  542. package/dist-cjs/lib/utils/text/textDirection.js.map +0 -7
  543. package/dist-esm/lib/shapes/shared/useForceSolid.mjs +0 -9
  544. package/dist-esm/lib/shapes/shared/useForceSolid.mjs.map +0 -7
  545. package/dist-esm/lib/tools/selection-logic/getShouldEnterCropModeOnPointerDown.mjs +0 -8
  546. package/dist-esm/lib/tools/selection-logic/getShouldEnterCropModeOnPointerDown.mjs.map +0 -7
  547. package/dist-esm/lib/ui/components/TopPanel/DefaultTopPanel.mjs +0 -12
  548. package/dist-esm/lib/ui/components/TopPanel/DefaultTopPanel.mjs.map +0 -7
  549. package/dist-esm/lib/utils/text/textDirection.mjs +0 -31
  550. package/dist-esm/lib/utils/text/textDirection.mjs.map +0 -7
  551. package/src/lib/shapes/shared/useForceSolid.ts +0 -6
  552. package/src/lib/tools/selection-logic/getShouldEnterCropModeOnPointerDown.ts +0 -10
  553. package/src/lib/ui/components/TopPanel/DefaultTopPanel.tsx +0 -10
  554. package/src/lib/utils/text/textDirection.ts +0 -32
@@ -15,1265 +15,11 @@ exports[`Draws a bunch > draw shape 1`] = `
15
15
  "isComplete": true,
16
16
  "isPen": false,
17
17
  "scale": 1,
18
+ "scaleX": 1,
19
+ "scaleY": 1,
18
20
  "segments": [
19
21
  {
20
- "points": [
21
- {
22
- "x": 0,
23
- "y": 0,
24
- "z": 0.5,
25
- },
26
- {
27
- "x": 1,
28
- "y": 0,
29
- "z": 0.5,
30
- },
31
- {
32
- "x": 4,
33
- "y": 0,
34
- "z": 0.5,
35
- },
36
- {
37
- "x": 10,
38
- "y": -1,
39
- "z": 0.5,
40
- },
41
- {
42
- "x": 19,
43
- "y": -4,
44
- "z": 0.5,
45
- },
46
- {
47
- "x": 30,
48
- "y": -10,
49
- "z": 0.5,
50
- },
51
- {
52
- "x": 46,
53
- "y": -20,
54
- "z": 0.5,
55
- },
56
- {
57
- "x": 61,
58
- "y": -30,
59
- "z": 0.5,
60
- },
61
- {
62
- "x": 74,
63
- "y": -43,
64
- "z": 0.5,
65
- },
66
- {
67
- "x": 89,
68
- "y": -59,
69
- "z": 0.5,
70
- },
71
- {
72
- "x": 102,
73
- "y": -77,
74
- "z": 0.5,
75
- },
76
- {
77
- "x": 108,
78
- "y": -90,
79
- "z": 0.5,
80
- },
81
- {
82
- "x": 112,
83
- "y": -103,
84
- "z": 0.5,
85
- },
86
- {
87
- "x": 117,
88
- "y": -119,
89
- "z": 0.5,
90
- },
91
- {
92
- "x": 118,
93
- "y": -131,
94
- "z": 0.5,
95
- },
96
- {
97
- "x": 119,
98
- "y": -137,
99
- "z": 0.5,
100
- },
101
- {
102
- "x": 119,
103
- "y": -145,
104
- "z": 0.5,
105
- },
106
- {
107
- "x": 120,
108
- "y": -152,
109
- "z": 0.5,
110
- },
111
- {
112
- "x": 119,
113
- "y": -158,
114
- "z": 0.5,
115
- },
116
- {
117
- "x": 117,
118
- "y": -163,
119
- "z": 0.5,
120
- },
121
- {
122
- "x": 114,
123
- "y": -167,
124
- "z": 0.5,
125
- },
126
- {
127
- "x": 109,
128
- "y": -169,
129
- "z": 0.5,
130
- },
131
- {
132
- "x": 103,
133
- "y": -170,
134
- "z": 0.5,
135
- },
136
- {
137
- "x": 97,
138
- "y": -170,
139
- "z": 0.5,
140
- },
141
- {
142
- "x": 89,
143
- "y": -170,
144
- "z": 0.5,
145
- },
146
- {
147
- "x": 80,
148
- "y": -166,
149
- "z": 0.5,
150
- },
151
- {
152
- "x": 71,
153
- "y": -159,
154
- "z": 0.5,
155
- },
156
- {
157
- "x": 62,
158
- "y": -150,
159
- "z": 0.5,
160
- },
161
- {
162
- "x": 54,
163
- "y": -138,
164
- "z": 0.5,
165
- },
166
- {
167
- "x": 50,
168
- "y": -126,
169
- "z": 0.5,
170
- },
171
- {
172
- "x": 47,
173
- "y": -113,
174
- "z": 0.5,
175
- },
176
- {
177
- "x": 46,
178
- "y": -99,
179
- "z": 0.5,
180
- },
181
- {
182
- "x": 46,
183
- "y": -82,
184
- "z": 0.5,
185
- },
186
- {
187
- "x": 47,
188
- "y": -61,
189
- "z": 0.5,
190
- },
191
- {
192
- "x": 53,
193
- "y": -41,
194
- "z": 0.5,
195
- },
196
- {
197
- "x": 60,
198
- "y": -24,
199
- "z": 0.5,
200
- },
201
- {
202
- "x": 68,
203
- "y": -7,
204
- "z": 0.5,
205
- },
206
- {
207
- "x": 79,
208
- "y": 12,
209
- "z": 0.5,
210
- },
211
- {
212
- "x": 88,
213
- "y": 32,
214
- "z": 0.5,
215
- },
216
- {
217
- "x": 96,
218
- "y": 50,
219
- "z": 0.5,
220
- },
221
- {
222
- "x": 103,
223
- "y": 69,
224
- "z": 0.5,
225
- },
226
- {
227
- "x": 106,
228
- "y": 86,
229
- "z": 0.5,
230
- },
231
- {
232
- "x": 107,
233
- "y": 102,
234
- "z": 0.5,
235
- },
236
- {
237
- "x": 107,
238
- "y": 120,
239
- "z": 0.5,
240
- },
241
- {
242
- "x": 102,
243
- "y": 136,
244
- "z": 0.5,
245
- },
246
- {
247
- "x": 90,
248
- "y": 146,
249
- "z": 0.5,
250
- },
251
- {
252
- "x": 74,
253
- "y": 154,
254
- "z": 0.5,
255
- },
256
- {
257
- "x": 43,
258
- "y": 163,
259
- "z": 0.5,
260
- },
261
- {
262
- "x": 32,
263
- "y": 164,
264
- "z": 0.5,
265
- },
266
- {
267
- "x": 21,
268
- "y": 164,
269
- "z": 0.5,
270
- },
271
- {
272
- "x": 11,
273
- "y": 164,
274
- "z": 0.5,
275
- },
276
- {
277
- "x": 2,
278
- "y": 164,
279
- "z": 0.5,
280
- },
281
- {
282
- "x": -7,
283
- "y": 162,
284
- "z": 0.5,
285
- },
286
- {
287
- "x": -13,
288
- "y": 159,
289
- "z": 0.5,
290
- },
291
- {
292
- "x": -15,
293
- "y": 153,
294
- "z": 0.5,
295
- },
296
- {
297
- "x": -15,
298
- "y": 147,
299
- "z": 0.5,
300
- },
301
- {
302
- "x": -11,
303
- "y": 138,
304
- "z": 0.5,
305
- },
306
- {
307
- "x": 1,
308
- "y": 127,
309
- "z": 0.5,
310
- },
311
- {
312
- "x": 15,
313
- "y": 112,
314
- "z": 0.5,
315
- },
316
- {
317
- "x": 34,
318
- "y": 96,
319
- "z": 0.5,
320
- },
321
- {
322
- "x": 56,
323
- "y": 79,
324
- "z": 0.5,
325
- },
326
- {
327
- "x": 81,
328
- "y": 58,
329
- "z": 0.5,
330
- },
331
- {
332
- "x": 107,
333
- "y": 33,
334
- "z": 0.5,
335
- },
336
- {
337
- "x": 126,
338
- "y": 12,
339
- "z": 0.5,
340
- },
341
- {
342
- "x": 145,
343
- "y": -10,
344
- "z": 0.5,
345
- },
346
- {
347
- "x": 160,
348
- "y": -30,
349
- "z": 0.5,
350
- },
351
- {
352
- "x": 172,
353
- "y": -50,
354
- "z": 0.5,
355
- },
356
- {
357
- "x": 185,
358
- "y": -73,
359
- "z": 0.5,
360
- },
361
- {
362
- "x": 194,
363
- "y": -93,
364
- "z": 0.5,
365
- },
366
- {
367
- "x": 199,
368
- "y": -112,
369
- "z": 0.5,
370
- },
371
- {
372
- "x": 202,
373
- "y": -127,
374
- "z": 0.5,
375
- },
376
- {
377
- "x": 203,
378
- "y": -138,
379
- "z": 0.5,
380
- },
381
- {
382
- "x": 203,
383
- "y": -146,
384
- "z": 0.5,
385
- },
386
- {
387
- "x": 201,
388
- "y": -152,
389
- "z": 0.5,
390
- },
391
- {
392
- "x": 196,
393
- "y": -155,
394
- "z": 0.5,
395
- },
396
- {
397
- "x": 191,
398
- "y": -156,
399
- "z": 0.5,
400
- },
401
- {
402
- "x": 186,
403
- "y": -157,
404
- "z": 0.5,
405
- },
406
- {
407
- "x": 178,
408
- "y": -156,
409
- "z": 0.5,
410
- },
411
- {
412
- "x": 170,
413
- "y": -150,
414
- "z": 0.5,
415
- },
416
- {
417
- "x": 164,
418
- "y": -140,
419
- "z": 0.5,
420
- },
421
- {
422
- "x": 158,
423
- "y": -128,
424
- "z": 0.5,
425
- },
426
- {
427
- "x": 151,
428
- "y": -110,
429
- "z": 0.5,
430
- },
431
- {
432
- "x": 144,
433
- "y": -89,
434
- "z": 0.5,
435
- },
436
- {
437
- "x": 139,
438
- "y": -64,
439
- "z": 0.5,
440
- },
441
- {
442
- "x": 135,
443
- "y": -36,
444
- "z": 0.5,
445
- },
446
- {
447
- "x": 132,
448
- "y": -7,
449
- "z": 0.5,
450
- },
451
- {
452
- "x": 132,
453
- "y": 22,
454
- "z": 0.5,
455
- },
456
- {
457
- "x": 132,
458
- "y": 49,
459
- "z": 0.5,
460
- },
461
- {
462
- "x": 133,
463
- "y": 74,
464
- "z": 0.5,
465
- },
466
- {
467
- "x": 140,
468
- "y": 97,
469
- "z": 0.5,
470
- },
471
- {
472
- "x": 148,
473
- "y": 113,
474
- "z": 0.5,
475
- },
476
- {
477
- "x": 156,
478
- "y": 124,
479
- "z": 0.5,
480
- },
481
- {
482
- "x": 166,
483
- "y": 137,
484
- "z": 0.5,
485
- },
486
- {
487
- "x": 175,
488
- "y": 145,
489
- "z": 0.5,
490
- },
491
- {
492
- "x": 183,
493
- "y": 150,
494
- "z": 0.5,
495
- },
496
- {
497
- "x": 191,
498
- "y": 152,
499
- "z": 0.5,
500
- },
501
- {
502
- "x": 197,
503
- "y": 152,
504
- "z": 0.5,
505
- },
506
- {
507
- "x": 205,
508
- "y": 151,
509
- "z": 0.5,
510
- },
511
- {
512
- "x": 214,
513
- "y": 146,
514
- "z": 0.5,
515
- },
516
- {
517
- "x": 223,
518
- "y": 136,
519
- "z": 0.5,
520
- },
521
- {
522
- "x": 230,
523
- "y": 125,
524
- "z": 0.5,
525
- },
526
- {
527
- "x": 236,
528
- "y": 112,
529
- "z": 0.5,
530
- },
531
- {
532
- "x": 242,
533
- "y": 95,
534
- "z": 0.5,
535
- },
536
- {
537
- "x": 247,
538
- "y": 78,
539
- "z": 0.5,
540
- },
541
- {
542
- "x": 250,
543
- "y": 61,
544
- "z": 0.5,
545
- },
546
- {
547
- "x": 252,
548
- "y": 46,
549
- "z": 0.5,
550
- },
551
- {
552
- "x": 253,
553
- "y": 37,
554
- "z": 0.5,
555
- },
556
- {
557
- "x": 253,
558
- "y": 31,
559
- "z": 0.5,
560
- },
561
- {
562
- "x": 253,
563
- "y": 24,
564
- "z": 0.5,
565
- },
566
- {
567
- "x": 251,
568
- "y": 20,
569
- "z": 0.5,
570
- },
571
- {
572
- "x": 248,
573
- "y": 16,
574
- "z": 0.5,
575
- },
576
- {
577
- "x": 246,
578
- "y": 16,
579
- "z": 0.5,
580
- },
581
- {
582
- "x": 243,
583
- "y": 16,
584
- "z": 0.5,
585
- },
586
- {
587
- "x": 240,
588
- "y": 17,
589
- "z": 0.5,
590
- },
591
- {
592
- "x": 238,
593
- "y": 19,
594
- "z": 0.5,
595
- },
596
- {
597
- "x": 236,
598
- "y": 26,
599
- "z": 0.5,
600
- },
601
- {
602
- "x": 234,
603
- "y": 34,
604
- "z": 0.5,
605
- },
606
- {
607
- "x": 233,
608
- "y": 45,
609
- "z": 0.5,
610
- },
611
- {
612
- "x": 232,
613
- "y": 56,
614
- "z": 0.5,
615
- },
616
- {
617
- "x": 232,
618
- "y": 66,
619
- "z": 0.5,
620
- },
621
- {
622
- "x": 235,
623
- "y": 79,
624
- "z": 0.5,
625
- },
626
- {
627
- "x": 241,
628
- "y": 91,
629
- "z": 0.5,
630
- },
631
- {
632
- "x": 247,
633
- "y": 100,
634
- "z": 0.5,
635
- },
636
- {
637
- "x": 255,
638
- "y": 109,
639
- "z": 0.5,
640
- },
641
- {
642
- "x": 260,
643
- "y": 113,
644
- "z": 0.5,
645
- },
646
- {
647
- "x": 266,
648
- "y": 116,
649
- "z": 0.5,
650
- },
651
- {
652
- "x": 274,
653
- "y": 118,
654
- "z": 0.5,
655
- },
656
- {
657
- "x": 280,
658
- "y": 118,
659
- "z": 0.5,
660
- },
661
- {
662
- "x": 286,
663
- "y": 115,
664
- "z": 0.5,
665
- },
666
- {
667
- "x": 291,
668
- "y": 105,
669
- "z": 0.5,
670
- },
671
- {
672
- "x": 296,
673
- "y": 93,
674
- "z": 0.5,
675
- },
676
- {
677
- "x": 298,
678
- "y": 83,
679
- "z": 0.5,
680
- },
681
- {
682
- "x": 301,
683
- "y": 70,
684
- "z": 0.5,
685
- },
686
- {
687
- "x": 303,
688
- "y": 58,
689
- "z": 0.5,
690
- },
691
- {
692
- "x": 305,
693
- "y": 48,
694
- "z": 0.5,
695
- },
696
- {
697
- "x": 306,
698
- "y": 38,
699
- "z": 0.5,
700
- },
701
- {
702
- "x": 307,
703
- "y": 31,
704
- "z": 0.5,
705
- },
706
- {
707
- "x": 308,
708
- "y": 25,
709
- "z": 0.5,
710
- },
711
- {
712
- "x": 308,
713
- "y": 22,
714
- "z": 0.5,
715
- },
716
- {
717
- "x": 308,
718
- "y": 20,
719
- "z": 0.5,
720
- },
721
- {
722
- "x": 308,
723
- "y": 19,
724
- "z": 0.5,
725
- },
726
- {
727
- "x": 308,
728
- "y": 22,
729
- "z": 0.5,
730
- },
731
- {
732
- "x": 308,
733
- "y": 27,
734
- "z": 0.5,
735
- },
736
- {
737
- "x": 308,
738
- "y": 35,
739
- "z": 0.5,
740
- },
741
- {
742
- "x": 308,
743
- "y": 44,
744
- "z": 0.5,
745
- },
746
- {
747
- "x": 308,
748
- "y": 51,
749
- "z": 0.5,
750
- },
751
- {
752
- "x": 308,
753
- "y": 56,
754
- "z": 0.5,
755
- },
756
- {
757
- "x": 308,
758
- "y": 61,
759
- "z": 0.5,
760
- },
761
- {
762
- "x": 309,
763
- "y": 66,
764
- "z": 0.5,
765
- },
766
- {
767
- "x": 312,
768
- "y": 71,
769
- "z": 0.5,
770
- },
771
- {
772
- "x": 314,
773
- "y": 74,
774
- "z": 0.5,
775
- },
776
- {
777
- "x": 317,
778
- "y": 75,
779
- "z": 0.5,
780
- },
781
- {
782
- "x": 320,
783
- "y": 76,
784
- "z": 0.5,
785
- },
786
- {
787
- "x": 324,
788
- "y": 76,
789
- "z": 0.5,
790
- },
791
- {
792
- "x": 329,
793
- "y": 73,
794
- "z": 0.5,
795
- },
796
- {
797
- "x": 333,
798
- "y": 69,
799
- "z": 0.5,
800
- },
801
- {
802
- "x": 336,
803
- "y": 66,
804
- "z": 0.5,
805
- },
806
- {
807
- "x": 339,
808
- "y": 62,
809
- "z": 0.5,
810
- },
811
- {
812
- "x": 342,
813
- "y": 59,
814
- "z": 0.5,
815
- },
816
- {
817
- "x": 344,
818
- "y": 57,
819
- "z": 0.5,
820
- },
821
- {
822
- "x": 346,
823
- "y": 55,
824
- "z": 0.5,
825
- },
826
- {
827
- "x": 348,
828
- "y": 55,
829
- "z": 0.5,
830
- },
831
- {
832
- "x": 348,
833
- "y": 55,
834
- "z": 0.5,
835
- },
836
- {
837
- "x": 349,
838
- "y": 55,
839
- "z": 0.5,
840
- },
841
- {
842
- "x": 349,
843
- "y": 56,
844
- "z": 0.5,
845
- },
846
- {
847
- "x": 350,
848
- "y": 57,
849
- "z": 0.5,
850
- },
851
- {
852
- "x": 351,
853
- "y": 59,
854
- "z": 0.5,
855
- },
856
- {
857
- "x": 351,
858
- "y": 61,
859
- "z": 0.5,
860
- },
861
- {
862
- "x": 352,
863
- "y": 62,
864
- "z": 0.5,
865
- },
866
- {
867
- "x": 352,
868
- "y": 63,
869
- "z": 0.5,
870
- },
871
- {
872
- "x": 353,
873
- "y": 64,
874
- "z": 0.5,
875
- },
876
- {
877
- "x": 354,
878
- "y": 64,
879
- "z": 0.5,
880
- },
881
- {
882
- "x": 355,
883
- "y": 64,
884
- "z": 0.5,
885
- },
886
- {
887
- "x": 356,
888
- "y": 58,
889
- "z": 0.5,
890
- },
891
- {
892
- "x": 358,
893
- "y": 49,
894
- "z": 0.5,
895
- },
896
- {
897
- "x": 360,
898
- "y": 40,
899
- "z": 0.5,
900
- },
901
- {
902
- "x": 363,
903
- "y": 32,
904
- "z": 0.5,
905
- },
906
- {
907
- "x": 365,
908
- "y": 26,
909
- "z": 0.5,
910
- },
911
- {
912
- "x": 367,
913
- "y": 19,
914
- "z": 0.5,
915
- },
916
- {
917
- "x": 369,
918
- "y": 13,
919
- "z": 0.5,
920
- },
921
- {
922
- "x": 373,
923
- "y": 7,
924
- "z": 0.5,
925
- },
926
- {
927
- "x": 376,
928
- "y": 3,
929
- "z": 0.5,
930
- },
931
- {
932
- "x": 380,
933
- "y": 2,
934
- "z": 0.5,
935
- },
936
- {
937
- "x": 385,
938
- "y": 2,
939
- "z": 0.5,
940
- },
941
- {
942
- "x": 390,
943
- "y": 2,
944
- "z": 0.5,
945
- },
946
- {
947
- "x": 397,
948
- "y": 3,
949
- "z": 0.5,
950
- },
951
- {
952
- "x": 410,
953
- "y": 11,
954
- "z": 0.5,
955
- },
956
- {
957
- "x": 424,
958
- "y": 23,
959
- "z": 0.5,
960
- },
961
- {
962
- "x": 434,
963
- "y": 34,
964
- "z": 0.5,
965
- },
966
- {
967
- "x": 446,
968
- "y": 49,
969
- "z": 0.5,
970
- },
971
- {
972
- "x": 456,
973
- "y": 64,
974
- "z": 0.5,
975
- },
976
- {
977
- "x": 464,
978
- "y": 81,
979
- "z": 0.5,
980
- },
981
- {
982
- "x": 468,
983
- "y": 95,
984
- "z": 0.5,
985
- },
986
- {
987
- "x": 470,
988
- "y": 116,
989
- "z": 0.5,
990
- },
991
- {
992
- "x": 472,
993
- "y": 142,
994
- "z": 0.5,
995
- },
996
- {
997
- "x": 472,
998
- "y": 162,
999
- "z": 0.5,
1000
- },
1001
- {
1002
- "x": 468,
1003
- "y": 178,
1004
- "z": 0.5,
1005
- },
1006
- {
1007
- "x": 458,
1008
- "y": 195,
1009
- "z": 0.5,
1010
- },
1011
- {
1012
- "x": 442,
1013
- "y": 213,
1014
- "z": 0.5,
1015
- },
1016
- {
1017
- "x": 423,
1018
- "y": 230,
1019
- "z": 0.5,
1020
- },
1021
- {
1022
- "x": 407,
1023
- "y": 240,
1024
- "z": 0.5,
1025
- },
1026
- {
1027
- "x": 393,
1028
- "y": 245,
1029
- "z": 0.5,
1030
- },
1031
- {
1032
- "x": 377,
1033
- "y": 250,
1034
- "z": 0.5,
1035
- },
1036
- {
1037
- "x": 364,
1038
- "y": 252,
1039
- "z": 0.5,
1040
- },
1041
- {
1042
- "x": 354,
1043
- "y": 252,
1044
- "z": 0.5,
1045
- },
1046
- {
1047
- "x": 346,
1048
- "y": 248,
1049
- "z": 0.5,
1050
- },
1051
- {
1052
- "x": 340,
1053
- "y": 239,
1054
- "z": 0.5,
1055
- },
1056
- {
1057
- "x": 339,
1058
- "y": 225,
1059
- "z": 0.5,
1060
- },
1061
- {
1062
- "x": 339,
1063
- "y": 198,
1064
- "z": 0.5,
1065
- },
1066
- {
1067
- "x": 349,
1068
- "y": 165,
1069
- "z": 0.5,
1070
- },
1071
- {
1072
- "x": 372,
1073
- "y": 130,
1074
- "z": 0.5,
1075
- },
1076
- {
1077
- "x": 403,
1078
- "y": 89,
1079
- "z": 0.5,
1080
- },
1081
- {
1082
- "x": 432,
1083
- "y": 54,
1084
- "z": 0.5,
1085
- },
1086
- {
1087
- "x": 467,
1088
- "y": 16,
1089
- "z": 0.5,
1090
- },
1091
- {
1092
- "x": 504,
1093
- "y": -21,
1094
- "z": 0.5,
1095
- },
1096
- {
1097
- "x": 551,
1098
- "y": -68,
1099
- "z": 0.5,
1100
- },
1101
- {
1102
- "x": 597,
1103
- "y": -115,
1104
- "z": 0.5,
1105
- },
1106
- {
1107
- "x": 619,
1108
- "y": -138,
1109
- "z": 0.5,
1110
- },
1111
- {
1112
- "x": 641,
1113
- "y": -162,
1114
- "z": 0.5,
1115
- },
1116
- {
1117
- "x": 663,
1118
- "y": -188,
1119
- "z": 0.5,
1120
- },
1121
- {
1122
- "x": 675,
1123
- "y": -203,
1124
- "z": 0.5,
1125
- },
1126
- {
1127
- "x": 684,
1128
- "y": -219,
1129
- "z": 0.5,
1130
- },
1131
- {
1132
- "x": 692,
1133
- "y": -237,
1134
- "z": 0.5,
1135
- },
1136
- {
1137
- "x": 693,
1138
- "y": -244,
1139
- "z": 0.5,
1140
- },
1141
- {
1142
- "x": 691,
1143
- "y": -250,
1144
- "z": 0.5,
1145
- },
1146
- {
1147
- "x": 682,
1148
- "y": -254,
1149
- "z": 0.5,
1150
- },
1151
- {
1152
- "x": 664,
1153
- "y": -256,
1154
- "z": 0.5,
1155
- },
1156
- {
1157
- "x": 642,
1158
- "y": -256,
1159
- "z": 0.5,
1160
- },
1161
- {
1162
- "x": 621,
1163
- "y": -253,
1164
- "z": 0.5,
1165
- },
1166
- {
1167
- "x": 589,
1168
- "y": -240,
1169
- "z": 0.5,
1170
- },
1171
- {
1172
- "x": 554,
1173
- "y": -221,
1174
- "z": 0.5,
1175
- },
1176
- {
1177
- "x": 526,
1178
- "y": -201,
1179
- "z": 0.5,
1180
- },
1181
- {
1182
- "x": 502,
1183
- "y": -182,
1184
- "z": 0.5,
1185
- },
1186
- {
1187
- "x": 484,
1188
- "y": -165,
1189
- "z": 0.5,
1190
- },
1191
- {
1192
- "x": 467,
1193
- "y": -146,
1194
- "z": 0.5,
1195
- },
1196
- {
1197
- "x": 456,
1198
- "y": -131,
1199
- "z": 0.5,
1200
- },
1201
- {
1202
- "x": 450,
1203
- "y": -120,
1204
- "z": 0.5,
1205
- },
1206
- {
1207
- "x": 448,
1208
- "y": -112,
1209
- "z": 0.5,
1210
- },
1211
- {
1212
- "x": 448,
1213
- "y": -107,
1214
- "z": 0.5,
1215
- },
1216
- {
1217
- "x": 449,
1218
- "y": -104,
1219
- "z": 0.5,
1220
- },
1221
- {
1222
- "x": 452,
1223
- "y": -103,
1224
- "z": 0.5,
1225
- },
1226
- {
1227
- "x": 458,
1228
- "y": -102,
1229
- "z": 0.5,
1230
- },
1231
- {
1232
- "x": 462,
1233
- "y": -102,
1234
- "z": 0.5,
1235
- },
1236
- {
1237
- "x": 465,
1238
- "y": -103,
1239
- "z": 0.5,
1240
- },
1241
- {
1242
- "x": 470,
1243
- "y": -104,
1244
- "z": 0.5,
1245
- },
1246
- {
1247
- "x": 472,
1248
- "y": -105,
1249
- "z": 0.5,
1250
- },
1251
- {
1252
- "x": 474,
1253
- "y": -106,
1254
- "z": 0.5,
1255
- },
1256
- {
1257
- "x": 475,
1258
- "y": -106,
1259
- "z": 0.5,
1260
- },
1261
- {
1262
- "x": 476,
1263
- "y": -107,
1264
- "z": 0.5,
1265
- },
1266
- {
1267
- "x": 476,
1268
- "y": -107,
1269
- "z": 0.5,
1270
- },
1271
- {
1272
- "x": 477,
1273
- "y": -107,
1274
- "z": 0.5,
1275
- },
1276
- ],
22
+ "points": "AAAAAAA4ADwAAAA4AEQAAAA4AEkAvAA4wEwAxAA4gE8AyQA4wFEAzQA4oFOAzwA4oFRg0QA4kFVg0wA4YFbQ1AA4wFag1QA4AFdw1gA4UFdw1wA4YFcY2AA4cFdI2AA4cFeI2AA4gFfA2AA4cFfw2AA4UFcY2QA4IFc42QA40FZI2QA4cFZQ2QA4EFZQ2QA4kFVQ2QA4AFUw2QA4cFT42AA4wFOw2AA4wFJQ2AA4QFLg1wA44FEQ1wA4wFEw1gA4wFEg1QA44FGg0wA4oFIg0QA4gFMAzgA4QFQAxwA48FQASgA4gFUAUAA4AFZAUgA4cFZQVAA4oFZgVQA4sFZgVgA4sFaAVwA4YFZAWAA4oFWQWAA4oFTQWAA4YFEYWQA4AFAgWQA4QE0gWQA4gEkgWQA4AEAgWQA4AMcQWQA4gMr4WAA4gMvIWAA4gMuYWAA4gMlQWAA4ADzwVwA4gEsAVwA4QFAAVgA4AFPwVAA4EFVAUwA4sFYgUAA44FcASgA4iFgAyQA4AFmAzwA4YFlA0gA4yFmQ1AA4EFrQ1QA4OFoA1wA4UFrw1wA4WFpQ2AA4WFqQ2AA4SFrA2AA4IFrY2AA4+Fng2AA40Fno2AA4kFng2AA4UFmw2AA4IFlg2AA48FgA2AA4uFjg1gA4gFiQ1QA4WFgA1AA4OFiA0AA4IFgAxwA4IFiATQA4IFggUgA4KFigVAA4YFgQVgA4oFgQVwA44FjAVwA4MFlIWAA4eFmIWAA4uFmwWAA4+FnAWAA4KFrAWAA4aFq4WAA4sFqQWAA4+FpAWAA4MFvQVwA4YFsAVwA4kFvwVQA4uFvgVAA40FugUwA44FvAUQA46FugUAA46FvATwA46FsATgA42FsATQA4wFsATAA4sFsATAA4mFsATAA4gFtATAA4cFvATAA4YFuATgA4UFtAUAA4SFugUQA4QFsAUwA4QFsgVAA4WFvwVAA4iFuwVQA4uFtAVgA4+FvQVgA4EFwQVwA4KFxAVwA4SFxgVwA4YFxgVwA4eFwwVwA4jFyQVgA4oFzQVQA4qFwwVQA4tFxgVAA4vFxAUwA4xFwAUgA4yFzAUAA4zFzATwA40FxATgA40FyATQA40FwATQA40FzATAA40FyATQA40FzATgA40FxgUAA40FyAUQA40FxgUgA40FwAUwA40FygUwA41FwgVAA44FxwVAA46FygVAA49FywVAA4AF3AVAA4EF3AVAA4JF2QVAA4NF1QVAA4QF0gVAA4TF3AUwA4WF1gUwA4YF0gUwA4aF3gUgA4cF3gUgA4cF3gUgA4dF3gUgA4dF0AUwA4eF0gUwA4fF1gUwA4fF2gUwA4gF3AUwA4gF3gUwA4hF0AVAA4iF0AVAA4jF0AVAA4kF1AUwA4mF0gUgA4oF0AUQA4rF0AUAA4tF2ATgA4vF3ATAA4xF2ASgA41F0ARwA44F0AQgA48F0AQAA4BF4AQAA4GF4AQAA4NF4AQgA4aF6ASQA4oF7ATQA4yF5AUAA4+F4gUgA4IF8AVAA4QF8QVQA4UF/wVQA4WF9AVwA4YF9wWAA4YF8QWQA4UF+QWQA4KF8YWgA46F6oWgA4nF4wWwA4XF6AWwA4JF6oWwA45F3QWwA4sF3gWwA4iF3gWwA4aF3AWwA4UF14WwA4TF0IWwA4TF0wWgA4dF0oWQA40F0QWAA4TF6QVQA4wF7AUgA4TF8ATAA44F9AzQA4TmBA1AA4qmAw1wA41mBQ2AA4AmEQ2QA4LmHg2QA4RmFY2gA4WGHY2gA4aGFo2wA4amGg2wA4ZmHQ2wA4VGHw2wA4MGEA3AA4BGEA3AA42mDo2wA4mmCA2wA4VGDo2gA4HGBI2gA42F+w2QA4kF8o2QA4TF+Q2AA4IF8Y2AA4CF+A1wA4AF8A1wA4AF+w1gA4BF+A1gA4EF9w1gA4KF9g1gA4OF9g1gA4RF9w1gA4WF+A1gA4YF+Q1gA4aF+g1gA4bF+g1gA4cF+w1gA4cF+w1gA4dF+w1gA4",
1277
23
  "type": "free",
1278
24
  },
1279
25
  ],