Henry Sloan
340c10a62b
Change eyedropper to use correct message ( #327 )
2021-08-03 13:35:26 -07:00
Keavon Chambers
bff82fe238
Add a selected_layers() function and refactor code to use it ( #314 )
...
* Add a selected_layers() function
* Refactor AlignSelectedLayers
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2021-08-01 10:29:23 +02:00
Keavon Chambers
19398e1dc8
Add checkbox to MenuBarInput widget
2021-07-31 18:20:51 -07:00
Henry Sloan
4cf0686801
Change flipping to use the joint bounding box of the selection ( #323 )
...
* Change flipping to use the joint bounding box
* Fix minor untested changes
* Replace unwrap with question mark
2021-07-31 15:18:54 -07:00
Keavon Chambers
170cda7357
Add DialogModal and use it for close confirmations and "coming soon" features ( #322 )
...
Closes #269
Closes #196
* Add DialogModal and use it for close confirmations and "coming soon" features
* Code cleanup; add Enter key to accept emphasized dialog button
2021-07-31 14:30:31 -07:00
Keavon Chambers
e1698c2783
Add TextButton widget ( #321 )
2021-07-31 04:58:25 -07:00
Keavon Chambers
8ed28daaf4
Fix two small bugs introduced in #311
2021-07-30 18:46:23 -07:00
Keavon Chambers
864a348e30
Add "Sides" label to Shape Tool's options bar number input
2021-07-30 15:45:49 -07:00
Keavon Chambers
ba83cfd958
Add the ability for NumberInput widgets to display labels
...
Part of #313
2021-07-29 13:56:45 -07:00
Keavon Chambers
ab651268d8
Layer opacity ( #312 )
...
Closes #187
* Add layer opacity input
* Improve Rust code cleanliness
2021-07-27 23:15:23 -07:00
Keavon Chambers
a288d51543
Add features to NumberInput widget; refactor widgets and tool options ( #311 )
...
Closes #310
* Add features to NumberInput widget; refactor widgets and tool options
* Fix swap/reset working colors using @click instead of :action
2021-07-27 18:28:21 -07:00
Keavon Chambers
8c91683c5b
Fix antialiasing caused by <svg> width/height 100%
2021-07-25 17:25:39 -07:00
Henry Sloan
8e904c11cb
Move blend mode declaration and implementation ( #308 )
2021-07-25 13:01:50 -07:00
Henry Sloan
91a93c1dc0
Avoid looping behavior with color selection ( #305 )
2021-07-25 02:31:50 -04:00
Henry Sloan
3920f81f58
Add alignment of selected layers ( #296 )
...
* Add alignment of selected layers
* Refactor alignment to a document message
* Condense align messages into a tuple variant
* Rename dimension to axis and fix redundant math
* Add correct Center alignment
* Add TODO comment for nested transforms
* Add TODO for merging bounding boxes
* Move align enums to document_message_handler
* Run cargo clippy
* Clean up unwraps with filter_map
2021-07-24 19:35:48 -04:00
Henry Sloan
7d3239ecac
MVP eyedropper tool for fill colors ( #300 )
...
* Implement eyedropper for layer fill colors
* Add shortcut for eyedropper
* Add right mouse sampling for secondary color
2021-07-24 18:29:32 -04:00
TrueDoctor
03c5847d7e
Various small fixes and cleanups ( #299 )
2021-07-24 17:59:01 +02:00
Keavon Chambers
f7d7257d50
Swap "Layer" and "Document" menu bar entries
2021-07-24 01:54:27 -07:00
Henry Sloan
57940d8cac
Rename align operations and icons ( #295 )
...
* Rename align operations and icons
* Fix icon import paths
2021-07-24 00:42:48 -04:00
Henry Sloan
a65b525a5d
Add dragging of layers with the select tool ( #293 )
...
* Add dragging of layers with the select tool
* Transform mouse positions based on root transform
* Add TODOs regarding root inverse transforms
2021-07-23 21:51:14 -04:00
Keavon Chambers
1821d3001a
Fix inconsistent whitespace
2021-07-23 17:48:39 -07:00
Keavon Chambers
9daffb3dad
Improve various code and docs spelling/grammar
2021-07-23 17:25:05 -07:00
TrueDoctor
70d1f77096
Hints backend ( #234 )
...
* Generate hints from list of actions
* Remove redundant Key from output
* Improve formatting
* Change logging verbosity for hints
2021-07-23 16:09:24 -07:00
TrueDoctor
ed0a0c49d0
Rearrange layers refactor ( #281 )
...
* Keep selection during reordering
* Fix paste layer selection
* Remove junk from layer matadata
* Add function to get non_selected_layers
* Cleanup
* Add tests
2021-07-24 00:54:30 +02:00
Henry Sloan
988dd7b400
Change tool option kinds to PascalCase ( #292 )
2021-07-23 14:47:55 -07:00
George Atkinson
86962fad3a
Blend modes ( #252 )
...
* Add backend for selecting layer blend mode
* Change dropdown input to support callback on change
* Add debug messages
* Fix canvas update for blend-modes
* Finish up and polish blend modes implementations
* Add changes from code review
Co-authored-by: Keavon Chambers <keavon@keavon.com >
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2021-07-23 10:21:07 -07:00
RustyNixieTube
dac60e94da
Add documentation ( #287 )
...
* Add crate documentation
* Use full path intead of relative path
* Add documentation to core/document/src/color.rs
* Add modification by
* Add @Keavon's modification
* @Keavon's changes
* remove useless let
Co-authored-by: TrueDoctor <dennis@kobert.dev >
2021-07-23 16:16:26 +02:00
Henry Sloan
53322848fb
Implement tool messaging and shape flipping ( #288 )
2021-07-22 16:25:42 -04:00
AJ Weeks
33b1f6dd32
Support rearranging layers with hotkeys ( #271 )
...
* Support moving single layers
* Fix "Move layer to top/bottom" keybinds
* Rename things named "move" to "reorder"
Fix formatting
* Combine sorted layer helper functions
* Use integer consts for moving layers to front/back
* Fix merge mistake
* Fix some clippy lints
* Fix panic
* Remove "get" prefix from functions
* Bring layer menu items out to sub-menu
* Support moving multiple layers at a time
* Add comment explaining odd keybinding
* Add reordering tests
* Add negative test
* Add new error type
* Add layer position helper, clean up tests
* Make position helper return Result
* Clean up slice iteration
* Simplify source_layer_ids computation
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2021-07-21 11:36:51 +02:00
TrueDoctor
87f65cd831
Add thumbnails for layers ( #286 )
...
Fixes : #285
2021-07-21 02:30:49 -07:00
Henry Sloan
1f1c307211
Options bar widgets for tools to control tool behavior ( #283 )
...
* Add JSON-backed options widget
* Add initial tool settings messaging to backend
* Add shape side selection with JSON deserialization
* Enforce minimum number of n-gon sides
* Make tool settings JSON errors safer
* Make tool settings JSON errors safer
* Refactor ToolOptions to ToolSettings
* Revert "Refactor ToolOptions to ToolSettings"
This reverts commit 651161fd16 .
* Refactor all instances of "settings" to "options"
* Fix names and formatting
* Rearrange ToolOptions data to enforce types
2021-07-21 01:07:48 -04:00
Keavon Chambers
150b530a73
Fix tooltips in Document panel
2021-07-19 18:02:08 -07:00
Keavon Chambers
5b5388a1d6
Fix dropdown menu widget showing wrong active entry
...
Fixes #250
2021-07-19 15:03:08 -07:00
Keavon Chambers
209d71ddc2
Add (nonfunctional) rulers and scrollbars to the viewport ( #279 )
...
* Add nonfunctional rulers and scrollbars to viewport
* Switch from DOM divs to SVG lines
* Switch from SVG lines to a single SVG path
* Change variable names
2021-07-17 16:11:52 -07:00
Keavon Chambers
1e786750c5
Remove outdated todo comment
2021-07-17 03:36:35 -07:00
TrueDoctor
5b1d36fafe
Apply clippy lints ( #278 )
2021-07-17 11:12:37 +02:00
Keavon Chambers
0c25031ad1
Clean up widget type naming conventions
2021-07-16 15:57:42 -07:00
Keavon Chambers
60968431b4
Categorize frontend widgets to match design system
2021-07-16 15:37:35 -07:00
Simon Desloges
783b7801e6
Add support for folder bounding boxes ( #276 )
2021-07-16 16:34:04 +02:00
Keavon Chambers
59b817301d
Edit readme with various updates and simplifications
2021-07-16 04:01:32 -07:00
bjorn3
5d91ae21a0
Two improvements to the development workflow ( #270 )
...
* Configure rust-analyzer to target wasm32-unknown-unknown
* Watch changes to core rust files
2021-07-16 01:49:52 -07:00
Henry Sloan
08d5536663
Pass layer metadata to tools ( #277 )
2021-07-16 08:38:46 +02:00
Simon Desloges
92b6458eee
Add a document method that returns a layer's bounding box ( #273 )
...
* Add a document method that returns a layer's bounding box
* Moved `use` to the top of the file
* Add layer local bounding box method
2021-07-15 20:18:32 -07:00
Keavon Chambers
a25fb40fd5
Remove CLI client stub
2021-07-15 03:44:57 -07:00
Keavon Chambers
8591dd2983
Adjust OptionalInput widget design to add back its right border
2021-07-15 01:01:05 -07:00
Keavon Chambers
761406537c
Rename tool icons
2021-07-15 00:46:32 -07:00
Keavon Chambers
8a06e8e771
Switch all JS imports to absolute paths
2021-07-15 00:34:56 -07:00
Keavon Chambers
0b44a17a5d
Make frontend request tab list on initialization
2021-07-15 00:07:21 -07:00
Henry Sloan
2e579a3ac6
Transform nudge coordinates to viewport space ( #264 )
...
* Transform nudge coordinates to viewport space
* Refactor nudge transform for clarity
2021-07-14 23:05:46 -07:00
Keavon Chambers
34828a7837
Cleanup of variable naming
2021-07-14 20:11:51 -07:00