* Fix a minor regression in monitor nodes with VectorData
* Use type alias instead of full type
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Port VectorData to Instances<VectorData>
* Port ImageFrame<P> and TextureFrame to Instances<ImageFrame<P>> and Instances<TextureFrame>
* Avoid mutation with the TransformMut trait
* Port GraphicGroup to Instances<GraphicGroup>
* It compiles!
* Organize debugging
* Document upgrading
* Fix Brush node
* Restore TransformMut in lieu of TransformSet trait
* Fix tests
* Final code review
* implemented left selection logic
* added logic for right ward selection
* removed the logs code
* corrected capitalization error
* corrected capitalization error
* added radio buttons for selection_mode
* fixed multiple selection of checkboxes
* adapted to the RadioEntryData
* State management bug
* integrated message system to selection_mode
* updated
* updated
* added selection mode to transition arms
* removed from portfolio message and added preference in ToolMessageData
* removed dead code of selection_mode from frontend logic
* removed dead code for zoomWithScroll
* Cleanup
* Rename, simplify, use dashed box, and highlight only outlines of layers that'll get selected
* More code review
---------
Co-authored-by: Pratik Agrawal <patrik@Pratiks-MacBook-Air.local>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* visualize spline end points using overlays
* implement for spline tool to extend path by draging end points
* allow holding Shift to begin drawing a new spline subpath in the same layer
* implement spline tool to join two endpoints
* fix naming
* refactor spline tool
* impl spline tool snapping and overlays
* fix joining path and refactor
* improve join_path comment
* fix snapping overlays flickering by ignoring snapping in current layer
* fix inserting single point on aborting spline tool
* add snapping for endpoint even when regular snapping is disabled
* fix extending
* fix inserting new point instead of extending and Add hint for Shift to append
* fix grammatical errors and code style
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Fixes last tab being opened instead of last active tab
Fixes 9375180225
* Defers node initialisation to SelectDocument message instead of load_document
* Fix warning regarding attempt to load closed document
* Defer loading resources and running nodes to selection time
* Make last active tab load before others
* Load last active saved document instead of last autosaved doc
* Fix failing tests
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Make HintInfo label use Cow<'static, str> instead of String
Fixes 9319423236
tmp, will amend later
* Replaces dynamic hint used by transform layer with overlays
* Adds a scaling factor accounting for document and viewport scales
Also moves whole code to single unit
* Make overlays relative to viewport rather than document
* Add visualization overlays to G/R/S in the Select tool
* Prevents quick measurements from showing up when resizing bounds
Fixes 1328282633
* Add local axes which activates on double constraints.
* Handle the bounding box of a collection of layers as select tool does
* Replaced hard coded transparent color and removed debug! which slipped in
* Make rotation axes start along local axis
* Fix typed distance being in doc space and negatives
* Fix missing undo transactions for some actions
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* added_handle_overlays
* changed color to yellow
* Rename color parameter
* Change the color to blue
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* grab_scale_path and backspace for pen
* minor improvements and fixes
* code-review changes
* Avoid more nesting, and other code cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Fix snapping to respect rotation of bounding box
Fixes snapping behaviour which defaulted to X and Y axes.
* Remove redundant align along edges
* Code review
* Update manual
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* add function to calculate if a subpath is inside polygon
* make is_subpath_inside_polygon() flexible
* obtimize is_subpath_inside_polygon function
* move is_inside_subpath function to Subpath struct method
* add interactive demo for subpath insideness
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Make progress in text tool
* Add line_width to gcore and gstd
* minor fix
* Dragging sets line_width correctly
* Get draw overlay to work
* Typo fix
* Make progress in text tool
* Add line_width to gcore and gstd
* minor fix
* Dragging sets line_width correctly
* Get draw overlay to work
* Typo fix
* Improve text bounding box
* Add toggle for editing line width
* Take absolute value of drag
* Fix optional properties
* Code review
* Attempt to add box height and abort with keys
* Attempt to add key modifiers and snap manager
* Use resize for improved dragging
* Refactor typesetting configuration into a struct
* Fix missing px unit in frontend
* Remove lines on rendered text
* Fix backwards compatibility
* Refactor lenient slection as an associate function in tool data
* Add dashed quad to text nodes
* Use correct names for max height and width
* Additional renames and reorder
* ReResolve conflict
* Code review and improvements
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* properties panel remains active when user edits text layer
* Keep text layers selected after editing
* Update editor/src/messages/portfolio/document/document_message_handler.rs
* Delete Empty Text Layer on Escape or Right Click
* Fix: delete empty text layer on right click
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* added snap and lock angle to path tool
* fixed breakage of `tab` and `space` functionality
- Previous implementation broke functionality of using Tab to swap the being-dragged handle to its opposing handle, Now fixed.
- Previous implementation broke functionality of using space to drag the manipulator group (anchor + handles) while dragging a handle, Now fixed.
* fixed the angle snapping and locking when used together
Now, if `shift` is used to snap to a 15° increment, then `ctrl` is used to preserve the angle, releasing the `shift` key will still preserve the angle.
* Fix snapping angle logic
* Improve transforms
* added functionality for `alt` key
Now, temporarily converts selected handles to colinear if they are not already colinear.
* Revert "added functionality for `alt` key"
This reverts commit f12ba6fdbf261291ced0e042a2dfe12cddd2f9e8.
* Code review
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Fix text selection
* Remove old implementation
* minor change
* Use inbuilt function instead of helper
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Formatting changes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>