Commit graph

708 commits

Author SHA1 Message Date
TrueDoctor
2ced9a57c4 Implement the initial Document Nodes system (#795)
* Add testcase for flattening graph

* Implement equality for Values

* Implement input resolution
2022-10-15 02:02:50 +02:00
Keavon Chambers
0f0d30eb9a Add building instructions to the website contribute page 2022-10-14 10:09:37 -07:00
Brian Wo
02da804f38 Fix view mode affecting result of image export (#790) 2022-10-11 04:03:28 +08:00
Brian Wo
197ec492f2 Fix wrong hyperlink on website home page (#785)
Fix wrong url path in website
2022-10-09 06:44:04 +08:00
Keavon Chambers
35877a3fd9 Break apart and improve the JS for rasterizing SVGs and downloading files (#786)
It now uses a blob URL instead of a data URL in the download process, which is cleaner and better performance.
2022-10-08 11:34:31 -07:00
Thomas Cheng
dccff784c5 Convert reduce() and offset() Bezier-rs wasm demo functions to render as SVG (#783)
* convert reduce and offset wasm func to return svg

* address comments
2022-10-05 23:54:02 -04:00
Hannah Li
55f6d13daf Bezier-rs: continue converting demos from canvas to SVG (#779)
* Convert constructor to use svg

* Convert the through_points functions to svg

* Convert length, lut, derivative, and tangent from canvas to svg

* Fixed bug when t1 == t2 in split

* Converted split and trim to use svg representation, and swapped slider options default to use quadratic options

* Convert normal and curvature to use svg representation in bezier-rs-demos

* Convert the project function to use svg representation in bezier-rs-demos

* Convert the local_extrema, bbox, and inflections to use svgs

* Add text offset constants

* Fix typo

Co-authored-by: Robert Nadal <Robnadal44@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-09-27 17:37:30 -07:00
Hannah Li
e9cd792635 Bezier-rs: Convert from canvas to svg for constructors (#776)
* Convert constructor to use svg

* Convert the through_points functions to svg

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-09-26 19:14:27 -07:00
Keavon Chambers
8dce2144c4 Add website link prompting to subscribe to the newsletter 2022-09-25 01:45:59 -07:00
0HyperCube
914b940122 Fix image importing due to incorrect variable name (#781) 2022-09-23 18:53:03 +01:00
Keavon Chambers
ab75f0fbfb Improve the website and readme with details and cleanup 2022-09-16 01:29:33 -07:00
Boutillier
54b63c3eb5 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 10:46:11 +02:00
0HyperCube
788552e10c #[macro_use] the log crate (#775) 2022-09-08 21:14:01 +01:00
Keavon Chambers
655831eedf Improve wording on the website home page; add a volunteer icon 2022-09-04 14:31:08 -07:00
Hannah Li
f74b6ed111 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
1e109dc552 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 22:36:33 +01:00
Keavon Chambers
0f6f3be6e7 Add the Pivot Assist widget
Part of #525
2022-08-29 00:07:38 -07:00
0HyperCube
41c137ed1b 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-29 01:30:45 +01:00
0HyperCube
5afaee1e4b 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 21:33:21 +01:00
0HyperCube
f5e8c48dfb 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 20:52:46 +01:00
0HyperCube
c28d618291 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-28 02:19:20 +01:00
0HyperCube
9f21a8ae6b 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-28 01:38:45 +01:00
0HyperCube
01c180d478 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 23:21:26 +01:00
0HyperCube
e0f791dce5 Fix licenses (#765) 2022-08-27 21:49:19 +01:00
Keavon Chambers
33cb6fcb00 Remove usage of 'null' in favor of 'undefined' 2022-08-25 21:32:27 -07:00
Keavon Chambers
1e74ccb4f8 Enable some TS consistency lints 2022-08-25 19:00:23 -07:00
Keavon Chambers
881ad667d7 Prefix all type imports with the 'type' keyword where appropriate 2022-08-25 15:38:21 -07:00
Keavon Chambers
3a84de32ac 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-25 14:41:16 -07:00
Keavon Chambers
1a90a4db86 Clean up camelCase and snake_case in frontend code 2022-08-23 13:36:27 -07:00
Dennis
71f12db1e6 Impl DynNode 2022-08-22 17:18:26 +02:00
Keavon Chambers
f73836b838 Add grayscale sample image for its node graph test 2022-08-20 23:59:37 -07:00
0hypercube
fda275f231 Fix cargo-deny 2022-08-20 20:59:43 +01:00
Dennis
bdad7aca47 Make node trait consume self 2022-08-19 18:58:17 +02:00
Dennis
12b33da083 Implement image loding test 2022-08-13 19:15:48 +02:00
Dennis
8a0eb0e266 Add tests for op nodes 2022-08-13 18:21:46 +02:00
Dennis
b06e00ce61 Implement cons node 2022-08-13 14:54:12 +02:00
Dennis
7f415febed Add test for gray scale node
# Conflicts:
#	node-graph/gcore/src/raster.rs
2022-08-10 13:10:14 +02:00
Dennis
ef08c27e9c Reintroduce input for the node trait
# Conflicts:
#	node-graph/gcore/src/raster.rs
2022-08-10 13:05:57 +02:00
0HyperCube
b46bcc16ba 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 22:43:24 +01:00
0HyperCube
1bcf55939d 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-21 00:36:17 +01:00
Daniel Childs
09dace0147 Nudge selected artboard with arrow keys (#701) (#756) 2022-08-20 21:13:22 +01:00
Hannah Li
49c236fcc2 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 18:47:36 -04:00
0HyperCube
8effd6ecca 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
4025815515 Fix a new non-infinite document getting a NaN zoom (#750) 2022-08-15 19:11:06 +01:00
Keavon Chambers
4412b983cd Move bezier-rs into libraries folder and deploy its interactive docs 2022-08-14 16:17:27 -07:00
Keavon Chambers
78a3644c45 Fix logic bug in key internationalization for A-Z keys in alternate layouts 2022-08-14 13:57:01 -07:00
Hannah Li
410b3d672c 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 16:56:43 -04:00
Keavon Chambers
863c17b86f 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 04:28:02 -07:00
Keavon Chambers
41bead9028 Rename MovementMessage to NavigationMessage 2022-08-11 17:20:10 -07:00
Keavon Chambers
9559ec58e8 Switch Vec<Key> to KeysGroup newtype 2022-08-11 16:35:04 -07:00