-
-
Notifications
You must be signed in to change notification settings - Fork 798
Add overlays for free-floating anchors on hovered/selected vector layers #2630
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add overlays for free-floating anchors on hovered/selected vector layers #2630
Conversation
Test cases: |
!build |
|
@0HyperCube Ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your work so far.
I'm not really sure of the choice of the ManipulatorGroup
to represent a single unconnected point with no handles.
I would also request tests before merging.
I've not manually tested this either but presumably it works mostly OK?
editor/src/messages/portfolio/document/document_message_handler.rs
Outdated
Show resolved
Hide resolved
editor/src/messages/portfolio/document/utility_types/document_metadata.rs
Outdated
Show resolved
Hide resolved
editor/src/messages/portfolio/document/document_message_handler.rs
Outdated
Show resolved
Hide resolved
editor/src/messages/portfolio/document/overlays/utility_types.rs
Outdated
Show resolved
Hide resolved
Could you please make it work so when hovering over a point, it shows the overlays for the layer geometry, as it also does when hovering over a segment or filled shape? It looks like clicking those points works, but they're invisible until you actually click because hovering doesn't show it. I'm also observing a crash that is hard to reproduce. I'll keep trying to make it relicatable. |
I didn't understand what you meant specifically. I assume you meant that when you hover over a free-floating point on a layer that every shape on that layer also gets outlined, correct? If so, that does seems to work on my test cases. free_floating_points.mp4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Crash might be due to this but, I am still unable to pinpoint what exactly is wrong with it:
https://github.com/GraphiteEditor/Graphite/pull/2630/files/e4f13954625fa5e1a8b2212c7850d18c8cfafe8f#diff-fe4d6f56fa9e774229baedb49b94d4dad31de3cd659209a538af1326e565f8f2R452-R456
afe8075
to
139ac6f
Compare
Can you please resolve the merge conflicts? Thanks. |
9792edb
to
139ac6f
Compare
!build |
|
Working nicely, thank you. |
Remember to leave a comment in the issue #2558 so I can assign you to it. Thanks! |
…ers (#2630) * Add selection overlay for free-floating anchors * Add hover overlay for free-floating anchors * Refactor outline_free_floating anchor * Add single-anchor click targets on VectorData * Modify ClickTarget to adapt for Subpath and PointGroup * Fix Rust formatting * Remove debug statements * Add point groups support in VectorDataTable::add_upstream_click_targets * Improve overlay for free floating anchors * Remove datatype for nodes_to_shift * Fix formatting in select_tool.rs * Lints * Code review * Remove references to point_group * Refactor ManipulatorGroup for FreePoint in ClickTargetGroup * Rename ClickTargetGroup to ClickTargetType * Refactor outline_free_floating_anchors into outline * Adapt TransformCage to disable dragging and rotating on a single anchor layer * Fix hover on single points * Fix comments * Lints * Code review pass --------- Co-authored-by: Keavon Chambers <[email protected]>
…ers (GraphiteEditor#2630) * Add selection overlay for free-floating anchors * Add hover overlay for free-floating anchors * Refactor outline_free_floating anchor * Add single-anchor click targets on VectorData * Modify ClickTarget to adapt for Subpath and PointGroup * Fix Rust formatting * Remove debug statements * Add point groups support in VectorDataTable::add_upstream_click_targets * Improve overlay for free floating anchors * Remove datatype for nodes_to_shift * Fix formatting in select_tool.rs * Lints * Code review * Remove references to point_group * Refactor ManipulatorGroup for FreePoint in ClickTargetGroup * Rename ClickTargetGroup to ClickTargetType * Refactor outline_free_floating_anchors into outline * Adapt TransformCage to disable dragging and rotating on a single anchor layer * Fix hover on single points * Fix comments * Lints * Code review pass --------- Co-authored-by: Keavon Chambers <[email protected]>
…spacing based on separation or quantity (#2727) * Added Count point Radio button to property pannel * Implemented on Count radio button functionality * Fixed linting and Title case problem * Fixing more linting problem * Instance tables refactor part 8: Make repeater nodes use pivot not bbox and output instance type not group; rename 'Flatten Vector Elements' to 'Flatten Path' and add 'Flatten Vector' (#2697) Make repeater nodes use pivot not bbox and output instance type not group; rename 'Flatten Vector Elements' to 'Flatten Path' and add 'Flatten Vector' * Refactor the 'Bounding Box' node to use Kurbo instead of Bezier-rs (#2662) * use kurbo's default accuracy constant * fix append_bezpath() method * refactor bounding box node * fix append bezpath implementation. * comments --------- Co-authored-by: Keavon Chambers <[email protected]> * Add overlays for free-floating anchors on hovered/selected vector layers (#2630) * Add selection overlay for free-floating anchors * Add hover overlay for free-floating anchors * Refactor outline_free_floating anchor * Add single-anchor click targets on VectorData * Modify ClickTarget to adapt for Subpath and PointGroup * Fix Rust formatting * Remove debug statements * Add point groups support in VectorDataTable::add_upstream_click_targets * Improve overlay for free floating anchors * Remove datatype for nodes_to_shift * Fix formatting in select_tool.rs * Lints * Code review * Remove references to point_group * Refactor ManipulatorGroup for FreePoint in ClickTargetGroup * Rename ClickTargetGroup to ClickTargetType * Refactor outline_free_floating_anchors into outline * Adapt TransformCage to disable dragging and rotating on a single anchor layer * Fix hover on single points * Fix comments * Lints * Code review pass --------- Co-authored-by: Keavon Chambers <[email protected]> * Add anchor sliding along adjacent segments in the Path tool (#2682) * Improved comments * Add point sliding with approximate t value * Add similarity calculation * Numerical approach to fit the curve * Reliable point sliding for cubic segments * Fix formatting and clean comments * Fix cubic with one handle logic * Cancel on right click and escape * Two parameter optimization * Esc/ Right click cancellation * Code review * Fix dynamic hints * Revert selected_points_counts and fix comments * Code review --------- Co-authored-by: Keavon Chambers <[email protected]> * Fix Sample Points node to avoid duplicating endpoints instead of closing its sampled paths (#2714) * Skip duplicate endpoint and close sampled paths in Sample Points node Closes #2713 * Comment --------- Co-authored-by: Keavon Chambers <[email protected]> * Implemented on Count radio button functionality * Fixed linting and Title case problem * The sample count can now work with adaptive spacing * Readying for production * Rename to 'Sample Polyline' and add migration * Upgrade demo artwork * Add monomorphization --------- Co-authored-by: Keavon Chambers <[email protected]> Co-authored-by: Priyanshu <[email protected]> Co-authored-by: seam0s <[email protected]> Co-authored-by: Adesh Gupta <[email protected]> Co-authored-by: Ezbaze <[email protected]>
Support for overlays, closes #2558.