Skip to content
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

Improve Pen tool handle dragging with Tab swapping, Ctrl angle locking, and directly dragging the closing endpoint in handle #2452

Merged
merged 34 commits into from
Apr 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
274998c
added handle_types and refactored the handle_adjustments
0SlowPoke0 Mar 12, 2025
aca711d
Resolved merge conflicts
0SlowPoke0 Mar 13, 2025
3258140
anchor move refactor
0SlowPoke0 Mar 13, 2025
308031b
code-todo-fix
0SlowPoke0 Mar 13, 2025
1c2b6b1
Merge branch 'GraphiteEditor:master' into pen_refactor
0SlowPoke0 Mar 14, 2025
34f6f43
removed-draw-mode
0SlowPoke0 Mar 14, 2025
3e86424
kind of works need to figure out snapping
0SlowPoke0 Mar 15, 2025
6b7ba11
some refactoring
0SlowPoke0 Mar 15, 2025
7cabb15
refactor+overlays..need to fix the snapping and dragging
0SlowPoke0 Mar 16, 2025
f451510
added docs
0SlowPoke0 Mar 16, 2025
4f9c277
Merge branch 'GraphiteEditor:master' into pen_refactor
0SlowPoke0 Mar 16, 2025
ca346bc
got stuck in space move
0SlowPoke0 Mar 17, 2025
abe8f07
Merge branch 'master' into pen_refactor
0SlowPoke0 Mar 17, 2025
1b9ea0e
fixed all issues
0SlowPoke0 Mar 19, 2025
e8e749e
Merge branch 'pen_refactor' of https://github.com/0SlowPoke0/Graphite…
0SlowPoke0 Mar 19, 2025
89f13c4
Merge branch 'GraphiteEditor:master' into pen_refactor
0SlowPoke0 Mar 19, 2025
9493749
comments and small fixes
0SlowPoke0 Mar 20, 2025
40c9b63
Merge branch 'master' into pen_refactor
0SlowPoke0 Mar 20, 2025
43f9a7c
completed last issue and refactor
0SlowPoke0 Mar 21, 2025
3df9f55
Merge branch 'GraphiteEditor:master' into pen_refactor
0SlowPoke0 Mar 21, 2025
dc0872e
Merge branch 'pen_refactor' of https://github.com/0SlowPoke0/Graphite…
0SlowPoke0 Mar 21, 2025
43510f2
Merge branch 'master' into pen_refactor
0SlowPoke0 Mar 27, 2025
3a73690
major fixes and improv
0SlowPoke0 Mar 27, 2025
b228ac9
fixed edge cases
0SlowPoke0 Mar 30, 2025
5b1ba81
Merge branch 'master' into pen_refactor
0SlowPoke0 Mar 30, 2025
a25c0d9
edge cases fixed
0SlowPoke0 Mar 31, 2025
c14ebcc
Merge branch 'pen_refactor' of https://github.com/0SlowPoke0/Graphite…
0SlowPoke0 Mar 31, 2025
6ca6f7f
Merge branch 'master' into pen_refactor
Keavon Apr 7, 2025
8a445d7
fix edge cases and add docs
0SlowPoke0 Apr 7, 2025
2b987e7
Code review pass
Keavon Apr 7, 2025
ff34454
rename ,bug fixes
0SlowPoke0 Apr 8, 2025
24eb19e
Add terminology diagram
Keavon Apr 8, 2025
3054a31
Add Ctrl "Lock Angle" hint
Keavon Apr 8, 2025
5ee4239
Rename other hint
Keavon Apr 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions editor/src/messages/input_mapper/input_mappings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ pub fn input_mappings() -> Mapping {
//
// PenToolMessage
entry!(PointerMove; refresh_keys=[Control, Alt, Shift, KeyC], action_dispatch=PenToolMessage::PointerMove { snap_angle: Shift, break_handle: Alt, lock_angle: Control, colinear: KeyC, move_anchor_with_handles: Space }),
entry!(KeyDownNoRepeat(Tab); action_dispatch=PenToolMessage::SwapHandles),
entry!(KeyDown(MouseLeft); action_dispatch=PenToolMessage::DragStart { append_to_selected: Shift }),
entry!(KeyUp(MouseLeft); action_dispatch=PenToolMessage::DragStop),
entry!(KeyDown(MouseRight); action_dispatch=PenToolMessage::Abort),
Expand Down
2 changes: 1 addition & 1 deletion editor/src/messages/tool/tool_messages/path_tool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1468,7 +1468,7 @@ impl Fsm for PathToolFsmState {
let drag_anchor = HintInfo::keys([Key::Space], "Drag Anchor");
let toggle_group = match dragging_state.point_select_state {
PointSelectState::HandleNoPair | PointSelectState::HandleWithPair => {
let mut hints = vec![HintInfo::keys([Key::Tab], "Swap Selected Handles")];
let mut hints = vec![HintInfo::keys([Key::Tab], "Swap Dragged Handle")];
hints.push(HintInfo::keys(
[Key::KeyC],
if colinear == ManipulatorAngle::Colinear {
Expand Down
Loading
Loading