Fix tracking slide zones are not intuitive under certain UI scale/zoom #119971

Merged
Sergey Sharybin merged 2 commits from Sergey/blender:fix_119773 into main 2024-04-22 14:44:52 +02:00

This is a regression caused by some previous refactor of the code,
which was preparing it for transition to a tool-based tracking
workflow. Some of the hot zones got tweaked, and a change in the
behavior was done so that when click happens far away from any
slidable marker "widget" all markers gets de-selected (which
matches behavior in 3D viewport).

The pixel tolerance did not apply UI scale factor, and applied
zoom level after squaring (which is wrong calculation of pixel
space in screen space).

This is a regression caused by some previous refactor of the code, which was preparing it for transition to a tool-based tracking workflow. Some of the hot zones got tweaked, and a change in the behavior was done so that when click happens far away from any slidable marker "widget" all markers gets de-selected (which matches behavior in 3D viewport). The pixel tolerance did not apply UI scale factor, and applied zoom level after squaring (which is wrong calculation of pixel space in screen space).
Sergey Sharybin added 1 commit 2024-03-27 17:55:58 +01:00
47459e6ca3 WIP: Fix #119773: Tracking slide zones are not intuitive
This is a regression caused by some previous refactor of the code,
which was preparing it for transition to a tool-based tracking
workflow. Some of the hot zones got tweaked, and a change in the
behavior was done so that when click happens far away from any
slidable marker "widget" all markers gets de-selected (which
matches behavior in 3D viewport).

The pixel tolerance did not apply UI scale factor, and applied
zoom level after squaring (which is wrong calculation of pixel
space in screen space).

I didn't notice a difference.
The main behavior reported there was that before (3.4), with LMB type selection, you could select within the search region and drag to move the entire marker.
It wasn't exactly like that, but from the size of the previous threshold, it seemed like it worked like that.

Idealizing the selection, in my opinion, it should follow this list of priorities when selecting:

  1. Active marker search gizmos (drag to move or scale search area)
  2. Active marker 4 track points (drag to move a track point)
  3. Active marker rotate gizmo (drag to rotate marker)
  4. Active marker center (drag to move marker)
  5. Non-active markers (select through centers or edges of the markers)
  6. Active marker search area (drag to move all the marker)
  7. Box Select
I didn't notice a difference. The main behavior reported there was that before (3.4), with LMB type selection, you could select within the search region and drag to move the entire marker. It wasn't exactly like that, but from the size of the previous threshold, it seemed like it worked like that. Idealizing the selection, in my opinion, it should follow this list of priorities when selecting: 1. Active marker search gizmos (drag to move or scale search area) 2. Active marker 4 track points (drag to move a track point) 3. Active marker rotate gizmo (drag to rotate marker) 4. Active marker center (drag to move marker) 5. Non-active markers (select through centers or edges of the markers) 6. Active marker search area (drag to move all the marker) 7. Box Select
Author
Owner

The main behavior reported there was that before (3.4), with LMB type selection, you could select within the search region and drag to move the entire marker.
It wasn't exactly like that, but from the size of the previous threshold, it seemed like it worked like that.

That was never really an intent as far as I remember. And for moving forward with the tool behavior we are intending to (in the tracking_tools branch) we can not treat the entire search area as intractable region. The reason for that is because the most powerful tool for tweaking has a behavior of "tweak existing markers by nudging their drag zones, or when clicked in the middle of nowhere place a new marker".

So from this perspective we can not go back to the behavior of 3.4, and can not implement the point 6 from your algorithm.

What we can do, however, is to make it so interacting with the draggable zones which are drawn (those little squares) is as intuitive as possible, and does not lead to situations when actual "hot zone" is smaller from what it is drawn.

P.S. The Blender keymap (with RMB selection) is the one which was the most tested and used by the VFX module, and the behavior of it is closest to what so was agreed on. And it never treated an entire search area as an intractable region.

> The main behavior reported there was that before (3.4), with LMB type selection, you could select within the search region and drag to move the entire marker. > It wasn't exactly like that, but from the size of the previous threshold, it seemed like it worked like that. That was never really an intent as far as I remember. And for moving forward with the tool behavior we are intending to (in the `tracking_tools` branch) we can not treat the entire search area as intractable region. The reason for that is because the most powerful tool for tweaking has a behavior of "tweak existing markers by nudging their drag zones, or when clicked in the middle of nowhere place a new marker". So from this perspective we can not go back to the behavior of 3.4, and can not implement the point 6 from your algorithm. What we can do, however, is to make it so interacting with the draggable zones which are drawn (those little squares) is as intuitive as possible, and does not lead to situations when actual "hot zone" is smaller from what it is drawn. P.S. The Blender keymap (with RMB selection) is the one which was the most tested and used by the VFX module, and the behavior of it is closest to what so was agreed on. And it never treated an entire search area as an intractable region.

RMB selection also presentes the same behavior.
It might not be intentional, but it's a pretty noticeable change:

3.4 Patch
3_4.gif 4_2.gif

