* 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>
* 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
The 'fake' textarea used to edit text in a sticky had a different
overflow-wrap style than the component that renders the text.
By forcing the display and edit components to use the same wrapping
strategy, the caret from the textarea and the rendered text should
remain in sync.
There is a chance there are more styles which affect the wrapping of
text that could still result in various mismatches, and even moreso
when we consider more browsers (I tested this in Chrome alone).