Commit graph

162 commits

Author SHA1 Message Date
Steve Ruiz
6661ab0586
[feature] transform snaps (#170)
* transform single

* transform
2021-10-18 15:26:34 +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
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
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
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
f8516a2c4a Fix pinching on tools other than select 2021-10-14 17:25:10 +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
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
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
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
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
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
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
fc1dde724e
Makes keyboard events work again (#114) 2021-09-23 12:14:22 +01:00
Steve Ruiz
2fe7923bc4
Support rotated shapes when pasting (#107) 2021-09-22 18:24:16 +01:00
Steve Ruiz
b90c57bbc3 improve canvas positioning, fix zaxis reordering 2021-09-22 16:00:20 +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
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
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
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
17a7b15f9a
Changes usePosition to useLayoutEffect (#91) 2021-09-15 16:47:34 +01:00
Steve Ruiz
820de45a35 Fix draw shape, menu 2021-09-14 12:17:49 +01:00
Steve Ruiz
56f327d4f9 Adds tsconfig-replace-paths 2021-09-14 08:51: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
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
Steve Ruiz
5359e92771 Move SVG container to shape implementations 2021-09-11 17:21:10 +01:00
Steve Ruiz
4c41d98c8e Fix text shape 2021-09-11 17:06:28 +01:00
Steve Ruiz
e7987ca451 moves to div renderer 2021-09-11 16:24:03 +01:00
Steve Ruiz
64e5edbd6f Fix test and accidental files from dev, fix container styles 2021-09-09 15:37:46 +01:00
Steve Ruiz
9194ee7522 Tweak dev server 2021-09-09 14:58:55 +01:00
Steve Ruiz
44e1c7dfdc Adds independent zooms, prevents elements from effecting root or body 2021-09-09 14:06:45 +01:00
Steve Ruiz
b00e0d3a95 Improves pan and zoom gestures 2021-09-09 13:32:08 +01:00
Steve Ruiz
8154ed5a2a Adjusts small example, makes inputs unique to each instance 2021-09-08 17:18:43 +01:00
Steve Ruiz
7489ee8174 Add imperative test, bump rko 2021-09-08 12:53:52 +01:00
Steve Ruiz
220d8aebda Minor fixes 2021-09-08 11:58:24 +01:00
Steve Ruiz
4a0800a5df cleanup 2021-09-08 11:27:05 +01:00
Steve Ruiz
4e13b0e07b Allow for resets when id changes 2021-09-08 11:16:10 +01:00
Steve Ruiz
254919a6e3 Remove deepmerge dependency, use merge and patch from rok 2021-09-06 14:09:15 +01:00
Steve Ruiz
87ffff5097 Updates deps, pointerMove event handlers 2021-09-04 11:32:33 +01:00
Steve Ruiz
37985f3842 Revert "Merge branch 'next' of https://github.com/tldraw/tldraw into next"
This reverts commit 221eb7b10e, reversing
changes made to fbbaf08513.
2021-09-04 10:17:10 +01:00
Steve Ruiz
24e9be73cc Let's try that again
This reverts commit da0f8df4d7.

Revert "Update package.json"

This reverts commit 522f87c833.

Revert "removes custom document"

This reverts commit 00d9146895.

Revert "Remove a dep that may have been causing issues"

This reverts commit 69462632a5.

Revert "Update index.tsx"

This reverts commit d05807bbfb.

Revert "Adds manifest"

This reverts commit 1c30552643.
2021-09-04 10:17:10 +01:00
Steve Ruiz
69462632a5 Remove a dep that may have been causing issues 2021-09-03 16:09:54 +01:00
Steve Ruiz
6de0dfee8a bumps stitches to 1.0.0, allows move events to propagate correctly 2021-09-03 13:56:07 +01:00
Steve Ruiz
e38b9cd600 Fix bad state 2021-09-03 11:24:50 +01:00
Steve Ruiz
9461935aca closing in on group selection bugs 2021-09-03 10:45:36 +01:00
Steve Ruiz
fe9ff2dc2d Fix text bug on firefox, translate cloning for grouped shapes 2021-09-02 21:13:54 +01:00
Steve Ruiz
a3ddfca0be tweak arrow sessions 2021-09-02 16:23:07 +01:00
Steve Ruiz
a1a213f9b4 Starts on groups, fixes duplicate bugs with bindings 2021-09-02 13:51:39 +01:00
Tais Massaro
6a7c99259a test(core): fix test names 2021-09-01 21:22:13 +02:00
Steve Ruiz
f6934dedb8 Adds copy, fix bug on mutating bound shapes, adds binding indicator, adds binding to text 2021-09-01 12:18:50 +01:00
Steve Ruiz
38114cde37 bumps canvas 2021-08-31 19:13:24 +01:00
Steve Ruiz
62a3da0498 Fix arrow bend behavior 2021-08-30 13:15:52 +01:00
Steve Ruiz
b7902f3ce8 Fix types 2021-08-30 11:49:49 +01:00
Steve Ruiz
64d00dc427 Replaces isDarkMode with meta, a more flexible option for custom rendering context 2021-08-30 11:44:42 +01:00
Steve Ruiz
c3e6c55a68 Bumps perfect-freehand 2021-08-27 10:53:01 +01:00
Steve Ruiz
c353fd257f Adds dark mode 2021-08-23 17:13:10 +01:00
Steve Ruiz
840532142e bumps perfect-freehand, improves draw dots 2021-08-23 15:38:14 +01:00
Steve Ruiz
4c39e19543 Adds point in polygon 2021-08-21 22:21:11 +01:00
Steve Ruiz
429a5e6171 Adds right click to select, fixes spacing in context menu, improves draw session 2021-08-18 08:19:13 +01:00
Steve Ruiz
fc321cc757 Fix duplicate page 2021-08-18 00:59:46 +01:00
Steve Ruiz
f19d3e6366 Fixes database issues, fixes rendering issue 2021-08-18 00:11:00 +01:00
Steve Ruiz
07dcfb8df5 Implements multiple pages 2021-08-17 22:38:37 +01:00
Steve Ruiz
594bc7c2ff Adds multiple pages, pageStates to state object (groan) 2021-08-16 15:01:03 +01:00
Steve Ruiz
9c45e0a5a5 Starts on menu, page panel 2021-08-16 08:49:31 +01:00
Steve Ruiz
ffc180fa1c improves indicators (roll into arrow shape) 2021-08-14 17:52:18 +01:00
Steve Ruiz
6aa58c7966 Renames tests, simplifies tsconfigs 2021-08-14 17:17:29 +01:00
Steve Ruiz
b8f410b752 Adds react tests, build tsconfigs 2021-08-14 16:46:21 +01:00