Bug 373270 - Make it possible to temporarily hide the layer being transformed
Summary: Make it possible to temporarily hide the layer being transformed
Status: CONFIRMED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: 3.0.1.1
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-05 00:26 UTC by Szczepan Hołyszewski
Modified: 2020-04-08 17:59 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Szczepan Hołyszewski 2016-12-05 00:26:57 UTC
Please make it possible to temporarily hide the layer being transformed during editing of the transform points.

Rationale: in my scenario, I have an original image of a t-shirt design, and a scan of the actual t-shirt signed by my favorite band. Since the scan is of an elastic object, there is some deformation. I need to "undeform" the scan to match the original design with high accuracy, using the original design as reference. In order to achieve this, I need visual access to the reference image **while** editing transform points.

Failing strategy:

1. Crop/scale/rotate the part with the autographs as accurately as possible as a layer above the corresponding part of the original design.

2. Activate the transform tool, select warp transform, use free points option (not subdivision), place points on salient details of the scanned layer. Lock the points.

3. For each point, temporarily hide the layer being transformed and move the point to the position of the corresponding detail on the original image.

Step 3 fails because switching to the layers tab and hiding the layer cancels the transform tool.
Comment 1 Halla Rempt 2016-12-07 11:30:23 UTC
Hi Szczepan,

Thanks for your report. This might be really difficult to implement because Krita automatically disables tools when a layer is locked or made invisible, and that logic is everywhere. I wonder whether you could achieve your goal by making your top layer temporarily semi-transparent instead?
Comment 2 Szczepan Hołyszewski 2016-12-08 10:33:50 UTC
Yes, I tried with semi-transparency and it was somewhat helpful but insufficient. It helps correct gross inaccuracies but doesn't help with very fine positioning of points. A 50% blend of original and unwarped scan looks about as good when the unwarping is pixel perfect as when it is two or three pixels off. However our brains are very good at motion detection, so if you could alternate between original and unwarped scan then you would clearly see features "jump", even blurry/blobby features that don't give enough feedback with semi-transparency.

Maybe it could be possible to implement an additional hidding functionality independent of layer hiding? There is already a precedent where the layer being worked on with the transform tool is displayed differently: special blending modes get disabled (mode switches to normal). This means that there is likely a special code path for that. Couldn't that code path also override opacity to 0 depending on some UI in the transform tool settings?
Comment 3 Halla Rempt 2016-12-09 08:26:39 UTC
Yes... Such things are possible. I cannot promise we will get down to implementing something anytime soon -- it's rather time that we get some new volunteer coders, because Dmitry and I are already overloaded :-)
Comment 4 Tiar 2020-04-07 18:18:59 UTC
How should it look like from the user's point of view? An option in Tool Options for the Transform Tool?
Comment 5 Szczepan Hołyszewski 2020-04-08 17:59:35 UTC
The original use case as I remember it from over 3 years ago would call for something VERY directly interactive, like hiding the transformed layer by depressing a modifier key, without even needing to release LMB while dragging a point.