Commit Graph

544 Commits

Author SHA1 Message Date
Keavon Chambers
8dec73c344 Clean up website file structure 2022-05-10 11:35:39 -07:00
0HyperCube
1481b03c85 Add the File > Export dialog and PNG/JPG downloading (#629)
* Add export dialog

* Code review changes

* More code review feedback

* Fix compilation on stable Rust

* Fixes to problems

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-05-08 23:35:22 -07:00
0HyperCube
79d40fa451 Snapping system improvements and refactor (#621)
* Snap to points and refactor

* Improve dot position on bounds

* Add snap matrix

* Cleanup

* Code review

* Half axis fade rather than increase it

* Fix fmt

* Hide snap to point overlay when active

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-05-08 20:13:57 -07:00
0HyperCube
f177f63217 Migrate dialogs to Rust and add a New File dialog (#623)
* Migrate coming soon and about dialog to Rust

* Migrate confirm close and close all

* Migrate dialog error

* Improve keyboard navigation throughout UI

* Cleanup and fix panic dialog

* Reduce css spacing to better match old dialogs

* Add new document modal

* Fix crash when generating default name

* Populate rust about graphite data on startup

* Code review changes

* Move one more :focus CSS rule into App.vue

* Add a dialog message and move dialogs

* Split out keyboard input navigation from this branch

* Improvements including simplifying panic dialog code

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-05-07 01:59:52 -07:00
Keavon Chambers
7729b6219e Move the Layer Tree panel's New Folder and Delete icons into the options bar 2022-05-06 13:19:00 -07:00
FlorentCollin
1fd4c99832 Add a hotkey to select a random primary color (#622)
* Add shortcut to select a random primary color (#549)

* Rename random primary color message and reduce the number of calls to
generate_uuid

* Add documentation for SelectRandomPrimaryColor message

* Set the alpha value to 255 instead of a random value #622

Co-authored-by: Florent Collin <florentcollin23@gmail.com>
2022-05-05 23:50:50 -07:00
Keavon Chambers
8c9caf12c7 Tidy up the full frontend codebase and use optional chaining where possible (#620)
* Tidy up the full frontend codebase and use optional chaining where possible

* Code review changes
2022-04-30 02:52:53 -07:00
Keavon Chambers
d1c32ad7d0 Upgrade vue-cli to version 5 (#594)
* Upgrade to Vue CLI 5 (fails to compile)

* Upgrade versions with last few weeks of changes

* Updated to fork-ts-checker-webpack-plugin 7.2.3

* Remove package.json overrides in lieu of the fixed fork-ts-checker-webpack-plugin@6.5.1

* Fix svg importing

* Comments

* For debugging only: added infrastructureLogging to vue.config.js

* Now works on Windows, waiting on fork-ts-checker-webpack-plugin backport if possible

* Switch to the fixed fork-ts-checker-webpack-plugin@6.5.2

* Fix license checker build compilation

Co-authored-by: 0hypercube <0hypercube@gmail.com>
2022-04-26 01:47:13 -07:00
0HyperCube
b61d91e3c5 Draw the outlines of shapes on hover and selection (#609)
* Add hover outline overlay

* Increase selection tolerance

* Increase weight

* Only check if top intersection is selected

* Outline selected paths

* Reduce outline weight

* Increase path tool outline thickness to match hover
2022-04-23 17:21:48 -07:00
0HyperCube
6777864ca3 Fix properties deselect (#606)
* Fix properties panel deselect

* Fix arrow cursors on select tool

* Fix drag from UI to document causing mouse down

* Fix tests

* Cleanup
2022-04-22 10:58:29 +01:00
Keavon Chambers
1bf1687642 Change stroke weight from ints to floats (#601)
Also rename stroke "width" to "weight" in some places. Closes #587

* Change stroke weight from ints to floats

* "miter_limit" -> "line_join_miter_limit"

* Bump file format version
2022-04-21 13:35:35 -07:00
0HyperCube
8a8e94a4bb Stop pointerdown event from properties panel (#600) 2022-04-21 21:14:11 +01:00
Keavon Chambers
d65ce17d7e Rename Crop tool to Artboard tool 2022-04-21 10:52:33 -07:00
0HyperCube
2ace16df0f Improvements to the layer transform cage UX (#589)
* Allow input system to handle mousedown while dragging

* Fix abort

* Add apsect ratio

* Make comment more explicit

* Fix abort when dragging

* Constrain when dragging edge
2022-04-21 10:00:22 +01:00
0HyperCube
239aa03453 Font selection for text layers (#585)
* Add font dropdown

* Add fonts

* Font tool options

* Fix tests

* Replace http with https

* Add variant selection

* Do not embed default font

* Use proxied font list API

* Change default font to Merriweather

* Remove outdated comment

* Specify font once & load font into foreignobject

* Fix tests

* Rename variant to font_style

* Change TextAreaInput to use FieldInput (WIP, breaks functionality)

* Fix textarea functionality

* Fix types

* Add weight name mapping

* Change labeling of "Italic"

* Remove commented HTML node

* Rename font "name" to "font_family" and "file" "font_file"

* Fix errors

* Fix fmt

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-04-21 09:50:44 +01:00
mfish33
916a575446 Add properties panel entries for artboards (#572)
* Artboards can have properties

* fix crash when renaming artboards

* moved target document to utility types

* moved import and added test for file version information

* fixed missing import

* fix error from merging

* - typed properties message handler data
- removed name from WidgetRow

* clippy warnings

* artboards have seperate properties section

* - color input can be forced to have selection
- crop tool shows on switch
- select tool shows on switch

* variable renamed

* change to use PropType<boolean> instead of PropType<Boolean>

* Add an artboard icon

* Add the "Delete Artboard" hint

* fix unselect glitch

* even better

* Remove the Transform properties group

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-04-20 18:42:32 -07:00
0HyperCube
ca28bc3947 Fix gradient transformation (#588)
* Fix with perfect circle

* Actually fix rotated gradient

* Gradient transform & fix on rotated canvas

* Cleanup & remove logging
2022-04-20 18:14:33 +01:00
Keavon Chambers
9c61fbc936 New blog post: "Distributed computing with the Graphene runtime" 2022-04-18 02:04:22 -07:00
0HyperCube
66a100ff52 All shapes now have a Fill in the properties panel; color inputs are now optional (#583)
* Add aditional stroke properties

* Make the colour input optional

* Fix fmt

* Apply code review changes

* Code review nitpicks

* Fix recursion

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-04-18 09:25:09 +01:00
Keavon Chambers
a76bded12f Expand upon the "Announcing Graphite alpha" blog post 2022-04-14 10:19:09 -07:00
0HyperCube
24c8e6ad6f Add additional stroke properties (#582)
* Add aditional stroke properties

* Add comment explaining clones for closure

* Improve labels

* Fix doc test

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-04-09 01:28:29 -07:00
Alaska
3f3d692db7 Add documentation to many parts of the Rust codebase (#552)
* add lots of doccomments

* add conversion traits from layerdatatypes to layers

* add suggested doc improvements

* Code review changes

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-04-08 23:56:58 -07:00
0HyperCube
d49914e7c1 Fix panic dialogue when handling a message (#573)
* Fix panic dialogue when handling a message

* Fix indents for github reporting

* More whitespace improvements
2022-04-02 13:42:10 -07:00
dependabot[bot]
f5d7d065e2 Bump minimist from 1.2.5 to 1.2.6 in /frontend (#571)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-31 11:41:57 -07:00
0HyperCube
95ce94fa50 Add embedable images (#564)
* Add embedable bitmaps

* Initial work on blob urls

* Finish implementing data url

* Fix some bugs

* Rename bitmap to image

* Fix loading image on document load

* Add transform properties for image

* Remove some logging

* Add image dimensions

* Implement system copy and paste

* Fix pasting images

* Fix test

* Address code review

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-03-27 11:43:41 +01:00
TrueDoctor
bd5715d070 Differentiate between scale and dimensions (#570)
* Differentiate between scale and dimensions

* Fix layout and naming of properties
2022-03-26 17:48:40 -07:00
Keavon Chambers
3e2962e36a Add node graph mockup to website 2022-03-25 02:11:31 -07:00
Keavon Chambers
9af26a3840 Various website fixes 2022-03-17 02:51:37 -07:00
Keavon Chambers
045448a26e Small website text improvements 2022-03-15 16:06:09 -07:00
TrueDoctor
7daebef880 Fix type error in Brave browser (#569) 2022-03-15 19:10:45 +01:00
0HyperCube
bac34e3e64 Fix clippy lints and update packages (#568)
# Conflicts:
#	Cargo.lock
2022-03-14 14:23:08 -07:00
Keavon Chambers
a1b91c75c7 Add features page and fixes to website 2022-03-13 11:32:53 -07:00
Keavon Chambers
b4f316c3b9 Add website revisions and many new pages 2022-03-12 08:31:12 -08:00
Keavon Chambers
7b4b0ff06e Add Image node icon and rename node from Path to Shape 2022-03-05 23:51:59 -08:00
Keavon Chambers
f9012060db Change tool shelf icon colors to use classes not style 2022-03-05 18:28:41 -08:00
Keavon Chambers
6169a30f6e Remake node type icons (closes #483); color picker cleanup 2022-03-04 22:48:22 -08:00
Keavon Chambers
d8df4b9369 Reorder tool icons, update favicon and logo, and other icon cleanup 2022-03-04 13:04:59 -08:00
Keavon Chambers
acc02cf743 Set text color based on its fill when it's being edited 2022-03-04 12:15:42 -08:00
Keavon Chambers
f1ddf46109 Update npm dependencies 2022-03-02 22:02:40 -08:00
Keavon Chambers
a62147ce36 Add "New Folder"/"Delete Selected" buttons to layer panel
Closes #532
2022-03-02 21:55:40 -08:00
mfish33
1b1a6a2a12 Color Input (#565)
* initial working prototype

* clean up component

* Fix alignment

* Code review tweaks

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-02-22 13:52:58 -08:00
Oliver Davies
f718fa5af1 Pen tool fixes (#563)
Resolves 3 known bugs with the pen tool.

* Fixed crash pointed out by @caleb-ad

* Fixed issue with final path segment losing handle data

* Replace curves with lines when under a drag threshold, improves usability.

* Readability improvements, improved comments
2022-02-20 19:47:04 -08:00
Keavon Chambers
acfa9ecaa4 Add newsletter signup to website 2022-02-19 03:31:02 -08:00
Keavon Chambers
1fd8e9f0e9 Website responsive resizing improvements 2022-02-19 02:16:30 -08:00
Keavon Chambers
8baa1b1213 Create project website with near-complete home page 2022-02-17 03:38:01 -08:00
Dennis
a276de255f Fix panic on non existing document layer 2022-02-16 17:41:45 +01:00
mfish33
51f5ef4fca fix crash when shape does not have fill (#557) 2022-02-15 16:57:44 -08:00
mfish33
ee0718ef5d Can set stroke and fill on text and shapes (#551)
* Can set stroke and fill on text and shapes

* resend layout on failed update

* text input properly resets on bad input

* support modifying gradients

* can modify gradients in the properties panel

* updated labels

* remove heap allocation in favor of RC

* removed redundent line

* oops
2022-02-15 09:04:11 -08:00
0HyperCube
2aba0fc06b Gradient Tool (#546)
* Refactor to support fill enum & svg defs

* Init tool

* Fix advertise

* Gradient tool click and drag

* Overlays

* Drag overlays

* Cleanup

* Fix transform on elongated shapes

* Snap rotate

* Snapping

* Add hints

* Rename to solid

* Code review changes

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-02-14 15:07:11 -08:00
0HyperCube
2bf1d5ebea Reduce transformation cage rotate tolerance (#548) 2022-02-13 21:49:06 +00:00