Nicolás Mayora and Nico Mayora
ed3f7acdd7
Fix the Path tool's point dragging getting offset when viewport is panned ( #1693 )
...
fix: moving a point with the path tool after panning
Co-authored-by: Nico Mayora <mayoranicolas0104@gmail.com >
2024-03-17 23:30:53 -07:00
Mohamed Osama and Keavon Chambers
058aa7121c
Fix ungrouping bugs to preserve layer ordering and prevent incorrect layer deletion ( #1672 )
...
* Ungroup layer external consistency and fix bug
* no message
* no message
* no message
* no message
* fix-bug
* Code review: make code more idiomatic
* Fix layres reversed when ungroup with index != -1
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-16 11:44:30 -07:00
Keavon Chambers
d8255ebb72
Block page render when loading web fonts
2024-03-16 02:52:52 -07:00
Karthik Prakash and Keavon Chambers
8bc389a3b4
Fix artboard deletion ( #1651 )
...
* Fix `Document > Clear Artboards`
* Fix `Artboard Tool > Delete`
* fix graph disconnection when deleting artboard
* fix empty artboard deletion
* Code readability improvements
* fix `Clear Artboards`
* add comments
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-16 01:56:39 -07:00
Keavon Chambers
1a2a0e8757
Minor code cleanup and spelling fix
2024-03-16 00:30:29 -07:00
Mohamed Osama and Keavon Chambers
6630e2b964
Place new folders in the correct stack order relative to other selected layers ( #1678 )
...
* New folder placed directly above the topmost selected layer in the hierarchy (at the level of the least nested layer)
* fix bug
* Replace `.collect().contains()` with `.any()` and `if` statement with `.then_some()`
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-16 07:26:46 +00:00
Elbert Ronnie
42c822020e
Make auto-panning speed uniform ( #1690 )
...
* Make auto-panning speed uniform
* Abstract time-delta calculation to `TimeInfo`
* Update docs and add additional check
* Apply code review changes
2024-03-16 06:36:22 +00:00
shipp02
56f8ecacc9
Refresh graph view overlay if it's open when switching documents ( #1691 )
...
* Update Graph View Overlay if it is open when switching documents
* Resolve comments
2024-03-15 19:52:20 -07:00
Keavon Chambers
5bca931813
Rename handle mirroring to colinear
2024-03-14 07:44:55 -07:00
Elbert Ronnie and Keavon Chambers
ea4f3d8bba
Add auto-panning to all remaining tools ( #1682 )
...
* Add auto-panning to Gradient tool
* Add auto-panning to Path tool
* Add auto-panning to Pen tool
* Add auto-panning to Spline tool
* Add auto-panning to Line tool
* Add auto-panning to Rectangle tool
* Add auto-panning to Ellipse tool
* Add auto-panning to Polygon tool
* Hide `PointerOutsideViewport` in debug messages
* cargo fmt
* Code review cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-14 06:05:33 +00:00
milan-sedivy and Keavon Chambers
9ac10cdcf8
Comprehensively polish up the input hints across all tools and states ( #1670 )
...
* Add missing keyhints to most tools
* Standardize hints further
* Improve GRS numerical display values
* Additional hints improvements
* Improve Path tool hints; add Ctrl+Shift+A point deselection
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-12 20:20:25 -07:00
Roshan P
2263b0ab89
New node: Solidify Stroke ( #1650 )
...
* added struct and registered fill from stroke node. not functional yet.
* properly registered new node
* finished fill-from-stroke feature. works on both closed and open shapes. supports line caps and line joins.
* fixed import issues and miter limit handling
* fix outline function. use both subpaths for solid shapes now
* code quality improvements
* use radius instead of diameter, functionality not yet working for shapes as transform is not properly applied before calculating new shapes.
* Updated to follow new VectorData structure. Fully functional.
* fix repeat node
* remove comment
* add a test, remove unused code.
2024-03-11 17:19:29 -07:00
milan-sedivy
c3a886116a
Block the undo shortcut while dragging with a tool ( #1675 )
...
Add NOOP message and bind it to CTRL + Z + LMB
2024-03-11 16:03:08 -07:00
milan-sedivy and Keavon Chambers
01da53eba0
Make the Fill tool's fill click operation cancellable ( #1666 )
...
* Make FillTool a draggable tool with abortable fills
* Unify keyhints across tools
* Apply suggestions from code review
* Formatting
* Fix FillTool when draged outside of shape's layer and add toolswitch abort
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-11 14:18:49 -07:00
milan-sedivy and Keavon Chambers
343523ab34
Improve the Select tool's input hints ( #1667 )
...
* Refactor hints in SelectTool
* Unify Keyhints and fix DrawingBox state so that it holds nested behaviour info
* Code review cleanup; rename hints
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-11 02:11:17 -07:00
milan-sedivy and Keavon Chambers
dcce519426
Fix switch to/from Artboard tool firing an undo ( #1668 )
...
* Fix tool switch causing abort of ArtboardTool transaction when it shouldn't
* Add cancellation keyhints
* Unify the cancel keyhints with other tools
* Consolidate hints
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-11 00:46:38 -07:00
Keavon Chambers
fd54cda445
Rename NodeNetwork inputs/outputs to imports/exports
2024-03-11 00:13:01 -07:00
milan-sedivy and Keavon Chambers
d714166c69
Don't save undo/redo history when aborting transactions ( #1660 )
...
* Create a forgetable undo/redo function used by AbortTransaction
* Rework and fix new undo/redo functions
* Add space before comments
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-10 18:39:33 -07:00
milan-sedivy and Keavon Chambers
aa9a3e648a
Fix cancellation of drag actions in all tools where it's missing ( #1664 )
...
* Change message sent from DocumentMessage::Undo to DocumentMessage::AbortTransaction while aborting select tool
* Fix NavigationTool not aborting
* Fix NavigationTool tilt
* Make gradient tool abortable
* Make PathTool drag actions abortable
* Make FreeHand Tool abortable
* Make BrushTool abortable
* Fix filename typo
* Make artboards also abortable
* Rearrange key bindings for consistency
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-09 16:19:56 -08:00
0HyperCube and Keavon Chambers
218e9675fd
Attribute-based vector format refactor ( #1624 )
...
* Initial vector format structure
* Click targets
* Code review pass
* Remove subpaths from vector data
* Morph node & vector node tests
* Insignificant change
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-09 10:27:30 -08:00
Haikal
c8ea9e05a6
Fix orphaned child layers left behind when a group is ungrouped or deleted ( #1655 )
...
* Fix Incomplete Deletion of Children Nodes in delete_layer Function
* delete debug message
* change variable name on iterator of child_layers
2024-03-09 17:09:30 +00:00
0HyperCube and Keavon Chambers
b31e8f7b6d
Make menu lists searchable ( #1499 )
...
* Searchable font list
* Bug fixes and UX polish for edge cases
* More work, still more bugs to fix
* Don't update highlight when not open
* Bug fixes
* Additional bug fixes and code review
* Fix keyboard input being sent to backend
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-09 10:58:13 +00:00
milan-sedivy
4cbba3d92b
Allow cancellation of pivot drag in Select tool ( #1658 )
...
* Add Abort to SelectToolFsmState::DragginPivot state
* Remove trailing whitespace (rustfmt error)
2024-03-09 00:22:20 -08:00
Mohamed Osama
69c6f44373
Fix internal consistency of layer ordering when grouping ( #1645 )
...
* Internal consistency: Grouping layers preserve the order that they were sorted once those layers end up in the new group
* optimizations
2024-03-09 05:18:37 +00:00
Keavon Chambers
9f84661fac
Switch Eyedropper/Fill tools from Rmb to Shift+Lmb
2024-03-08 20:33:53 -08:00
Elbert Ronnie
d780602ecd
Add auto-panning to the Artboard tool ( #1652 )
...
* Move panning functionality to auto_panning.rs
* Add auto-panning to Artboard tool
* Hide debug messages containing AnimationFrame
2024-03-08 20:32:46 -08:00
milan-sedivy
ea3f834b64
Create a history step when importing SVG files ( #1656 )
...
* Create a history step when importing SVG files
* Removed additional usvg::Tree::from_str call based on feedback, used DocumentHistoryBackward in case it fails
2024-03-08 14:44:49 -08:00
Karthik Prakash and 0HyperCube
0c60fd95fa
Remove remain alphabetical sorting enforcement macros ( #1647 )
...
remove `remain`
Co-authored-by: 0HyperCube <78500760+0HyperCube@users.noreply.github.com >
2024-03-06 16:43:51 +00:00
Elbert Ronnie
2f44b156d1
Fix regression from #1630 for Layers panel blend modes missing labels ( #1649 )
...
Specify label instead of value
2024-03-05 04:10:57 +00:00
Elbert Ronnie
9479abe114
Fix dropdown keyboard movement bug ( #1630 )
...
* Add a value to all `MenuListEntry`
* cargo fmt
* Make `value` as constructor in `MenuListEntry`
* Make `value` as constructor in `RadioEntryData`
2024-03-02 17:06:08 -08:00
Mohamed Osama and Keavon Chambers
a1f2a2b256
Fix layers losing their names upon being grouped ( #1637 )
...
* no message
* no message
* no message
* Make layers reserve their names when grouped
* remove redundancy
* replace String::from("") with String::new()
* Fix test
* Restore unrequested line break changes
* Avoid unwraps
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-02 23:34:25 +00:00
Haikal
128f76af7e
Add clear artboards button to undo history ( #1643 )
2024-03-02 16:39:41 +00:00
Keavon Chambers
f02dd5c0f6
Launch the Alpha 3 release series
2024-02-29 23:47:11 -08:00
zhiyuan
5cf0b8893a
Fix Freehand tool extending after transforming the path ( #1623 )
...
Fix extending after transforming
2024-02-29 19:50:02 -08:00
Keavon Chambers
70dce1c230
Resolve most Clippy lint issues
2024-02-29 00:48:28 -08:00
8e769e37f6
Add auto-panning when pointer goes beyond viewport edge with Select tool ( #1625 )
...
* Add code to shift viewport if mouse is beyond edge
* Allow shifting viewport if mouse is stationary too
* Group all modifier keys into SelectToolPointerKeys
* Cleanup message ordering to remove shifting during resize
* Slow down shifting by half
* Clamp speed; code review cleanup
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com >
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-02-28 23:52:36 -08:00
Keavon Chambers
4405e01f55
Fix displayed ordering of keyboard shortcuts
2024-02-28 21:51:49 -08:00
Mohamed Osama and Keavon Chambers
96e52c18eb
Fix external consistency of grouping layers so they don't jump to the top of the hierarchy ( #1627 )
...
* Calculate insert_index when grouping multiple layers
* no message
* Fix wrong commits
* no message
* restore frontend/package-lock.json
* Fix formatting matches
* Code review to make it idiomatic
* remove wrong line
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-02-28 15:01:23 -08:00
Elbert Ronnie
39401f0be0
Fix point translation bug in Path tool ( #1626 )
...
Fix point translation bug
2024-02-25 14:50:30 +00:00
Keavon Chambers and Dennis Kobert
a02b162e30
Consolidate and rename Graphene data types, and add many comments ( #1620 )
...
* Document ProtoNodeInput
* More comments
* Comment improvements
* Comment and split ProtoNodeInput::NodeLambda from ProtoNodeInput::Node
* Combine NodeImplementation into DocumentNodeImplementation
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2024-02-20 17:53:04 -08:00
Comeza and Keavon Chambers
dc7de4d973
Save work periodically to reduce loss from crashes ( #1580 )
...
* Add auto saving
* Fix autosave dispatching message but not saving document
* Clamp set_timeout delay
* Auto save all documents instead of only the active
* Add with_editor to simplify code
* Update consts
* Simplify some more
* Fix typo
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-02-20 03:23:25 +00:00
0HyperCube and Keavon Chambers
229b5dbb20
Use f64 not f32 throughout graph; add Vector2 value node ( #1618 )
...
* Use doubles in graph
* Format .graphite files onto one line
* Rename new node to Vector2
* No primary input
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-02-18 22:16:37 +00:00
0HyperCube and Keavon Chambers
6f6fb3bcd4
Upgrade several Rust dependencies ( #1613 )
...
`specta` from Hypercube's fork commit to latest upstream commit
`wasm-bindgen` 0.2.87 -> 0.2.91
`spirv-std` from 0.9 to not-yet-merged commit in https://github.com/EmbarkStudios/rust-gpu/pull/1115
`wgpu` 0.17 -> 0.19
`winit` 0.28.6 -> 0.29
`vello` and `vello_svg` from latest upstream commit to not-yet-merged commit in https://github.com/linebender/vello/pull/427
`resvg` 0.36.0 -> 0.39
`glam` 0.24 -> 0.25
`rustybuzz` 0.8.0 -> 0.10.0
`js-sys` and `web-sys` 0.3.55 -> 0.3.67
`usvg` 0.36.0 -> 0.39
`spirv` 0.2.0 -> 0.3
* Update a couple of dependencies
* More test fixing…
* Use upstream Specta instead of fork
* Update comments in Cargo.toml
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-02-17 15:02:41 -08:00
Ezbaze
a50b6b0a09
Fix Subtract Node from adding instead of subtracting ( #1614 )
2024-02-17 03:06:21 +00:00
Keavon Chambers
fc8b41914b
Fix anti-aliasing in overlays by aligning everything with the pixel grid ( #1603 )
2024-02-13 20:47:16 -08:00
Keavon Chambers
1bf62d92c2
Automatically include all demo artwork in test
2024-02-08 01:15:32 -08:00
Keavon Chambers
12e16b9a4e
Add Red Dress demo artwork
2024-02-05 14:41:07 -08:00
zhiyuan
e1735ddf84
Fix Select tool's broken undo ( #1597 )
...
Fix select tool undo
2024-02-05 14:40:27 -08:00
Keavon Chambers
7e5069f638
Copy to Points node: Add "Random Scale Bias" parameter
2024-02-05 05:31:28 -08:00
zhiyuan and Keavon Chambers
9530e55ace
Split widget callbacks into update and commit so only the latter adds a history state ( #1584 )
...
* feat: split commit and update layout
* feat: add on_commit callback
* Code review
* fix: refactor
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-02-05 01:32:15 -08:00