Keavon Chambers
1c317d0166
Add TextButton widget ( #321 )
2021-07-31 04:58:25 -07:00
Keavon Chambers
e1ac2a85b3
Fix two small bugs introduced in #311
2021-07-30 18:46:23 -07:00
Keavon Chambers
3948389806
Add "Sides" label to Shape Tool's options bar number input
2021-07-30 15:45:49 -07:00
Keavon Chambers
652f192a50
Add the ability for NumberInput widgets to display labels
...
Part of #313
2021-07-29 13:56:18 -07:00
Keavon Chambers
0cdd1762b8
Layer opacity ( #312 )
...
Closes #187
* Add layer opacity input
* Improve Rust code cleanliness
2021-07-27 23:15:23 -07:00
Keavon Chambers
12fc330952
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
5c7fe243bf
Fix antialiasing caused by <svg> width/height 100%
2021-07-25 17:25:39 -07:00
Henry Sloan
b40da575e7
Avoid looping behavior with color selection ( #305 )
2021-07-25 02:31:50 -04:00
Henry Sloan
1055a0a05f
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
52fe66b6d8
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
6a5d3cc48c
Various small fixes and cleanups ( #299 )
2021-07-24 17:59:01 +02:00
Keavon Chambers
dca84742ca
Swap "Layer" and "Document" menu bar entries
2021-07-24 01:54:27 -07:00
Henry Sloan
5ba8db1d76
Rename align operations and icons ( #295 )
...
* Rename align operations and icons
* Fix icon import paths
2021-07-24 00:42:48 -04:00
Keavon Chambers
c663b160e6
Fix inconsistent whitespace
2021-07-23 17:48:39 -07:00
Keavon Chambers
f5376599e9
Improve various code and docs spelling/grammar
2021-07-23 17:25:05 -07:00
Henry Sloan
11725d9abd
Change tool option kinds to PascalCase ( #292 )
2021-07-23 17:47:55 -04:00
George Atkinson
d5c9821a02
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 18:21:07 +01:00
RustyNixieTube
1da0678dbb
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
97f97480a2
Implement tool messaging and shape flipping ( #288 )
2021-07-22 16:25:42 -04:00
AJ Weeks
10a2282145
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 10:36:51 +01:00
TrueDoctor
16722c69cd
Add thumbnails for layers ( #286 )
...
Fixes : #285
2021-07-21 11:30:49 +02:00
Henry Sloan
5446fa3553
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 651161fd167193b4790c88b7cd7faf2f0e172102.
* 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
552cee4d6b
Fix tooltips in Document panel
2021-07-19 18:02:08 -07:00
Keavon Chambers
ba7531121b
Fix dropdown menu widget showing wrong active entry
...
Fixes #250
2021-07-19 15:03:08 -07:00
Keavon Chambers
b650658810
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
c2f735504d
Clean up widget type naming conventions
2021-07-16 15:57:42 -07:00
Keavon Chambers
c453199704
Categorize frontend widgets to match design system
2021-07-16 15:37:35 -07:00
bjorn3
9ed1fccd1d
Two improvements to the development workflow ( #270 )
...
* Configure rust-analyzer to target wasm32-unknown-unknown
* Watch changes to core rust files
2021-07-16 10:49:52 +02:00
Keavon Chambers
67131a23fd
Remove CLI client stub
2021-07-15 03:44:57 -07:00
Keavon Chambers
7785ed2b1d
Adjust OptionalInput widget design to add back its right border
2021-07-15 01:01:05 -07:00
Keavon Chambers
86bd9e7cdf
Rename tool icons
2021-07-15 00:46:32 -07:00
Keavon Chambers
7b63e27168
Switch all JS imports to absolute paths
2021-07-15 00:34:56 -07:00
Keavon Chambers
37e6335557
Make frontend request tab list on initialization
2021-07-15 00:07:21 -07:00
Keavon Chambers
eab498f795
Cleanup of variable naming
2021-07-14 20:11:51 -07:00
Keavon Chambers
0656f8abc5
Add a fullscreen button and the keyboard lock API ( #266 )
...
Closes #249
2021-07-14 18:56:22 -07:00
Keavon Chambers
3a520071cf
Enforce downgraded dependency versions in package.json
2021-07-14 16:51:56 -07:00
Keavon Chambers
ccea88dfd7
Implement closing the current, and all, documents from the menu bar ( #265 )
...
Closes #261
Additional cleanup and refactoring with the way the backend relays the list of open documents to the frontend and prompts for confirmation.
2021-07-14 16:13:58 -07:00
Keavon Chambers
e0f049ab00
Frontend refactor to move response handler, key input handling, and more into new utilities folder ( #260 )
...
Part of #124
2021-07-14 14:31:09 -07:00
Henry Sloan
363b9c7ffa
Implement fill tool ( #254 )
...
* Implement fill tool
* Add fill tool shortcut
* Add getters and setters to styles
* Make fill tool act on the topmost layer clicked
* Refactor fill operation
* Refactor and unify selection tolerance
* Add mark_as_dirty function
* Fix getter names
2021-07-14 03:49:12 -04:00
Keavon Chambers
3156b3af05
Clean up and polish some code from the previous commit ( #255 )
2021-07-13 00:52:45 -07:00
0HyperCube
e0b89735a3
Viewport canvas navigation with modifier keys and zoom widget ( #229 )
...
* Add rotation around the center
* Document transform centred
* Fix drawing hexagon on rotated document
* Format
* Fix translation on rotated document
* Remove logging
* Rotate around centre of viewport
* Rotate with shift + MMB drag
* Zoom with +/- keys
* Rotation input field
* Implement frontend zoom buttons
* Zoom with ctrl + MMB
* Format
* Update number inputs
* Require Ctrl + Plus / Minus key
* Ctrl scroll
* Update zoom -> Multiply Zoom
* Fix typo
* More fixing typo
* Remove :v-on
* Add mouse scroll X
* Scrolling on document
* Refactor
* Format
* Fix ctrl + plus/minus to zoom
* Reduce zoom sensitivity
* Ctrl + shift + mmb drag = snap rotate
* Further reduce zoom speed
* Add ctrl + number key to change zoom
* Switch Ctrl and Shift for zoom and rotate
* Fix compile errors
* Format JS
* Add increment to snap angle
* Edit getting layerdata functions
* Pass viewport size directily into create_document_transform_from_layerdata
* Add to_dvec2()
* Refactor get_transform
* Get -> Calculate
* Add consts
* Use to_radians
* Remove get from function names
* Use .entry when getting layerdata that does not exist
* Fix distance scroll calculations
* Fix zooming.
* Remove 'Violation' in chrome
* Fix compile errors
2021-07-13 07:50:10 +01:00
Simon Desloges
bb79bbd0e4
Add modifier keys to every keyboard and mouse input ( #247 )
...
* Add modifier keys to every keyboard and mouse input
* Fix bad naming convention in Typescript
* Added some tests related to modifier keys
2021-07-11 23:46:00 -04:00
Henry Sloan
1454be24d3
Implement nudging selected layers with arrow keys ( #245 )
...
* Implement nudging selected layers with arrow keys
* Normalize diagonal nudges and add constants
* Replace sqrt(2.0) with a constant
* Remove normalization of diagonal movement
2021-07-11 22:22:26 -04:00
Simon Desloges
2d2954d045
Implement Select All/Deselect All layers ( #242 )
...
* Implement select all layers shortcut
* Adjust menu entry for Select All Layers
* Avoid selecting the root of the document when selecting all layers
* Implement deselect all layers
* Fix formatting
* Add extensions.json so VS Code recommends useful extensions
* Add rust-analyzer as the default Rust formatter
2021-07-10 20:01:37 -04:00
Keavon Chambers
373c74fbf3
Downgrade wasm-pack and Vue-related dependencies which are causing issues
...
This reverts commit 744e3729d72403a1ca0fe7c60e8d538290ecadd5.
2021-07-09 20:29:14 -07:00
Keavon Chambers
bc8fe2d844
Improve panel tabs to fix pixel mislaignments and support MMB closing
2021-07-09 16:49:54 -07:00
Keavon Chambers
13e73b92bd
Improve readability of OptionalInput widget design styling
2021-07-09 16:02:36 -07:00
Keavon Chambers
29a2b46684
Add the checkbox input widget ( #204 )
...
* Add the checkbox input widget
* Add OptionalInput widget
2021-07-08 14:10:30 -07:00
Keavon Chambers
8666ff4390
Fix horizontal scrollbar due to status bar negative margin
2021-07-05 00:38:18 -07:00
Keavon Chambers
78b369547a
Downgrade `@vue/compiler-sfc` which breaks linting
2021-07-02 15:02:01 -07:00