The Color Sampler menu kept only the sampler's index. If a control
command deleted an earlier sampler while the menu was open, the index
named another sampler and Delete removed that one. The menu now also
remembers the active document and the sampler's position; when either
no longer matches, Delete greys out and the menu closes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflicts with main's --no-maximize-compatibility (#8064) in the CLI
export args, output mapping and dev-dependencies, and in the
file-format parity status line and revision history: both sides kept.
Co-Authored-By: ljkx <ljkx@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Importing an .abr with select picked its first brush without the 1 %
opacity floor, so a preset saved at 0 % showed 1 % but painted nothing
(#11812).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A brush remembered at 0 % opacity (saved before the 1 % floor) read back
at 0: the options bar showed 1 % but strokes painted nothing. Restoring
now floors opacity at 1 %, like tools.setBrush (#11812).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#9970 reopened Image > Adjustments > Photo Filter... at the filter, colour,
density and Preserve Luminosity of its last OK. Measured in the reference
application: after OK at 60, 70 and 74 %, with a preset or with Color and a
custom colour, it reopens every time at Warming Filter (85), the orange
swatch and 25 %; only Preserve Luminosity carries over (off after an OK with
it off, on after an OK with it on). Opening now starts from the neutral
settings and takes just that one value from the last OK; Alt still reopens
at all the last settings (#8900). Tests and the ui-parity row follow the
measured behaviour.
Co-Authored-By: ljkx <177671075+ljkx@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The typed-text draft remembers the setting it was stored with and is only
used while that setting is unchanged, so a value set meanwhile (a tool
preset while the options bar was hidden) shows from the first frame.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
While the field has the keyboard it gets back the value typed so far
instead of the clamped one, so a leading 0 on the way to 05 no longer
turns into 1 (and 15). The stored value is still clamped at once.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An out-of-range edit cut off by hiding the options bar no longer shows its
alert later, when the field is entered and left again without a change.
The caption scrub test now starts at 90 and checks that it reaches 100.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A scrub of the Tolerance caption while the field has the keyboard stops at
the range's end without the alert. Strokes send the Tolerance as the field
stores it, so a restored fraction erases the same whether or not the
options bar has drawn.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The review on #9306 asked to build the live preview on main's Path
Selection dragging instead of a separate handler. A drag now draws the work
path, or the saved path selected in the Paths panel, where its release will
put it: the same whole-pixel offset and click threshold as
path_selection_finish (path_selection_offset, shared by both), and only the
selected components when some but not all are (path_components::
moved_selected, through the engine's own move_anchors). The document still
changes only on release, as one History step. A shape layer's or vector
mask's outline is not previewed: their pixels move only on release. A stale
drag (VectorGestureOwner) shows nothing, as its release moves nothing.
Co-Authored-By: FartmanAndBurps <FartmanAndBurps@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>