Let a part be left out of a mask without being taken out of it
A layer built from parts was missing the one control a correction most often wants: seeing what it did. The question a subtracted gradient raises is whether it took only the sky, and the question a stroke raises is whether it filled the shoulder — and the only way to ask either was to remove the part and look, which answered the question and lost the part. The layer's own ring answers a different question, about the adjustment, and hiding eight layers to check one correction is not an A/B anybody performs. So a part carries `hidden`. It is an edit and a history step, as the layer's switch is, and it is folded into the render fingerprint because hiding a part changes the mask as surely as removing it does. Where the mask is built the shown parts are walked rather than the parts, which is what makes a hidden base hand the fold to the first part that is shown — and a revealed layer whose every part is hidden clears its slice rather than leaving whatever the last rasterisation put there to be read back. `covers` asks the same shown parts, so a layer whose only adding part is hidden costs no slice at all. In the sidecar the key is `hidden`, in the part's block or, for the base, in the mask block — under a word that cannot be confused with the layer's `enabled`, which has always meant the layer. Absent means shown, so no file written before the switch existed reads any differently. The row wears the same ring the layer does, one row down, because it is the same question about a smaller thing.
This commit is contained in:
+12
-3
@@ -5,7 +5,7 @@
|
||||
|
||||
Every entry here is extracted from the comment beside the code that implements it, so this file cannot describe a gesture the application does not have. Add one by writing a `GESTURE:` block next to the implementation; there is nowhere else to write it.
|
||||
|
||||
37 gestures, in 4 places.
|
||||
38 gestures, in 4 places.
|
||||
|
||||
## Develop
|
||||
|
||||
@@ -141,7 +141,7 @@ The column is 280px wide and the colour mixer alone puts thirty-six of these in
|
||||
|
||||
Disabling a layer is the before-and-after a local edit constantly wants, so it is one press away rather than inside the row. It is an edit and does take a
|
||||
|
||||
<sub>`ui/dr-ui/ui/masks.slint:209`</sub>
|
||||
<sub>`ui/dr-ui/ui/masks.slint:212`</sub>
|
||||
|
||||
### Show or hide one mask on the photograph
|
||||
|
||||
@@ -150,7 +150,16 @@ Disabling a layer is the before-and-after a local edit constantly wants, so it i
|
||||
|
||||
A mask is judged by seeing where it falls, and two are judged by seeing where they meet — so each row has its own eye rather than the panel having one, and the eye is drawn in the colour the mask shows in, so the row says which shape on the picture is its. Nothing about the edit changes: this is how the photograph is looked at, and takes no history step.
|
||||
|
||||
<sub>`ui/dr-ui/ui/masks.slint:275`</sub>
|
||||
<sub>`ui/dr-ui/ui/masks.slint:279`</sub>
|
||||
|
||||
### Leave one part out of a mask, and put it back
|
||||
|
||||
- **Touch** — Tap the ring on the part's row
|
||||
- **Pointer** — Click the ring on the part's row
|
||||
|
||||
The question a correction raises is whether it did what it was for — whether the stroke filled the shoulder, whether the subtracted gradient took only the sky. Removing it answers that and loses it. The same ring the layer wears, one row down, because it is the same question about a smaller thing.
|
||||
|
||||
<sub>`ui/dr-ui/ui/masks.slint:394`</sub>
|
||||
|
||||
## Collections sidebar
|
||||
|
||||
|
||||
Reference in New Issue
Block a user