* Initial implementation of copy and paste for layers
* Sort layers on copy and add tests
* Fix logger init for test
* Fix `copy_paste_deleted_layers` test
* Readd erroneously removed svg
* Make Layer serializable and cleanup
* Add test for copy and pasting folders
* Cleanup
* Rename left_mouseup
* Cleanup
* Add length check to test
* Fix typo
* Make mouseup, mousedown more consistent
* Convert polygon and rectangle tool to kurbo::BezPath
* Add glam
* Add affine transform to elipse and remove circle
* Format
* Add svg group and add matrix for group
* Convert all operations to use matricies
* Work uses same transform as root
* Format
* Frontend fixed to render changes to working colors when changed from backend (#180)
* Backend and Frontend modification to show working color mods
* Remove comments & change precedence for tool and doc actions
* Add keybind for resetting work colors
* Minor Frontend changes
* Remove early sample "greet" code
* Add a contributing section to the project README
* Add moving document around
* Add document transform for tools
* Update to GraphiteEditor's fork
* Use write in foreach for rendering group / folder
* Add missing TranslateDown action
* Use points for line operation
* Format
* Add todo to change to shape's aspect ratio
* Remove empty if
* Initial pass at refactor
* Fix polyline test
* Use document message to modify document transform
* Messages -> Operations
* Transform layer
* Format
* Use DAffine2::IDENTITY
* Clean up kurbo generation for line and rect
* Use .into for rectangle points
* Rename cols to transform
* Rename other cols to transform
* Add todo for into_iter
* Remove unnecessary clone
Co-authored-by: akshay1992kalbhor <akshay1992kalbhor@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>