Repository navigation
Conversation
An adjustment now starts on every chosen paint layer, not only the current one, and keeps that target set for its whole life. - Keep the target layers in `State::adjust_targets`, cleared when the adjustment ends. - Pencil rebinds every layer to the painted mask, and baking or restarting a stroke begins the whole target set again. - Liquify pushes each target layer's mask along with it. - Clone follows the multi-layer pencil path. - Filter plugins stay on the current layer: their runner draws one layer at a time. - Cover the paths with picked-layer tests for HSB, blur, pencil, Liquify and Clone.
A painted-on adjustment committed its undo step from the primary layer only, so the other picked layers stayed adjusted after undo and their noise was folded into their original dot's step. The painted branch of TransformEnd now keeps a snapshot for every layer it ends, all within the painted rectangle. One undo puts the whole stroke back on every layer. Adds a regression test: two picked layers, two pencil strokes, one undo and one redo.
…one and drawn as a grainy disc (discord)
… the built-in list goes with it
…g set loads without freezing the canvas (discord)
…at it holds, with one guide to writing them
… again, and a minimised one draws nothing (artcraft-android#73)
…hosen, and Harmony hides the button it ignores (artcraft-android#73)
…folder and in packages (discord)
…d#74) Co-authored-by: Hekel1989 <28776601+Hekel1989@users.noreply.github.com>
…clock, so a blocked call can't hold its cover up (artcraft-android#68) Co-authored-by: cirokk <64557955+cirokk@users.noreply.github.com>
…el shows solo (discord)
…on, so lint passes (artcraft-android#76) Co-authored-by: lashmanRB <16557619+lashmanRB@users.noreply.github.com>
…y when set to, and read full-size grains and shapes (artcraft-android#88) Co-authored-by: Zorienu <35647138+Zorienu@users.noreply.github.com>
… set relative to the stroke (artcraft-android#85) Co-authored-by: Naitrate <64479044+Naitrate@users.noreply.github.com>
…stays over the bars (artcraft-android#86) Co-authored-by: radioactiveroach <80217949+radioactiveroach@users.noreply.github.com>
…all and stays on the screen, its handles in reach (artcraft-android#80)
…too small for them instead of crashing (artcraft-android#80)
…r a window of its own (artcraft-android#80)
…e that fails says so (artcraft-android#80)
… a frame, not at every pen sample (artcraft-android#80)
…fills and pictures, show in X-Ray, Preview and the Reference window, and share whole
…ugin still opening
… by itself (discord)
… instead of painting nothing (artcraft-android#93)
…f, then ordinary plugins
…nly the layer's own box (artcraft-android#93)
Contributor
Author
|
@bearinmindcat can you review this one please? 👀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adjustments now change every picked layer, not only the current one.
What now works
One undo puts every changed layer back.
How
State::adjust_targetsfor thewhole adjustment.
and target.
a stroke begins the whole target set again.
Scope
Plugin filters stay on the current layer. Their runner draws one layer at
a time with its own timeouts, so multi-layer plugin runs need a separate
design.
Locked, hidden and text layers are skipped.
Testing
cargo test -p procraft-core --lib picked_layers_cargo test -p procraft-core --lib -- --skip plugin_filter::testscargo check --workspaceThe two
plugin_filter::testsfailures also fail onHEAD; they areunrelated to this change.
Try it
Pick two layers, run Gaussian Blur, then Liquify, then Clone.