Commit Graph
100 Commits
Author SHA1 Message Date
Keavon Chambers d6475cfd17 Minor code readability improvements 2021-08-27 03:43:03 -07:00
Keavon Chambers 07cc2c2b54 Improve web infrastructure
Upgrade npm packages that were locked to old versions due to now-resolved problems
Remove unused/unnecessary dependencies and their configurations
Fix VS Code format on save
Fix VS Code removing EOF newline in JSON files in conflict with npm
Remove JSON files from ESLint because it doesn't properly support JSON
Add detailed comments to web-related configuration files
2021-08-27 02:19:30 -07:00
Keavon Chambers 8ab15520d3 Update the readme 2021-08-15 02:40:30 -07:00
Keavon Chambers c15ab1af58 Improve Frontend -> Backend user input system (#348)
Includes refactor that sends coordinates of the document viewports to the backend so input is sent relative to the application window
Closes #124
Fixes #291

* Improve Frontend -> Backend user input system

* Code review changes

* More code review changes

* Fix TS error
2021-08-14 05:38:35 -07:00
Keavon ChambersandDennis Kobert 790647815b Refactor ViewportPosition from u32 (UVec2) to f64 (DVec2) (#345)
* Refactor ViewportPosition from u32 (UVec2) to f64 (DVec2)

* Fix pseudo_hash call

* Replace hash function with proper function for uuid generation

* Cargo fmt

Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2021-08-14 02:45:24 -07:00
Keavon Chambers 88255997e8 Disallow snake_case variable names in frontend 2021-08-12 21:49:03 -07:00
Keavon Chambers 84ecfc86de Miscellaneous minor code cleanup 2021-08-12 20:34:36 -07:00
Keavon Chambers 2e8b133023 Replace promise with await in MenuList.vue 2021-08-12 19:25:57 -07:00
Keavon Chambers 9654683d16 Add number labels to ruler marks 2021-08-12 02:55:00 -07:00
Keavon Chambers ef93bed0ec Update terminology in the docs 2021-08-12 00:39:29 -07:00
Keavon Chambers 483f7d5893 Clean up popovers: background color and placeholder text 2021-08-11 23:53:05 -07:00
Keavon Chambers b184f2c974 Revert "Fix floating menu positioning behavior when web page has scrollbars (#263) (#341)"
This reverts commit 02fd00da10.
2021-08-11 23:49:31 -07:00
Keavon Chambers 01e66bcf79 Update npm dependencies 2021-08-10 20:25:21 -07:00
Keavon Chambers b87cd624c7 Fix documentation links 2021-08-10 20:03:30 -07:00
Keavon Chambers d5bc72ca07 Improve document zooming to work based on nice steps (#336)
* Improve document zooming to work based on nice steps

* Code review improvements
2021-08-10 16:21:18 -07:00
Keavon Chambers 67dc9f57ba Upgrade packages and a couple fix warnings 2021-08-09 18:41:29 -07:00
Keavon Chambers 89ee35b831 Add DisplayError to show user errors from the backend 2021-08-08 16:52:09 -07:00
Keavon Chambers fbf2c012c3 Restructure project directories (#333)
`/client/web` -> `/frontend`
`/client/cli` -> *delete for now*
`/client/native` -> *delete for now*
`/core/editor` -> `/editor`
`/core/document` -> `/graphene`
`/core/renderer` -> `/charcoal`
`/core/proc-macro` -> `/proc-macros` *(now plural)*
2021-08-07 05:17:18 -07:00
Keavon Chambers 3a2166375a Refactor RadioInput widget (#332) 2021-08-07 03:15:40 -07:00
Keavon Chambers 63a4ed64c8 Refactor document tab management from Panel.vue into utilities/documents.ts 2021-08-04 12:39:39 -07:00
Keavon ChambersandDennis Kobert 399111df53 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 d3958f80fa Add checkbox to MenuBarInput widget 2021-07-31 18:20:51 -07:00
Keavon Chambers ed9883e0d8 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 6064004606 Add TextButton widget (#321) 2021-07-31 04:58:25 -07:00
Keavon Chambers 561eea4560 Fix two small bugs introduced in #311 2021-07-30 18:46:23 -07:00
Keavon Chambers 9fbf6839e0 Add "Sides" label to Shape Tool's options bar number input 2021-07-30 15:45:49 -07:00
Keavon Chambers 0ddc84ba09 Add the ability for NumberInput widgets to display labels
Part of #313
2021-07-29 13:56:45 -07:00
Keavon Chambers edfbc27534 Layer opacity (#312)
Closes #187

* Add layer opacity input

* Improve Rust code cleanliness
2021-07-27 23:15:23 -07:00
Keavon Chambers 8c1532b0eb 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 9e92d48454 Fix antialiasing caused by <svg> width/height 100% 2021-07-25 17:25:39 -07:00
Keavon Chambers 8d444f4b20 Swap "Layer" and "Document" menu bar entries 2021-07-24 01:54:27 -07:00
Keavon Chambers ac7b5dd06e Fix inconsistent whitespace 2021-07-23 17:48:39 -07:00
Keavon Chambers f00601e5a7 Improve various code and docs spelling/grammar 2021-07-23 17:25:05 -07:00
Keavon Chambers bc733acb4c Fix tooltips in Document panel 2021-07-19 18:02:08 -07:00
Keavon Chambers 09f8f4444a Fix dropdown menu widget showing wrong active entry
Fixes #250
2021-07-19 15:03:08 -07:00
Keavon Chambers 131256ba0b 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 801bae103e Remove outdated todo comment 2021-07-17 03:36:35 -07:00
Keavon Chambers d57bfb87ee Clean up widget type naming conventions 2021-07-16 15:57:42 -07:00
Keavon Chambers 9c68ff2952 Categorize frontend widgets to match design system 2021-07-16 15:37:35 -07:00
Keavon Chambers 5261a373a6 Edit readme with various updates and simplifications 2021-07-16 04:01:32 -07:00
Keavon Chambers 1b37e78d64 Remove CLI client stub 2021-07-15 03:44:57 -07:00
Keavon Chambers 49ce3f0672 Adjust OptionalInput widget design to add back its right border 2021-07-15 01:01:05 -07:00
Keavon Chambers 928ef844c4 Rename tool icons 2021-07-15 00:46:32 -07:00
Keavon Chambers 98f1b123bb Switch all JS imports to absolute paths 2021-07-15 00:34:56 -07:00
Keavon Chambers 64050bc8b3 Make frontend request tab list on initialization 2021-07-15 00:07:21 -07:00
Keavon Chambers c76bb608d3 Cleanup of variable naming 2021-07-14 20:11:51 -07:00
Keavon Chambers 34f058147e Add a fullscreen button and the keyboard lock API (#266)
Closes #249
2021-07-14 18:56:22 -07:00
Keavon Chambers 83a955522e Enforce downgraded dependency versions in package.json 2021-07-14 16:51:56 -07:00
Keavon Chambers 0330822a94 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 726152759f 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
Keavon Chambers 7ae91e8330 Clean up and polish some code from the previous commit (#255) 2021-07-13 00:52:45 -07:00
Keavon Chambers faed4c586f Add a pull request template so GitHub reminds to reference issue numbers 2021-07-10 13:58:54 -07:00
Keavon Chambers d116e159db Downgrade wasm-pack and Vue-related dependencies which are causing issues
This reverts commit 744e3729d7.
2021-07-09 20:29:14 -07:00
Keavon Chambers ba96836596 Improve panel tabs to fix pixel mislaignments and support MMB closing 2021-07-09 16:49:54 -07:00
Keavon Chambers cb9d851ef8 Improve readability of OptionalInput widget design styling 2021-07-09 16:02:36 -07:00
Keavon Chambers e46889dc59 Add the checkbox input widget (#204)
* Add the checkbox input widget

* Add OptionalInput widget
2021-07-08 14:10:30 -07:00
Keavon Chambers a12e14c282 Fix horizontal scrollbar due to status bar negative margin 2021-07-05 00:38:18 -07:00
Keavon Chambers 1e6724ed6e Downgrade @vue/compiler-sfc which breaks linting 2021-07-02 15:02:01 -07:00
Keavon Chambers 744e3729d7 Update wasm-pack dependency and others, fixes #167 2021-07-02 13:51:00 -07:00
Keavon Chambers c41605b464 Add styled scrollbars (#231) 2021-07-01 22:08:23 -07:00
Keavon Chambers 3ba570fa68 Fix bug where other panel tabs would switch the document panel tabs 2021-06-26 23:46:39 -07:00
Keavon Chambers 60cf084684 Separate Graphite header logo from menu bar 2021-06-25 00:38:32 -07:00
Keavon Chambers ce98060cc4 Add "Guide Mode" to viewport mode selector dropdown 2021-06-23 23:10:48 -07:00
Keavon Chambers 8a56d6cf46 Reduce the greediness of keyboard input redirection
Part of #124
2021-06-20 02:06:40 -07:00
Keavon Chambers 1c2e667769 Add info to README to help with a possible Windows compilation issue 2021-06-13 16:05:58 -07:00
Keavon Chambers 741a712972 Fix Layer Tree panel CSS to allow scrolling (#208) 2021-06-13 12:29:50 -07:00
Keavon Chambers ca712813c3 Add additional keyboard shortcut tooltips 2021-06-13 11:20:48 -07:00
Keavon Chambers f53c907c03 Change default document title to "Untitled Document" 2021-06-13 01:46:18 -07:00
Keavon Chambers 1686660306 Add a contributing section to the project README 2021-06-12 21:34:09 -07:00
Keavon Chambers ececca3858 Remove early sample "greet" code 2021-06-12 12:07:50 -07:00
Keavon Chambers a3b679e64d Improve UI behavior at smaller screen sizes so status bar overflows (#158)
Also includes various CSS flex-related cleanup throughout the UI.
Progress for #150
2021-06-08 00:54:24 -07:00
Keavon Chambers 91303459a9 Add the Dropdown Input widget (#168)
Fixes #135.

* Add the Dropdown Input widget

* Fix font loading race condition
2021-06-06 02:17:36 -07:00
Keavon Chambers eae2d70e93 Implement "Export" entry in File menu; add Copy/Paste icons in Edit menu 2021-06-01 19:49:04 -07:00
Keavon Chambers ad9feda054 Implement menu bar floating list menus (#163)
Progress towards #135
2021-05-31 11:51:32 -07:00
Keavon Chambers 83984700bf Generalize and rename overlays as "floating menus"
Progress towards #135.
2021-05-29 21:55:43 -07:00
Keavon Chambers 9f63c6e8ea Fix missing keyboard shortcut <P> for the Pen Tool 2021-05-27 22:10:48 -07:00
Keavon Chambers 6331325ae0 Minor CSS custom property rename for accuracy 2021-05-27 15:03:49 -07:00
Keavon Chambers c2314df8d5 Fix layer visibility icons incorrectly referenced in previous cleanup commit. 2021-05-27 09:26:38 -07:00
Keavon Chambers c205fec0d4 Move all icon SVG imports to the Icon component
This change also removes the need to specify the icon size.
2021-05-27 02:14:32 -07:00
Keavon Chambers 313a1dfc65 Standardize icon sizes and folder paths (closes #110) 2021-05-27 00:14:50 -07:00
Keavon Chambers 3fba54fad1 Fix popover positioning regression 2021-05-25 21:49:43 -07:00
Keavon Chambers b3fa6347c2 Update the readme with new progress, details, and mockup screenshot 2021-05-24 00:33:09 -07:00
Keavon Chambers d7478f5890 Update UI colors and alignment for consistency with the design mockup (#157)
Closes #111
2021-05-23 19:01:13 -07:00
Keavon Chambers 56c1110800 Fix icon cursor hitbox below SVGs by setting images to display: block
Fixes #133
2021-05-21 14:28:11 -07:00
Keavon Chambers c97cb9905c Rename and organize widget components to conform to design terminology (#132) 2021-05-21 13:10:32 -07:00
Keavon Chambers c8eea1e4b1 Complete implementing popover system main features (#131)
* Make popover buttons open popover menus and add placeholder messages to all of them.
* Implement all directions for drawing, aligning, and edge-clamping popovers.
* Fix popovers so they are drawn outside their parent panel bounds and not clipped.
* Fix popover HTML to avoid nesting it inside a <button> element.
2021-05-21 12:22:30 -07:00
Keavon Chambers 4ed093bb4b Popovers now close when clicked out or mouse strays 100px outside bounds (#129) 2021-05-19 01:02:58 -07:00
Keavon Chambers 81effa550f Move .eslintignore file rules into .eslintrc.js 2021-05-17 18:56:41 -07:00
Keavon Chambers b20addaaaf Implement popover component and beginnings of color picker (#128) 2021-05-17 12:07:54 -07:00
Keavon Chambers 94485fe6cb Rename Panel Area -> Workspace and Dockable Panel -> Workspace Panel 2021-05-16 18:15:04 -07:00
Keavon Chambers 7fc6eddb1a Rename Footer Bar -> Status Bar 2021-05-16 18:04:26 -07:00
Keavon Chambers 1419f3bc6b Refactor type handling for response handler to fix dangerous casting (#126) 2021-05-15 01:02:33 -07:00
Keavon Chambers a1b80db51f Upgrade TypeScript from 3.9 to 4.x 2021-05-14 23:53:55 -07:00
Keavon Chambers 15459256b6 Update node packages 2021-05-14 00:58:15 -07:00
Keavon Chambers c9e9f1acc0 Update favicon 2021-05-09 23:34:12 -07:00
Keavon Chambers dc5b563ab2 Change debug colors for dark theme readability 2021-05-09 01:37:58 -07:00
Keavon Chambers 722c777ba6 Change default draw color to orange, plus small fixes 2021-05-08 15:17:31 -07:00
Keavon Chambers 64f716e081 Rename human-readable layer types (#117) 2021-05-07 21:13:22 -07:00
Keavon Chambers 7ec0558cbd Plumb frontend for layer visibility toggle 2021-05-07 16:57:45 -07:00
Keavon Chambers 5bf0452b9c Fix "P" not switching to the Pen Tool 2021-05-07 10:42:09 -07:00