* Improve arrows binding logic
* Update ArrowSession.ts
* more arrow improvements
* major arrow cleanup / refactor
* point toward anchor rather than center
* scroll wheel fixes & enhancements
1. correct zoom direction (was reversed)
2. support ctrl+scroll for zoom (in addition to alt+scroll)
3. support shift+scroll for horizontal pan
* Allow two-axis panning
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* Kee track of changed assets
* Add support for multiplayer image assets
* fix tests
* Add images
* Improve asset deletion
* Remove assets from document
* Test with v small image only
* Add test for deleteShapes
* Cleanup document assets
* Add multiplayer assets to www
* remove default storage root, which was preventing migration
* Update onAssetDelete flow, rename some files
* bump upload size to 5mb
* Fix freeze bug where image fails to load
* fix logic for removing assets
* Update useMultiplayerState.ts
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* Enable panning for DrawTool
* move camera panning logic to TlDrawApp
* fix: disable shape button on keyboard pan
* ensure middle wheel panning returns to idle globally
* prevent flicker during mouseup while spacePanning
* Use boolean flags for force panning
* add middle mouse button
* Fix logic
* Fix toolbar re-selecting
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* Improve appearance of arrow shape labels, set label text color to match stroke
* fix svg copy fonts for text, labels
* Reduce opacity effect of scaled arrow label, update font in export, adds command+enter to finish text
* Adds generic text label
* Clean up text label / text util
* labels for ellipse and triangles
* Add arrow label
* Update filesystem.ts
* Double click bend to edit label, fix mask location
* refactor arrowutil
* fix arrow bindings
* Rename text to label, add labelPoint
* Fix arrow binding, styles on text labels, double click bounds edge to edit label
* Update ArrowSession.ts
* Update StyleMenu.tsx
* set version
* Added image and video shapes
* Fixed bugs; Added optional onImageUpload callback
* Added id field to onImageUpload
* Added onImageDelete callback for cleanup
* Added firebase storage to multiplayer for media
* Added firebase storage to multiplayer for media
* Silence unnecessary TS errors
* Fixed bugs; Added tests
* Added tests
* Disable images for multiplayer example
* switch to assets in document, rather than on shapes, fix resize, fix sizes
* bump version, add migration for assets table
* Rename onImageUpload
* Add isPlaying state to video (not complete)
* Revert "Add isPlaying state to video (not complete)"
This reverts commit 3dc2ba703f4194eb7c47524d384dc8392daa18be.
* Adds controls when editing video, sync current time when cloning
* Remove unused tools
* avoid duplication in assets
* Remove unused image styles from style menu
* Fix placement of clone buttons
* Fix flag to hide image assets in multiplayer
* move getSizeFromDataUrl to filesystem
* Update VideoUtil.tsx
* Re-center video after it loads
* Add copy and paste support for assets
* Fix bug in state manager, remove unused assets on load, fix indicators
* Add multiplayer with images example
* Update MultiplayerEditor.tsx
* Add images to copy SVG
* tighten up some code around svg export
* Update TldrawApp.spec.ts
* Update useBoundsHandleEvents.tsx
* Reset image size by double clicking bounds
* fix reset size
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* onPointShape called instead of onPointerDown
* Update useShapeEvents.tsx
* Bugfix on useShapeEvents wrong key name
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* Bugfix: 'Copy as SVG' shapes have black fill by default
* Remove binding hit areas from copied SVG
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* removes touch events from middle of shapes
* Improve ellipse
* selectable stroke when not selected, fill when selected
* Update BrushSession.spec.ts
* Fix test
* fix for undo button on menu open
* Change toggle to set, add option for keyboard events
* Update .gitignore
* Update .gitignore
* Remove isStyleOpen
* Remove isStyleOpen
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* account for "virtual" shapes when preserving appState
* rewrite merge logic
* More work on multiplayer
* Update TldrawApp.ts
* Improve logic around when to replace page content
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
- when paste the content from clipboard, if the content is not JSON, the `JSON.parse` parse error will be thrown. The info should not be in production build.
Closes#400
* Temp change so I can create a PR
* Have select all,copy/paste/cut, and undo/redo working for text/sticky shapes in VS Code extension
* cleanup
* removed some semi colons
* Ran prettier
* More cleanup
* Adds stopPropagation for native context menu
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* 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>
* feat(menu): disable buttons when items not selected
* cut and copy options not shown when item isn't selected
* added cut option on ContextMenu
* Show buttons but disabled
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* [bug] Added display of clone buttons
* Reverted changes from sticky notes
* feat show those style options when the text tool is selected
* Add clone handles to sticky
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* Move rko into library, improve multiplayer example
* Add presence layer
* extract to a hook
* Migrate old documents to new structures
* Update repo-map.tldr
* More improvements
* Fix bug on deleted shapes
* Update MultiplayerEditor.tsx
* [feature] Add Discord link to Menu #309
* [feature] Add Discord link to Menu #309
* Moves icon to new component
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* Fix selectedStyles from being new on each update
* Fix again
* Update TldrawApp.ts
* Fix log around current style and selected style
* Add stub test, move style menu into folder
* Cleanup repo
* cleanup context menu
* Fix tooltip label & color contrast
* adds fix for context menu
* Fix focus within
* Add inline docs
* Fix color for kbd
* Fix for submenu
* tighten up code
* Added onBlur mock function
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* Changed Wardlt use back to Tldraw. Added some VS Code marketplace categories
* Missed removing one Wardlt mention
* Initial support for esbuild based vscode extension workflow.
* Hacky start of vs code extension build script
* Fixed categories of extension
* Added script for generating VS Code extension installer
* Temp fix for file format change affecting VS Code extension
* Temp fix for file format change issue
* Cleanup, prevent changes from saving pagestates
* Remove logic around saving pageState
* standardize capitalization
* v0.1.8
* Edit readme, scripts
* Update .eslintignore
* v0.1.9
* v0.1.10
* cleans up build scripts, adds publishing notes
* Added VS Code extension implementation references links. start:vscode now auto opens the extension folder in VS Code
* Removed step from VS Code README to manually open the extensions folder
* Removed file
* v0.1.11
* v0.1.12
* Fix empty file
* v0.1.13
* README cleanup
* v0.1.14
* Update TLDrawEditorProvider.ts
* v0.1.15
* Fix types for file extension (sort of) build script for extension
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* bumps rko, adds events
* rename tlstate to state, fix env for multiplayer test
* Fix multiplayer
* rename data tldrawstate to tldrawsnapshot
* Update multiplayer-editor.tsx
* Fix shhhmp
* Update 2.tldr
* Add API to the README
* Start of vscode extension. Current code is copy/paste from custom editor samples from Microsoft. We need to evaluate if using their text based customer editor or full on new custom editor is the way to go
* Not sure how I missed these files. Adding them
* Have a custom editor triggering off of .tldr files. Added gitignores for generated folder. Have iframed tldraw loading and security policies set to do so
* Can now load a .tldr file. No saving support yet. Load times are slow, mostly from editor loading up I think
* Have temporary solution for saving working now too.
* Missed af ile
* Backing up progress in syncing tldraw editor history changes
* Removed console
* ...
* ...
* Cleanup
* Have save working well now.
* Moved extension into 'integrations' folder
* Trying out WebviewPanelOptions.retainContextWhenHidden=true and it's looking promising
* Some cleanup
* Trying out new @tldraw/editor module
* Have prototype loading using new embedded editor
* ...
* Shaved off 1 second from editor loadtime
* Got save working again. Had to manually fixuppreviously created .tldr files as the format changed a bit
* More tuning
* Starting work to get new tldraw/tldraw working.
* Added example tldr files to vscode package
* Removed old editor package
* Have onChange working with latest fix. Back to iframed for a few mom
* Fixed up .tldr files
* Have iframe free extension working, but requiring hand crafted building
* ...
* Better handling of empty .tldr files. Still an issue with freshly created files trying to save as .js or .json
* Thoroughly added comments for the extension code. Need to add diagrams though and now will document/comment/diagram the editor src code
* Added comments to all of the editor side of the VS Code Extension. Also cleaned up the code
* More cleanup of VS Code Extension code and have script automating generating the initial webview's html content from the cra editor static build
* Tweaks to watch logic
* Improved scripts for publishing to VS Code Marketplace
* Improved name
* Made the smiley angry
* Reverted
* Turned smiley mad
* Turned smiley mad
* Made smiley sad
* Have a lot of plumbing working for Github codespaces and github.dev support
* Imported new tldraw vs code extension code. Added instructions for workflows
* Quick fix
* Fix for corrupted arrows files
* Updated editor build step to new location
* Merge branch 'main' into vscode-extension-v1, add local file updating
* Update App.tsx
* Cleanup, bumped to 0.0.124 @tldraw/tdlraw and published a 0.10.0 version of hte extension
* Added Trello/Kanban style file
* Finished video
* brings up to date
* Fix scripts
* Update README.md
* Update .babelrc
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>