Commit Graph

698 Commits

Author SHA1 Message Date
Keavon Chambers
461064c81d Improve the website and readme with details and cleanup 2022-09-16 01:29:33 -07:00
Boutillier
74624bb531 Fix crashes related to 0-scale shapes (#777)
* Fix crashes when dragging the bounding box/transform cage of a 0-scale shape.

* Fix crashes when dragging the pivot point of a 0-scale shape

* Fix rotation computation on DAffine2 when scale.x is 0, avoids Nan display

* remove remaining log::info that I introduced in earlier commit

* Fix crash when updating the scale of a transform that was already 0.

* Fix NumberInput behaviour when the requested value changed is does not happen.

* Fix rotation computation when Scale X and Scale Y are both 0. Display 0. This also fixes crashes when modifying the rotation in such case
2022-09-12 01:46:11 -07:00
0HyperCube
74737bc13d #[macro_use] the log crate (#775) 2022-09-08 13:14:01 -07:00
Keavon Chambers
242a242809 Improve wording on the website home page; add a volunteer icon 2022-09-04 14:31:08 -07:00
Hannah Li
0a1665b87d Refactor bezier-rs' to_svg functionality (#758)
* Change Bezier to_svg to include handles and endpoints

* Move params into brackets of format macro, remove unused comment

* Use write macro instead of format

* Fix path for watched directory

* Refactor functions to remove ToSVGOptions
2022-09-01 23:13:39 -04:00
0HyperCube
131f24300a Add a pivot widget to selected layer(s) to control the origin(s) (#772)
* Add pivot

* Add dragging pivot

* Cleanup

* Remove tabs

* Fix multiplication order

* Restyle pivot

* Add move cursor icon

* Update pivot size

* Code review tweaks

* Fix alt with non-centred pivot

* Comment for add one

* Pivot sets layer panel origin

* Tweek alt centre thing

* Fix division by zero case

* Add pivot dots to properties

* FIx some typos

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-30 14:36:33 -07:00
Keavon Chambers
1e723b8c86 Add the Pivot Assist widget
Part of #525
2022-08-29 00:08:01 -07:00
0HyperCube
440a9a6dd6 Fix transformation cage centered-scaling to use the center as its pivot (#769)
* Add centre of transformation

* Add alt support

* New breaking file format version

* Spelling

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-28 17:30:45 -07:00
0HyperCube
a6bdabcbaa Add Alt-dragging to duplicate layers (#762)
* Add alt drag to duplicate

* Allow duplicating whilst dragging

* Remove unused variable

* Clearer names for functions

* Better renaming of functions

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-28 13:33:21 -07:00
0HyperCube
7ca45c25e1 Use .then() instead of .after() for sequencing nodes (#760)
* Add .then() for sequencing nodes

* Remove all uses af after

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-28 12:52:46 -07:00
0HyperCube
cac92ad9a2 Fix fast drag with path tool eating handles (#763)
* Fix fast drag with path tool eating handles

* Remove extra space

* Import ordering

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-27 18:19:20 -07:00
0HyperCube
3c2bc04c3c Stop dragging after deselecting point with Shift key (#764)
Stop dragging after deselecting point with shift

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-27 17:38:45 -07:00
0HyperCube
9b67a96adf Prevent using G/R/S without any layers selected (#761)
Stop users from using g/r/s without selected layers

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-27 15:21:26 -07:00
0HyperCube
f18acd055e Fix licenses (#765) 2022-08-27 13:49:19 -07:00
Keavon Chambers
8f59289c5d Remove usage of 'null' in favor of 'undefined' 2022-08-26 00:24:20 -07:00
Keavon Chambers
078cc4373f Enable some TS consistency lints 2022-08-26 00:24:10 -07:00
Keavon Chambers
33e790dc86 Prefix all type imports with the 'type' keyword where appropriate 2022-08-26 00:10:41 -07:00
Keavon Chambers
7848391f6e Clean up MenuList types and fix many Vue and Clippy warnings
Also remove hard-coded-in-Vue Graphite logo in the menu bar in favor of a Rust definition.
2022-08-26 00:10:41 -07:00
Keavon Chambers
5ad76bec6e Clean up camelCase and snake_case in frontend code 2022-08-26 00:10:15 -07:00
Dennis
d566ba852d Impl DynNode 2022-08-23 14:02:50 -07:00
Keavon Chambers
5531fc690f Add grayscale sample image for its node graph test 2022-08-23 14:00:17 -07:00
0hypercube
9548c30a93 Fix cargo-deny 2022-08-23 14:00:17 -07:00
Dennis
ce9e02f36d Make node trait consume self 2022-08-23 14:00:17 -07:00
Dennis
fa0b896825 Implement image loding test 2022-08-23 14:00:17 -07:00
Dennis
7eb050092c Add tests for op nodes 2022-08-23 14:00:17 -07:00
Dennis
abf04753e2 Implement cons node 2022-08-23 14:00:17 -07:00
Dennis
a6a41c4b97 Add test for gray scale node
# Conflicts:
#	node-graph/gcore/src/raster.rs
2022-08-23 14:00:17 -07:00
Dennis
6b45927a60 Reintroduce input for the node trait
# Conflicts:
#	node-graph/gcore/src/raster.rs
2022-08-23 14:00:17 -07:00
0HyperCube
3775aedab1 Add point insertion to the Path tool (#754)
* Messaging cleanup

* Add bezier iter

* Add splitting

* Use bezier_rs bounding box

* Cleanup

* Fix comments

* Fix typo

* Code review tweaks

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-21 14:43:24 -07:00
0HyperCube
d8b4055bcb Add path closing and segment extension to the Pen tool (#753)
* Close paths with pen tool

* Issue Z command always at end of path

* Small code review style changes

* Extending paths

* Fix mirror on extend path

* Code review tweaks

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-20 16:36:17 -07:00
Daniel Childs
a40b6a0aa1 Nudge selected artboard with arrow keys (#701) (#756) 2022-08-20 13:13:22 -07:00
Hannah Li
d8424fc0af Divide the large Bezier-rs implementation file into smaller ones (#751)
* Refactor bezier lib file into a separate folder

* Add better implementation comments

* Update import of Subpath from bezier-rs

* Add comment to describe compare.rs

* Remove printlns and adjust spacing
2022-08-18 15:47:36 -07:00
0HyperCube
dd3d33e523 Fix images and text again (#752)
* Images and text now work again

* Fix crash on load images
2022-08-18 13:40:34 +01:00
0HyperCube
3dc36297d0 Fix a new non-infinite document getting a NaN zoom (#750) 2022-08-15 11:11:06 -07:00
Keavon Chambers
763cdbb100 Move bezier-rs into libraries folder and deploy its interactive docs 2022-08-15 00:17:31 -07:00
Keavon Chambers
44eb83c9b3 Fix logic bug in key internationalization for A-Z keys in alternate layouts 2022-08-14 13:57:01 -07:00
Hannah Li
3bec948cb8 Add further Bezier library unit tests (#729)
* Initial tests

* Write unit tests for Bezier

Co-authored-by: Thomas Cheng <Androxium@users.noreply.github.com>
Co-authored-by: Rob Nadal <RobNadal@users.noreply.github.com>
Co-authored-by: Linda Zheng <linda-zheng@users.noreply.github.com>
Co-authored-by: Jackie Chen <jackiechen73@users.noreply.github.com>

* Write final tests and add PartialEq and Debug traits to Bezier

* Minor changes

* Identify missing tests and rename tests

* Add tests for rotate and translate

* Add tests for bounding box and inflection

* de casteljau point test

* curvature tests

* Add more sections to the rotate and translation tests

Co-authored-by: Thomas Cheng <Androxium@users.noreply.github.com>
Co-authored-by: Rob Nadal <RobNadal@users.noreply.github.com>
Co-authored-by: Linda Zheng <linda-zheng@users.noreply.github.com>
Co-authored-by: Jackie Chen <jackiechen73@users.noreply.github.com>
Co-authored-by: Jackie Chen <jackie.chen73@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-14 13:56:43 -07:00
Keavon Chambers
776992a297 Simplify platform-specific keyboard layouts with Accel key and global platform variable (#748)
* Simplify platform-specific keyboard layouts with Accel key and global platform variable


Co-authored-by: Dennis <dennis@kobert.dev>
2022-08-13 13:28:02 +02:00
Keavon Chambers
d8ae727ea9 Rename MovementMessage to NavigationMessage 2022-08-11 17:20:10 -07:00
Keavon Chambers
dfdfd8149c Switch Vec<Key> to KeysGroup newtype 2022-08-11 16:35:04 -07:00
Keavon Chambers
d6e726f99d Fix shortcut label on welcome screen: "Control" -> "Ctrl" 2022-08-11 10:53:03 -07:00
Keavon Chambers
0f6ecefb3f Revamp key/code input processing which fixes Option key on Mac and other locales
Closes #742
Closes #746
2022-08-11 02:53:46 -07:00
Keavon Chambers
9f4a241e0f Extend welcome screen button click area to labels
Closes #738
2022-08-08 01:29:23 -07:00
Keavon Chambers
e440fba4cc Populate menu bar
Closes #531
2022-08-06 18:08:39 -07:00
Thomas Cheng
b2ddeea954 Implement arcs for Bezier math library (#731)
* added arcs impl

Co-authored-by: Hannah Li <hannahli2010@gmail.com>
Co-authored-by: Rob Nadal <RobNadal@users.noreply.github.com>

* fixed arc drawing,  todo - fix linear check

Co-authored-by: Hannah Li <hannahli2010@gmail.com>

* fixed linear bug + added comments and tests

Co-authored-by: Hannah Li <hannahli2010@gmail.com>

* added max iteration guard + made params optional  + added impl todo

* Add functionality to get arcs between extrema

* Add ArcsOptions to manage optional parameters of the arcs function

* added slider to toggle between arcs impl

Co-authored-by: Rob Nadal <RobNadal@users.noreply.github.com>

* Remove unused types

* address some comments

* added rustdoc for CircularArc struct

* Extract duplicate code into helper, remove loop labels, use window function

* Make JsValue handling consistent in WasmBezier and add comments for the underlying type

* Add enum for MaximizeArcs Auto/On/Off functionality

* Change Auto to Automatic

* fix errors from resolving merge conflict

* fixed error from resolving merge conflicts

* fixed formatting

* address comments

* Small fix

* Add some missing comments

* address comments

* rename variable

* Use unit to show maximize_arcs values

* Change i32 to usize and other minor adjustments

* Change computation for middle t values

* Remove tsconfig

* Fix more usize number handling

Co-authored-by: Hannah Li <hannahli2010@gmail.com>
Co-authored-by: Rob Nadal <RobNadal@users.noreply.github.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-08-05 22:34:39 -07:00
luzpaz
5f5c3efdee Fix various typos (#745)
Found via `codespell -q 3 -L complies,crate,doubleclick,ist,ser,vew`
2022-08-05 20:57:52 -07:00
Dennis
83ff548596 Add raster module to graphene_core 2022-08-05 17:43:49 -07:00
Keavon Chambers
c235c7f252 Additional cleanup of prelude imports in editor codebase
Closes #744
2022-08-05 17:12:56 -07:00
Keavon Chambers
ddfd7db0a0 Restructure the entire editor codebase to consistently match the message hierarchy
Closes #744
2022-08-05 17:13:43 -07:00
Dennis
9e1f4eb46d Add license information for node_graph crates 2022-08-04 11:47:38 +02:00