I'm not very familiar with the workflow to Movie Clip, if it wasn't intentional and doesn't bring many advantages, the new behavior seems fine for me.

RMB selection also presentes the same behavior. It might not be intentional, but it's a pretty noticeable change: | 3.4 | Patch | | --- | --- | | ![3_4.gif](/attachments/925c8641-aa9c-4f44-822f-bc5a783f3e18) | ![4_2.gif](/attachments/dc13a57f-b0cc-4e21-8466-fa88570bd021) | I'm not very familiar with the workflow to Movie Clip, if it wasn't intentional and doesn't bring many advantages, the new behavior seems fine for me.
266 KiB
481 KiB
Author
Owner

Ah, I was talking about LMB click-drag with RMB selection setting. RMB click-drag with RMB selection indeed used to behave the way you describe. And that is what is no longer behavig the same. It kind of similar to using click-drag transform of plane in 3D view: for markers in 3.4 it was similar to click-drag transform of solid plane, and now it is more similar to click-drag transform of plane with Wire shading (where initializing click-drag from inside of plane actually deselects everything).

I don't rememeber explicit decision on this behavior, will check with the artists in the module.

Until then it would be nice to fix things which we know do not behave to their expectations. To me one of such things is the behavior of dragging the drag zones (the squares and triangles, which, depending on a zoom level would not initiate proper interaction). With this patch to me the situation seems much more intuitive about the drag zones. But would be nice if someone who is not on retina display can verify that the issue is better (or, at least, not worse).

Ah, I was talking about LMB click-drag with RMB selection setting. RMB click-drag with RMB selection indeed used to behave the way you describe. And that is what is no longer behavig the same. It kind of similar to using click-drag transform of plane in 3D view: for markers in 3.4 it was similar to click-drag transform of solid plane, and now it is more similar to click-drag transform of plane with Wire shading (where initializing click-drag from inside of plane actually deselects everything). I don't rememeber explicit decision on this behavior, will check with the artists in the module. Until then it would be nice to fix things which we know do not behave to their expectations. To me one of such things is the behavior of dragging the drag zones (the squares and triangles, which, depending on a zoom level would not initiate proper interaction). With this patch to me the situation seems much more intuitive about the drag zones. But would be nice if someone who is not on retina display can verify that the issue is better (or, at least, not worse).

Test again but I don't notice any difference. Not even at the selection threshold (it looks the same).

But one thing I noticed, which may not be intuitive with RMB selection, is that, when clicking and dragging on any "selectable" point, the marker will move (independent of the gizmo). But if you click and drag a visible but not selectable part, nothing happens.
GIF.gif

In 3.4, clicking and dragging on these parts also moved the marker.
The fact that it no longer moves can be considered a regression.

Test again but I don't notice any difference. Not even at the selection threshold (it looks the same). But one thing I noticed, which may not be intuitive with RMB selection, is that, when clicking and dragging on any "selectable" point, the marker will move (independent of the gizmo). But if you click and drag a visible but not selectable part, nothing happens. ![GIF.gif](/attachments/8e98f925-01b7-430c-abd8-612d1472468f) In 3.4, clicking and dragging on these parts also moved the marker. The fact that it no longer moves can be considered a regression.
360 KiB
Sergey Sharybin changed title from WIP: Fix #119773: Tracking slide zones are not intuitive to Fix tracking slide zones are not intuitive under certain UI scale/zoom 2024-03-29 11:31:09 +01:00
Author
Owner

Test again but I don't notice any difference. Not even at the selection threshold (it looks the same).

Ok, thanks for testing. I've reduced the scope of the PR, and retitled it. To me it does fix some confusion with retina and UI scale of 1.25. So think it is still good to land, even if it does not have affect on all possible configurations.

But one thing I noticed, which may not be intuitive with RMB selection, is that, when clicking and dragging on any "selectable" point.

Please be more specific when describing such situations, as it is not clear from the GIF. Is it RMB selection and RMB click-drag, or RMB selection and LMB click-drag?

Also, the recording with the patch applied?

> Test again but I don't notice any difference. Not even at the selection threshold (it looks the same). Ok, thanks for testing. I've reduced the scope of the PR, and retitled it. To me it does fix some confusion with retina and UI scale of 1.25. So think it is still good to land, even if it does not have affect on all possible configurations. > But one thing I noticed, which may not be intuitive with RMB selection, is that, when clicking and dragging on any "selectable" point. Please be more specific when describing such situations, as it is not clear from the GIF. Is it RMB selection and RMB click-drag, or RMB selection and LMB click-drag? Also, the recording with the patch applied?

The last GIF shows RMB click-drag with the patch applied.

The last GIF shows RMB click-drag with the patch applied.
Sergey Sharybin added 1 commit 2024-04-22 14:37:35 +02:00
Sergey Sharybin merged commit a48f685e2e into main 2024-04-22 14:44:52 +02:00
Sergey Sharybin deleted branch fix_119773 2024-04-22 14:44:55 +02:00
Sign in to join this conversation.
No reviewers
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#119971
No description provided.