Commit Graph

1427 Commits

Author SHA1 Message Date
haikalvidya
7c93259bc2 Make the child locked when the parent is locked, and the child cannot be unlocked if the parent is locked 2024-04-02 22:44:25 +07:00
haikalvidya
33939f2e84 Fix icon logic on panel locked layer 2024-04-02 22:43:51 +07:00
haikalvidya
a506a6e47d Updated from master 2024-04-01 19:58:29 +07:00
haikalvidya
3f8f4ecd4a Merge branch 'master' into lock-layer-feature 2024-04-01 18:49:25 +07:00
Keavon Chambers
938a688fa0 Polish up the Layers panel design 2024-04-01 02:09:01 -07:00
haikalvidya
c6afdd23f8 Add refresh document metadata before update button on visible and locked 2024-03-31 17:07:39 +07:00
haikalvidya
82df6369d8 Make locked layer cannot be selected when selected all layers, and disabled GRS and nudging operation on locked layer 2024-03-31 15:15:56 +07:00
haikalvidya
07fa761126 Merge branch 'master' into lock-layer-feature 2024-03-31 14:51:50 +07:00
Haikal
5bab38e173 Exclude hidden layers from Ctrl+A selection; prevent G/R/S/nudging hidden layers (#1697)
* Exclude hidden layer to be selected on Select All Layer

* Add hide layer action to history

* Fix error call the function

* Add hide layer action to history state

* Make hidden layer cannot be transform like G/R/S and nudges

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-31 07:48:17 +00:00
Muhammad Aqdas
e22db31738 Fix "contrain" typo (#1717)
Fix typo 'contrain' to true 'constrain

Fix typo 'contrain' to true 'constrain'
2024-03-31 06:15:57 +00:00
Keavon Chambers
291c580924 Fix number input dragging bug and hide floating point imprecision 2024-03-30 19:06:45 -07:00
haikalvidya
58075c2bbb Add locked status selected node on CopyBuffer 2024-03-30 09:52:11 +07:00
haikalvidya
f193beb5da Make locked layer cannot be moved and disable bounding box 2024-03-29 17:31:00 +07:00
haikalvidya
b854a5a1d3 Make the locked layer cannot be selected using pointer and select all key 2024-03-28 12:03:37 +07:00
haikalvidya
601e45e1f3 Update locked state data to adjust the refactor 2024-03-27 23:40:48 +07:00
haikalvidya
11da13e84e Merge branch 'master' into lock-layer-feature 2024-03-27 21:50:33 +07:00
Keavon Chambers
46a9fc031a Website home page and roadmap clarifications 2024-03-27 05:25:39 -07:00
Keavon Chambers
27f9e3f00e Move node visibility flag from NodeNetwork to DocumentNode (#1708)
* protonode -> proto node

* Move node visibility flag from NodeNetwork to DocumentNode

* Add serde default for new field

* Logic improvements
2024-03-27 05:17:08 -07:00
haikalvidya
06bbdd2875 Merge branch 'master' into lock-layer-feature 2024-03-26 15:16:50 +07:00
haikalvidya
0cb9398e30 Add locking layer feature 2024-03-26 15:12:55 +07:00
Haikal
d3e3e19822 Fix hidden state missing from copy/paste, causing hidden layers to reappear when pasted or grouped (#1698)
Add data state visiblity of node when copy-paste
2024-03-25 13:27:30 -07:00
Elbert Ronnie
e9510c5fee Fix Select tool's scale nudging with multi-layer selection (#1699)
* Fix scale nudging for multiple selection

* Use message discriminant for filtering where possible

* Remove unnecessary parameter from `selected_bounds_document_space`

* Fix the error `target.closest is not a function`

* Minor cleanup

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-25 13:20:30 -07:00
Keavon Chambers
0a9bd41be1 Code cleanup and refactoring to enhance consistency (#1695)
- Move message handler payload data into structs
- Organize the file structure used by `editor/src/messages/portfolio/document` `/node_graph` and `/graph_operation`
- Make derive attributes use `serde::Serialize, serde::Deserialize` consistently instead of `use serde::{Deserialize, Serialize};` imports
- Various other code cleanup and refactoring
2024-03-20 21:28:51 -07:00
Nicolás 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
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
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
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
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
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
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
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
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
Keavon Chambers
137853eb40 Simplify Rust deps that depended on a specific commit hash 2024-03-11 00:00:05 -07:00
milan-sedivy
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
Keavon Chambers
822b25ceb6 Update npm dependencies across the project 2024-03-09 17:59:23 -08:00
milan-sedivy
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
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
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