* Copy and paste a single channel from the Channels panel (#2307)
With a colour channel (Red, Green, Blue, ...) targeted, Copy copied the whole
layer and Paste made a new layer, so a channel could not be copied into
another one. Now, as in Photoshop:
- Copy with a colour or alpha channel targeted copies that channel's values
as a grayscale clip, inside the selection or across the whole canvas. With
an alpha channel targeted, Copy needs no pixel layer.
- Paste, Paste in Place and Paste Into with a colour channel targeted write
the clip's luminosity into that channel of the active layer, in one undo
step. The other channels and the layer's transparency are left alone, and
a pixel lock refuses the paste.
The logic lives in a new channel_clip module; Copy, Paste and Paste Into only
call it. Cut keeps its old behaviour.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Channels: Cut with one channel targeted clears only that channel (#2698)
With a single colour channel (e.g. Red) targeted in the Channels panel,
Edit > Cut copied and cleared every channel of the layer: `edit.cut` is not
one of the channel-routed commands, so it always ran the whole-layer path.
Now, as in Photoshop, Cut with a colour channel targeted copies that channel
as a grayscale clip (the channel Copy from #2307) and fills the cut area of
that channel only with the background colour's value for it, weighted by
selection coverage. The other channels and the layer's transparency are left
alone, and the whole cut is one undo step. With the composite targeted, Cut
is unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Cut on a colour channel: reuse clear_color_channel from #2730
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Fabian Ghenof <fabianghenof@techie.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
With a colour channel (Red, Green, Blue, ...) targeted, Copy copied the whole
layer and Paste made a new layer, so a channel could not be copied into
another one. Now, as in Photoshop:
- Copy with a colour or alpha channel targeted copies that channel's values
as a grayscale clip, inside the selection or across the whole canvas. With
an alpha channel targeted, Copy needs no pixel layer.
- Paste, Paste in Place and Paste Into with a colour channel targeted write
the clip's luminosity into that channel of the active layer, in one undo
step. The other channels and the layer's transparency are left alone, and
a pixel lock refuses the paste.
The logic lives in a new channel_clip module; Copy, Paste and Paste Into only
call it. Cut keeps its old behaviour.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>