* Implement basic refactorings
* Simplify some match statements
* Rename `ix` to `index`
If we're not going with a single letter name,
then a full word makes more sense.
* Rename `as_hex` to `to_hex`
`as_` implies lossless reinterpretation
while the function does a conversion that loses information
* Replace `for_each` with for loops
for loops are a lot easier to read and maintain.
* factor out x and y coords in Line::render
this is arguably more ergonomic
* Remove redundant `format!(format_args!())`
* Implement/suppress various compiler/clippy lints
* Change `tool_init` to take `ToolType` by value
* Factor out error conversion into a function
* Consume parameters with `todo`
* Make `workspace` stuff public
Making them public also removes the warnings
without having to suppress them.
Also, this commit removes the unused import of
`EditorError`
* Remove allow(unused_variables), use vars in `todo`
Also implements `Debug` on `DocumentToolData`
* 🎨 Add colors in Rust
* 🌿 Use an option for the properties and #[repr(C)]
* ❌ Remove WASM dependency on document.
* 😎 Wrap Fill and stroke in a style struct.
* 📦 Use crate::Color
* Merge Add transactions for temporary modifications to the document
* Run cargo fmt
* Color without a 'U'
* ⬠ Add polygon drawing tool
* 🔤 Minor fix of variable and function names
* ❌ Remove stroke
* ⌨️ Use N key as polygo tool shortcut.
* ⌨️ Now using key Y for polygons.
* ⌨️ The tooltip for the shortcut is fixed
* Add proc-macro crate with two macros
* Let cargo recalculate the Cargo.lock
* Add tests and refactor some code to allow testing
also the impl for parse_hint_helper_attrs now preserves order
(which is essential for testing)
* Record mouse movement
* Use get for last_point and first_point
* Use first and las for first_point and last_point
* Remove unnecessary comment
* Derive Default for Trace
Co-authored-by: RustyNixieTube <RustyNixieTube@users.noreply.github.com>