Commit graph

377 commits

Author SHA1 Message Date
Elizabeth Louie
c5124b160e
add triangle tool (#433)
* add triangle tool

* fix keyboard shortcuts

* cleaned code

* Add binding, better indicator, bounds

* Fix tests

* Refactor getBindingPoint, binding distances, add comments to getBindingPoint

* Update TextUtil.spec.tsx.snap

* fix intersection math

* fix ellipse indicator

* Update EllipseUtil.tsx

* Update BrushSession.spec.ts

* Add draw style to triangle

* improve strokes

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2021-12-09 22:29:09 +00:00
Steve Ruiz
52ae47371d
[improvement] Select unfilled shapes by clicking on their stroke (#438)
* removes touch events from middle of shapes

* Improve ellipse

* selectable stroke when not selected, fill when selected

* Update BrushSession.spec.ts

* Fix test
2021-12-07 20:48:56 +00:00
Steve Ruiz
fae66549c7 v1.2.3 2021-12-02 13:06:43 +00:00
Steve Ruiz
0334ac0f30
Fix alt zoom (#424) 2021-12-01 14:25:56 +00:00
Steve Ruiz
5c0e4fad11 Upadte changelogs 2021-11-28 10:30:16 +00:00
Steve Ruiz
03cfea6404 v1.2.2 2021-11-28 10:25:17 +00:00
Steve Ruiz
2ad6b45ccc v1.2.1 2021-11-28 10:24:42 +00:00
Steve Ruiz
3ab5db27b9 v1.2.1 2021-11-28 10:19:29 +00:00
Steve Ruiz
893e3dee41 v1.2.0 2021-11-28 10:18:55 +00:00
Steve Ruiz
7bf5f5fd8a v1.2.0 2021-11-28 10:16:30 +00:00
Steve Ruiz
0fe3d80fa4 v1.1.11 2021-11-28 10:10:09 +00:00
Steve Ruiz
1c0f711a53 Update changelogs 2021-11-28 10:08:59 +00:00
Noah Shipley
98cc0d4cac
Feature/mobx - adds mobx support to @tldraw/core (#383)
* Initial commit with mobx

* Convert more to mobx

* Make useCameraCss reactive (autorun)

* Move more items to mobx

* Fix more invalid components and layout hooks that needed to be reactive

* Add autorun to css layout effect

* Remove centric specific yarn.lock changes

* mild cleanup

* update from main

* add tests, example

* cleanup

* minor tweak to advanced example

* Update app.tsx

* Optimizations around events not being memoized

* Support className property on SVGContainer

* Add data-type to shape container to aid with external styling

* Fix classnames

* Fixes bug on text shapes / shapes with refs

* v1.1.9-beta.1

* v1.1.9-beta.2

* Drop mobx as a dependency for core

* v1.1.9-beta.3

* rename

* Revert "Drop mobx as a dependency for core"

This reverts commit 2d93f84a87f0c709e55fb2766519bfde03f8e854.

* remove unused code from utils, move curve to separate package

* v1.1.9-beta.4

* Add pretty-quick

* Update package.json

* Renamings

Co-authored-by: Noah Shipley <nshipley@centricsoftware.com>
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2021-11-28 10:05:40 +00:00
Steve Ruiz
a8f2522d20 v1.1.5 2021-11-26 17:15:54 +00:00
Christian Petersen
e2814943e9
[feature] Add grids (#344)
* [feature] grids

* Shows relative grids at different zoom levels

* Update colors

* Restores vec and intersect to monorepo, changes vec.round to vec.toFixed, adds vec.snap

* Snapping in translate and transforms, fix shortcut

* fix bugs in build

* use grid size for nudge too

* update scripts

* Update grid.tsx

* Update grid.tsx

* Fixed!

* Update grid.tsx

* Fix package imports

* Update Editor.tsx

* Improve tsconfigs, imports

* Fix tiny arrow bugs, snap starting points to grid

* Update tsconfig.base.json

* Update shape-styles.ts

* Fix example tsconfig

* Fix translate type error

* Fix types, paths

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2021-11-26 15:14:10 +00:00
Proful Sadangi
1f7f779506
feature middle mouse wheel pan (#364) 2021-11-24 10:01:17 +00:00
Steve Ruiz
b4d3d929ab v1.1.3 2021-11-22 16:20:06 +00:00
Steve Ruiz
a2fff9dca7
[improvement] Add basic support for copying text (#354)
* Add getSvgElement

* Update TextUtil.tsx

* Add sticky svg

* Fix bounds bug, improve text export

* Include fonts
2021-11-22 16:15:51 +00:00
Yao Wang
f8dc5b3248
[docs] fix type (tldraw/core) (#353)
- `Indicator` -> `Component`

Closes #352
2021-11-22 15:21:19 +00:00
Steve Ruiz
588a023e0e v1.1.2 2021-11-21 12:42:32 +00:00
Steve Ruiz
bbbb9bcabb
Fix kbd spacing (#325) 2021-11-20 15:46:05 +00:00
Steve Ruiz
119b1e3d0f v1.1.0 2021-11-20 13:31:20 +00:00
Steve Ruiz
7faa716784 v1.0.5 2021-11-20 13:28:07 +00:00
Steve Ruiz
62803443ef
fix stuck pointer during text editing / palm hits (#316) 2021-11-20 00:05:48 +00:00
Steve Ruiz
af0764d3f9 v1.0.4 2021-11-19 15:02:04 +00:00
Steve Ruiz
e542f1fde5
Update READMEs (#290)
* Update readmes

* tweak links

* Update README.md
2021-11-18 15:07:55 +00:00
Steve Ruiz
9158666a09 Update README.md 2021-11-18 14:06:05 +00:00
Steve Ruiz
6af6cfb617 update readmes 2021-11-18 14:05:44 +00:00
Steve Ruiz
e6a3e5c3ea
[big chore] restore core to monorepo (#287)
* move core into repo, apps into apps folder, update tests

* Update scripts for build:core

* improve scripts

* remove noise from www

* Update .gitignore

* Fix focus bug

* add ci test script

* Update main.yml
2021-11-18 13:09:18 +00:00
Steve Ruiz
599e6032a9 Removes core (off to its own repo) 2021-10-27 18:52:02 +01:00
Steve Ruiz
0e9e45734a v0.0.130 2021-10-27 17:23:04 +01:00
Steve Ruiz
02a6488f46 Fix types for real 2021-10-27 17:21:49 +01:00
Steve Ruiz
c04e4134d2 Fix rendering bug, tweak API 2021-10-27 17:16:07 +01:00
Steve Ruiz
a906a3bd95 v0.0.129 2021-10-27 16:21:20 +01:00
Steve Ruiz
2e6c33342d
[refactor] ShapeUtils (#206)
* Starts refactor

* tests passing, got it

* Fix next
2021-10-27 16:15:01 +01:00
Steve Ruiz
8d6fe119a5 minor utils tweaks 2021-10-25 09:38:11 +01:00
Steve Ruiz
ac4849a360 release 2021-10-22 20:17:42 +01:00
Steve Ruiz
083b36e167 v0.0.128 2021-10-22 20:14:28 +01:00
Steve Ruiz
0f2887a039 updates package 2021-10-22 20:14:02 +01:00
Steve Ruiz
5fa09a7e4a v0.0.127 2021-10-22 20:04:50 +01:00
Steve Ruiz
b94c97aafe moves svg utils into its own package 2021-10-22 20:03:22 +01:00
Steve Ruiz
f8ede2eab2 v0.0.126 2021-10-22 15:08:07 +01:00
Steve Ruiz
0806d386ff v0.0.125 2021-10-22 14:51:56 +01:00
Steve Ruiz
757feb009b
[fix] group behavior (#197)
* Fixes nudging on groups

* Fix alignment of grouped shapes

* fix distribute of grouped shapes

* Fixes stretching groups

* Fix rotate command

* Improve idsToMutate code

* remove boundsRotation
2021-10-22 14:09:39 +01:00
Steve Ruiz
3ba4d435bc
[fix] Hides handles that are too close to a previous handle (#193)
* Hides handles that are too close to a previous handle

* Hide handles if only one handle is visible
2021-10-22 12:28:11 +01:00
Steve Ruiz
ff50aa6ad5
[fix] bound shape size undo (#191)
* fix text centering, double click grouped text to select rather than edit

* Fix selecting grouped text

* Writes tests for select tool, fixes undo behavior while in session

* reduces binding distance, adds constants for binding distance and cloning distances

* adjust text sizes

* Update arrow.session.spec.ts
2021-10-22 12:05:23 +01:00
Steve Ruiz
0dffdd2d29
[improvement] snaps (#190)
* Simplify snaps

* Update readmes

* Improves snapping

* filter snappable shapes, give viewport information to sessions
2021-10-21 19:54:54 +01:00
Steve Ruiz
8fd9cf8389
[feature] UX preferences (#172)
* Improves snapping util, styles corner buttons, adds preferences

* Update bounds.test.tsx

* Update preferences.tsx

* Update preferences.tsx

* Change copy
2021-10-19 14:29:55 +01:00
Steve Ruiz
dbf3c253ce v0.0.124 2021-10-19 12:30:36 +01:00
Steve Ruiz
246cac9b5b v0.0.123 2021-10-19 12:28:57 +01:00
Steve Ruiz
a7e8fafb96
Adds up and downstream links (#171) 2021-10-19 12:19:56 +01:00
Steve Ruiz
235a57d302 Adds indicator for text, linked translate 2021-10-18 16:59:12 +01:00
Steve Ruiz
4b24219fc1 v0.0.122 2021-10-18 15:35:02 +01:00
Steve Ruiz
6661ab0586
[feature] transform snaps (#170)
* transform single

* transform
2021-10-18 15:26:34 +01:00
Steve Ruiz
c56bf3b0eb v0.0.121 2021-10-18 14:33:07 +01:00
Steve Ruiz
0cfc68b004
[feature] snapping (#168)
* defer cloning

* basic snapping

* Improves algorithm for snap points, rendering

* Improves snapping, snaplines

* Enables a clone to snap to its parent

* Adds overlay

* Fix overlay, zoom scaling for distance and speed
2021-10-18 14:30:42 +01:00
Steve Ruiz
b1b9f901d3 v0.0.120 2021-10-17 09:57:26 +01:00
Steve Ruiz
01c824bbbe
Improve rectangle rendering (#163) 2021-10-17 09:09:01 +01:00
Steve Ruiz
db62005251
Fix dark theme UI (#161)
* Fix theming

* Cleanup

* Update tldraw.tsx
2021-10-17 06:59:10 +01:00
Steve Ruiz
9b072fec95 v0.0.119 2021-10-16 23:22:36 +01:00
Steve Ruiz
58ffba3047 v0.0.118 2021-10-16 23:21:35 +01:00
Steve Ruiz
abcdcd8dae
improves multiplayer presence (#160) 2021-10-16 21:24:31 +01:00
Steve Ruiz
32b2ae88ee
[feature] grid cloning (#152)
* Adds more clone buttons

* Adds grid session, fix bug on text, adds keyboard handlers for sessions

* Adds copy paint, point argument to duplicate

* Adds tests for duplicate at point

* Adds status for shape cloning

* Adds 32px padding when clone brushing
2021-10-15 17:14:36 +01:00
Steve Ruiz
0d8d45d873 v0.0.117 2021-10-15 14:13:17 +01:00
Steve Ruiz
1ec0434a3c
[improvement] improve performance (#151)
* Remove context menu

* Update stitches elements

* Update yarn.lock

* Fix bug on bounds bg

* Adds timer for will-change

* remove zindex

* jesus christ, just an extra div

* Remove will change timer
2021-10-15 13:49:48 +01:00
Steve Ruiz
826ed9a185
Fixes cleanup for new shapes on undo (#150)
* Fixes cleanup for new shapes on undo

* Fix streamline
2021-10-15 10:33:48 +01:00
Steve Ruiz
f3f4ace645 v0.0.116 2021-10-14 17:32:35 +01:00
Steve Ruiz
f8516a2c4a Fix pinching on tools other than select 2021-10-14 17:25:10 +01:00
Steve Ruiz
4476cc6190 v0.0.115 2021-10-14 16:43:47 +01:00
Steve Ruiz
46c9ac508d
[feature] Side cloning (#149)
* Adds side clone behavior

* Adds tab to clone, fixes wheel

* Fix bug in draw shape

* Passing tests
2021-10-14 16:37:52 +01:00
Steve Ruiz
d95a2e83a0 Fix handles when drawing 2021-10-14 14:14:47 +01:00
Steve Ruiz
1c65c51b60 Fix zoom and paste for embedded shapes 2021-10-14 13:51:21 +01:00
Steve Ruiz
f8cb7f03b6 Adds space panning, tweak css for performance 2021-10-14 13:33:39 +01:00
Steve Ruiz
e1c307fd71
[feature] sticky notes (#148)
* Refactor toolbar

* Adds containerRef prop

* Fix arrows for groups

* Adds auto focus

* Notes on blurring

* Upgrades to match main

* Loose ends around sticky notes

* Fixes user select

* Passing tests

* Update sticky.tsx
2021-10-13 17:03:33 +01:00
Steve Ruiz
1408ac2cbe
Refactor tools (#147)
* Refactor Tools

* Update text.tsx

* Passing tests

* Error fixes

* Fix re-selecting tool

* Fix arrow
2021-10-13 14:55:31 +01:00
Steve Ruiz
bd6197ea16 Fix types 2021-10-12 23:02:44 +01:00
Steve Ruiz
93827e45dd Adds indicators for selected shapes from other users 2021-10-12 15:59:04 +01:00
Steve Ruiz
7eae5c87e0 v0.0.114 2021-10-10 17:37:15 +01:00
Steve Ruiz
aae43884ca v0.0.113 2021-10-10 14:14:04 +01:00
Steve Ruiz
d15c1493e2 v0.0.112 2021-10-10 13:25:41 +01:00
Steve Ruiz
519c18f300 v0.0.111 2021-10-10 11:59:33 +01:00
Steve Ruiz
c49b2e684a
[improvement] stroke appearance (#142)
* make default style small, adjust font sizes and stroke widths

* Reduce size of handle click area

* Make save command+shift+s (just persists)

* Update stroke width for arrow

* Update stroke width for draw

* Update stroke width for ellipse

* Update stroke width for rectangle

* Tweak dash algorithm

* Updates snapshot
2021-10-10 10:41:45 +01:00
Steve Ruiz
601ff19cc9 v0.0.110 2021-10-09 15:02:48 +01:00
Steve Ruiz
d6b38ed79e
[feature] Live cursors MVP (#137)
* Adds very basic live cursors

* Adds ability to hide pages / menu
2021-10-09 14:57:44 +01:00
Steve Ruiz
51dbede313 v0.0.109 2021-10-08 12:36:45 +01:00
Steve Ruiz
b9d7e82a7e v0.0.108 2021-10-07 16:07:44 +01:00
Steve Ruiz
a144360adf
fixes cursors, bounding box when hidden (#133) 2021-10-07 16:06:11 +01:00
Steve Ruiz
798bae28ca Set zoom scale bounds based on camera zoom 2021-10-06 13:03:45 +01:00
Steve Ruiz
5c9e148ad8 Rough fix for zoom events 2021-10-06 12:55:09 +01:00
Steve Ruiz
3fc86a46ee v0.0.107 2021-10-06 09:55:06 +01:00
Steve Ruiz
6733e27dbc bumps use gesture 2021-10-05 20:28:52 +01:00
Steve Ruiz
cb55ad96ff v0.0.106 2021-09-28 11:16:02 +01:00
Steve Ruiz
22a9668b5c
[feature] Add isStateful flag for shape definitions (#130)
* Add `isStateful` flag for shape definitions

* Update useShapeTree.tsx
2021-09-28 11:12:36 +01:00
Steve Ruiz
51eef7d2d0 v0.0.105 2021-09-24 15:13:03 +01:00
Steve Ruiz
151b3083f7 v0.0.104 2021-09-24 15:12:25 +01:00
Steve Ruiz
ea66362135
[fix] copy bindings (#124)
* v0.0.103

* Copies bindings together with shapes that are bound

* Remove old shape bindings from copied shape handles
2021-09-24 13:47:11 +01:00
Steve Ruiz
639f2412d1 Fix outline on non-draw-style rectangles 2021-09-24 12:02:49 +01:00
Steve Ruiz
31638c7c90
[fix] indicator shapes (#121)
* Fix indicator shape for draw shape, rectangle shape

* Fixes perfect-freehand bug

* Tweaks streamline
2021-09-24 10:47:25 +01:00
Steve Ruiz
5d3af9cec0 v0.0.102 2021-09-23 12:47:39 +01:00
Steve Ruiz
1e3e19199c
[fix] Allows boundsDragEvents to fire even when hidden (#115)
* Allows boundsDragEvents to fire even when hidden

* Fix failing test
2021-09-23 12:45:39 +01:00
Steve Ruiz
9ddf7d0dc4 v0.0.101 2021-09-23 12:17:43 +01:00
Steve Ruiz
fc1dde724e
Makes keyboard events work again (#114) 2021-09-23 12:14:22 +01:00
Steve Ruiz
6ba76c0e78 v0.0.100 2021-09-22 18:34:36 +01:00
Steve Ruiz
2fe7923bc4
Support rotated shapes when pasting (#107) 2021-09-22 18:24:16 +01:00
Steve Ruiz
157b2b9208 v0.0.99 2021-09-22 16:01:51 +01:00
Steve Ruiz
b90c57bbc3 improve canvas positioning, fix zaxis reordering 2021-09-22 16:00:20 +01:00
Steve Ruiz
9c0de7ad9c v0.0.98 2021-09-22 14:25:50 +01:00
Steve Ruiz
4a99c13006
[feature] focus mode (#103)
* Adds isFocusMode

* Adds menu option, fixes scale for group dashes, scopes themes to each component based on id

* Add example for a "no size" embed
2021-09-22 12:28:55 +01:00
Steve Ruiz
421989f827 Revert changes to translate3d 2021-09-22 09:54:18 +01:00
Steve Ruiz
68efbf69fa
[fix] Fixes off-center bugs (#101)
* moves center from window center to center of element

* Removes onMount in Renderer, adds onBoundsChange

* Fix centered-g css

* Fix zoom to fit
2021-09-22 09:45:09 +01:00
Steve Ruiz
7d61d24398 v0.0.97 2021-09-21 16:50:17 +01:00
Steve Ruiz
bbee7bc2b2
Feature copy and paste (#99)
* adds copy and paste, scopes keyboard events to focused elements

* Fix tools panel bug, adds copy across documents

* Makes autofocus default
2021-09-21 16:47:04 +01:00
Steve Ruiz
eabaf2f30e v0.0.96 2021-09-19 22:57:54 +01:00
Pedro Duarte
f8b2fe1c85
Refactor to Stitches Core (#89)
* Refactor www/styles to Stitches Core

* Update package.json

* Begin refactor of `tldraw`

* More refactoring

* A bit more

* little bit more

* Update yarn.lock

* Drops React dependencies to 16.8

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2021-09-19 20:45:50 +01:00
Steve Ruiz
e7c6a9b6de Makes strokes more consistent across sizes / dash weights 2021-09-19 18:20:23 +01:00
Steve Ruiz
2952aab8a8
Improves logic for when to display a group as hovered (#95) 2021-09-19 17:53:32 +01:00
Steve Ruiz
87d271d7aa
[improvement] Improve rotation (#94)
* Fix rotation handle, rotation for arrows and shapes with handles

* Fix bug on draw bounds when cloning
2021-09-19 14:53:52 +01:00
Steve Ruiz
bec693a1d9
Tweaks the draw appearance, fix ellipse rotation (#93) 2021-09-18 18:39:34 +01:00
Steve Ruiz
3c3c23ec4d v0.0.95 2021-09-17 22:43:59 +01:00
Steve Ruiz
8ae625baef
Fix stale inputs reference (#92)
* Add `onMount` to Renderer to share inputs

* Removes brush updater

* Update brush.test.tsx
2021-09-17 22:29:45 +01:00
Steve Ruiz
cdb7c74f8e Updates perfect-freehand, draw renderings 2021-09-17 17:37:40 +01:00
Steve Ruiz
39afd9a3f6 v0.0.94 2021-09-15 16:49:21 +01:00
Steve Ruiz
17a7b15f9a
Changes usePosition to useLayoutEffect (#91) 2021-09-15 16:47:34 +01:00
Steve Ruiz
f5b7190010 v0.0.93 2021-09-14 12:33:28 +01:00
Steve Ruiz
820de45a35 Fix draw shape, menu 2021-09-14 12:17:49 +01:00
Steve Ruiz
abbf8f1f0c v0.0.92 2021-09-14 08:52:14 +01:00
Steve Ruiz
56f327d4f9 Adds tsconfig-replace-paths 2021-09-14 08:51:24 +01:00
Steve Ruiz
95518f6bc1 v0.0.91 2021-09-13 22:50:49 +01:00
Steve Ruiz
a2a68f4463 Fix paths on build 2021-09-13 22:49:53 +01:00
Steve Ruiz
5ce18550e7 v0.0.90 2021-09-13 22:33:24 +01:00
Steve Ruiz
fc9b9fa3e3
expand arrow bounds based on interpolated points (#90) 2021-09-13 22:32:17 +01:00
Steve Ruiz
3603ec3953 fix types 2021-09-13 17:32:31 +01:00
Steve Ruiz
eaeffae333 More type adjustments 2021-09-13 17:13:48 +01:00
Steve Ruiz
22fbca58d3 Allows for additional properties 2021-09-13 16:59:37 +01:00
Steve Ruiz
2f4a1f97a2 big refactor 2021-09-13 16:38:42 +01:00
Steve Ruiz
612269ab38 v0.0.89 2021-09-12 14:11:47 +01:00
Steve Ruiz
7c02d60ee6 bumps 2021-09-12 14:11:29 +01:00
Steve Ruiz
5cb031ddc2 v0.0.88 2021-09-12 14:09:55 +01:00
Steve Ruiz
f7971d5c6f Cleans up packages, tsconfigs, fixes for docs 2021-09-12 14:00:31 +01:00
Steve Ruiz
a3da5e1937 v0.0.87 2021-09-12 13:26:57 +01:00
Steve Ruiz
7f0cfd2c5a Splits vectors and intersections into new packages
esbuild isn't currently tree shaking intersections, but that's a file where we could save some room
2021-09-12 13:21:44 +01:00
Steve Ruiz
8bcb2e1154 Fix tests 2021-09-12 00:41:50 +01:00
Steve Ruiz
af81a98fa4 Fix jumpy shapes 2021-09-12 00:13:45 +01:00
Steve Ruiz
d79f66da4e Fix null issues (more to do here) 2021-09-11 23:58:22 +01:00
Steve Ruiz
4b7d9c2af9 Fix transforms 2021-09-11 23:24:49 +01:00
Steve Ruiz
0afd7f2806 Fix impossible type 2021-09-11 23:22:07 +01:00
Steve Ruiz
c004ed5e56 Fix text scrolling 2021-09-11 23:17:54 +01:00
Steve Ruiz
c8c3ebce68 Fix bounds edge handles 2021-09-11 20:02:16 +01:00
Steve Ruiz
dea7d5c7d4 Push a few more methods to the base shape utils class 2021-09-11 18:07:53 +01:00
Steve Ruiz
f4e8631482 Increase padding 2021-09-11 17:23:38 +01:00