Commit graph

239 commits

Author SHA1 Message Date
Keavon Chambers
29faf704f6 Add a pull request template so GitHub reminds to reference issue numbers 2021-07-10 13:58:54 -07:00
Keavon Chambers
373c74fbf3 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
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
Paul Kupper
751fabb417 Implement viewport selection (#178)
* Begin implementing viewport selection

* Implement viewport click and drag selection for ellipse and rectangle

* Begin implementing line selection

* Remove debug prints

* Run cargo format

* Use DVec2 instead of kurbo::Point

* Line and polyline intersection

* Run cargo format

* Add fix for missing layer panel update

* Replace point selection with box selection

* Formatting

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2021-07-05 01:05:12 +02:00
Till Arnold
94c42ff5d7 Copy and paste layers MVP (#220)
* 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
2021-07-05 00:34:47 +02:00
0HyperCube
1d2bb6fb2b Re-add PartialEq removed in #230 (#232) 2021-07-04 22:27:09 +01:00
Paul Kupper
12b373f1ab Don't use ESLint formatter for Rust files in VS Code (#228)
* Remove default formatter from vscode settings

* Only use eslint formatter on js/ts/json/vue files
2021-07-04 22:29:50 +02:00
kastenbutt
d84f7c7137 Auto-select new layer created by Pen Tool. (#235)
Signed-off-by: kastenbutt <hello@jonasklein.dev>
2021-07-03 11:28:52 +02:00
Keavon Chambers
78b369547a Downgrade @vue/compiler-sfc which breaks linting 2021-07-02 15:02:01 -07:00
Keavon Chambers
739f420224 Update wasm-pack dependency and others, fixes #167 2021-07-02 13:50:19 -07:00
Keavon Chambers
cd5e36af28 Add styled scrollbars (#231) 2021-07-01 22:08:23 -07:00
0HyperCube
ece23e7c5f Remove partialeq for layers (#230)
# Conflicts:
#	Cargo.lock
#	core/document/Cargo.toml
2021-06-29 21:06:37 +01:00
Keavon Chambers
0692bc8727 Fix bug where other panel tabs would switch the document panel tabs 2021-06-26 23:46:39 -07:00
Chrs Msln
3f35c8d348 Refactor frontend input components to use the v-model Vue pattern (#224)
* Use v-model for inputs

* Add opacity to LayerTree

* Fix FloatingMenu typing
2021-06-27 08:18:47 +02:00
0HyperCube
bb3293af43 Add a movable canvas with matricies (#175)
* 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>
2021-06-26 21:44:48 +01:00
Keavon Chambers
923e63c045 Separate Graphite header logo from menu bar 2021-06-25 00:38:32 -07:00
Keavon Chambers
e551ba529f Add "Guide Mode" to viewport mode selector dropdown 2021-06-23 23:10:48 -07:00
TrueDoctor
3d9e15adb7 Simplify document selection by reusing code (#226) 2021-06-23 11:20:59 +02:00
akshay1992kalbhor
b2b8c75e9e Add support for closing document tabs (#215)
* Can only remove last document successfully

* Correctly update the layer tree panel

* Remove comments

* Add support for randomly closing docs

* Create new doc after closing last doc

* Update layer panel when creating new docs

* Fix bug that crashed the program when first doc was closed

* Refactor to make code simpler and increase readability

* Add shortcut to close active doc (Shift + C)

* Add a confirmation dialog box before closing tabs

* New docs get the correct title

* Remove comments and fix typos

* Disable 'eslint-no-alert'

* Refactor and fix document title bug

* Rename the FrontendMessage and ReponseType for showing close confirmation modal

* Change the message displayed in the close confirmation modal

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2021-06-22 14:28:02 +05:30
Keavon Chambers
a3d96f1dae Reduce the greediness of keyboard input redirection
Part of #124
2021-06-20 02:05:31 -07:00
RustyNixieTube
5bf19f6979 Add comment to STORAGE_SIZE and simplify it (#223)
* Add comment to STORAGE_SIZE and simplify it

* Modify comment

Co-authored-by: RustyNixieTube <RustyNixieTube@users.noreply.github.com>
2021-06-19 18:47:42 +02:00
RustyNixieTube
affc9cc320 Remove unsafe call in input mapper (#222)
* Remove unsafe call

* Run cargo fmt

Co-authored-by: RustyNixieTube <RustyNixieTube@users.noreply.github.com>
2021-06-17 23:20:54 +02:00
dependabot[bot]
cced057459 Bump postcss from 7.0.35 to 7.0.36 in /client/web (#221)
Bumps [postcss](https://github.com/postcss/postcss) from 7.0.35 to 7.0.36.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/7.0.35...7.0.36)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-17 09:20:07 -07:00
Till Arnold
ff232bd722 Add keyboard shortcut to duplicate layers (#214)
* Add keyboard shortcut to duplicate layers

* Avoid heap allocation in DuplicateSelectedLayers
2021-06-16 11:15:02 +02:00
akshay1992kalbhor
310db82ab4 Fix color swapping to allow swapping of colors with opacity less than 100% (#212) 2021-06-15 12:57:20 +05:30
Till Arnold
d34f72e198 Show warning message if BigInt64Array is not available (#209)
* Show warning message if BigInt64Array is not available

* Apply nitpicks
2021-06-14 20:20:40 +02:00
George Atkinson
ad0a40e512 Multi-document management (create new document; tab switching) (#210)
* Multi-docs WIP

* Change to number

* Add new document and switch documents

* Remove keybind for previous document. Change keybind for next document.

* Switch documents by clicking tabs

* Remove keybind for previous document. Change keybind for next document.

* multi-docs

* Update package-lock.json

* Hook up File>New to add new document

* Remove console logs and empty lines. Start new documents from 2 instead of 1.

* Fix formatting
2021-06-14 04:24:09 +01:00
Keavon Chambers
d1c392b085 Add info to README to help with a possible Windows compilation issue 2021-06-13 16:05:58 -07:00
Keavon Chambers
3672c6919c Fix Layer Tree panel CSS to allow scrolling (#208) 2021-06-13 12:29:50 -07:00
Keavon Chambers
9c0a23d03f Add additional keyboard shortcut tooltips 2021-06-13 11:20:48 -07:00
Keavon Chambers
70c9e4ada6 Change default document title to "Untitled Document" 2021-06-13 01:45:58 -07:00
Keavon Chambers
3b2e460265 Add a contributing section to the project README 2021-06-12 21:34:09 -07:00
Keavon Chambers
ffb83b06c1 Remove early sample "greet" code 2021-06-12 12:05:34 -07:00
akshay1992kalbhor
3079223db3 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
2021-06-12 21:30:31 +05:30
TrueDoctor
e4b5aa3933 Delete selected layers (#173)
* Delete Layers
* Fix backend selection
* Fix shift selection
* Add desired shape add selection behavior
* Add X and Backspace as keybinds for layer deletion
* Change key storage to u128
* Remove unhelpful trace logging
* Reverse display direction for layers
2021-06-10 09:24:59 +02:00
akshay1992kalbhor
4f40a1f291 Layer selection (#166)
* Change arg to IconButton component

* Add basic layer selection mechanism

* Clean up print statements and add some comments

* Simplified the layer selection mechanism

* Remove redundant rule for 'no-param-reassign'

* Clean up frontend and and plumb selection flow to backend

* Update eslintrc

Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2021-06-10 00:10:51 +05:30
TrueDoctor
0e8cbad003 Implement backend part of the layer selection (#172)
* Implement backend part of the layer selection
2021-06-09 12:20:50 +02:00
Keavon Chambers
13dd51dbf8 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
dependabot[bot]
a75fd6a7a0 Bump ws from 6.2.1 to 6.2.2 in /client/web (#169)
Bumps [ws](https://github.com/websockets/ws) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-06 20:57:20 -07:00
Keavon Chambers
569af162ae 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
4bcdbbe092 Implement "Export" entry in File menu; add Copy/Paste icons in Edit menu 2021-06-01 19:49:04 -07:00
Keavon Chambers
d1bf68320e Implement menu bar floating list menus (#163)
Progress towards #135
2021-05-31 11:51:32 -07:00
Keavon Chambers
3d646d2bc3 Generalize and rename overlays as "floating menus"
Progress towards #135.
2021-05-29 21:55:43 -07:00
dependabot[bot]
c75478299a Bump dns-packet from 1.3.1 to 1.3.4 in /client/web (#162)
Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 1.3.1 to 1.3.4.
- [Release notes](https://github.com/mafintosh/dns-packet/releases)
- [Changelog](https://github.com/mafintosh/dns-packet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mafintosh/dns-packet/compare/v1.3.1...v1.3.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-28 23:52:51 -07:00
TrueDoctor
c0e60a21d3 Export current document as SVG when pressing Ctrl+Shift+S (#160)
* Export current document when pressing Ctrl+Shift+S

* Use a blob for download

* Add Ctrl + E shortcut, match on lower case

* Don't mount element in DOM

* Polish some keybindings

* Add initialization for MappingEntries

* Implement svg coloring

* Add newline after svg tag

* Add spaces to svg style format

* Fix more svg formatting

* Add space before />

* Remove duplicate whitespace
2021-05-28 20:43:51 +02:00
Keavon Chambers
805116b031 Fix missing keyboard shortcut <P> for the Pen Tool 2021-05-27 22:10:48 -07:00
Keavon Chambers
a11892db70 Minor CSS custom property rename for accuracy 2021-05-27 15:03:49 -07:00