Commit Graph
10594 Commits
Author SHA1 Message Date
David Mann d95faebaa3 Merge remote-tracking branch 'origin/main' into pr-9077
# Conflicts:
#	docs/gaps.md
#	docs/target-app-parity.md
2026-11-08 03:04:43 +01:00
David Mann b30c5c8095 Merge pull request #12142 from hectorviov/fix/star-tool
Toolbar: Star Tool in the shape slot between Polygon and Line (#11377)
2026-11-08 02:56:14 +01:00
David Mann ed893ea812 Merge pull request #12188 from davidmann4/fix/11909-bg-eraser-tolerance-field
Background Eraser: Tolerance takes whole numbers 1-100 with an alert, bar tooltips (#11909)
2026-11-08 02:54:43 +01:00
David Mann f28cf95c88 Merge pull request #11921 from davidmann4/fix/11733-color-sampler-context-menu
Color Sampler: right-click menu on the canvas (#11733)
2026-11-08 02:51:57 +01:00
David Mann 02abef5983 Merge pull request #11920 from davidmann4/fix/11907-bg-eraser-digit-keys
Background Eraser: number keys set the Tolerance (#11907)
2026-11-08 02:50:02 +01:00
David Mann 4a7d746c0a Merge pull request #11823 from davidmann4/fix/11812-brush-opacity-minimum
Brush: opacity minimum 1 % and "00" sets 100 % (#11812)
2026-11-08 02:49:28 +01:00
David Mann 4da02a98a6 Merge pull request #9975 from ljkx/feat/cli-metadata-option
CLI: --metadata none|all leaves document XMP out of convert, run --out and batch exports (#9466)
2026-11-08 02:40:35 +01:00
David MannandClaude Opus 5.5 caae1c8a1f Address CodeRabbit review: close the sampler menu when its sampler changes
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>
2026-11-08 02:19:35 +01:00
David Mann f27b78a75c Merge pull request #12080 from davidmann4/fix/cmyk-ref-rounding-tie
CMYK: the test reference keeps the source ink over nothing (#12079)
2026-11-08 01:52:54 +01:00
David Mann 9ac3fa22b2 Merge pull request #9280 from davidmann4/fix/crop-invalid-rect
Crop: refuse an invalid explicit rectangle instead of cropping to the selection (#9279)
2026-11-08 01:50:23 +01:00
David Mann 940b352ca0 Merge pull request #9256 from davidmann4/fix/scale-effects-bevel-texture
Scale Effects and Image Size scale Bevel & Emboss Texture's scale (#9254)
2026-11-08 01:50:08 +01:00
David Mann 2e9a1d267e Merge pull request #9233 from davidmann4/fix/crop-shift-letter-keys
Crop: Shift+H, Shift+P and Shift+I switch tools again (#9232)
2026-11-08 01:49:51 +01:00
David Mann 0059bd597e Merge pull request #3498 from davidmann4/feat/auto-219-8-panel-command-check
xtask: check that every panel button routes through a command id (#3495)
2026-11-08 01:48:45 +01:00
David Mann ce517049a7 Merge pull request #11221 from yoriswind/codex/transform-hit-zones-11097
Use whole-edge Free Transform handles and consistent rotate cursors
2026-11-08 01:41:27 +01:00
David Mann 5c1b628973 Merge pull request #9970 from ljkx/feat/photo-filter-last-settings
Photo Filter opens at its last settings (#9879)
2026-11-08 01:40:42 +01:00
50b877645f Merge origin/main into feat/cli-metadata-option (#9975)
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>
2026-11-08 01:26:47 +01:00
David MannandClaude Opus 5.5 4750447f23 Floor an imported brush's opacity at 1 % when it is selected
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>
2026-11-08 01:03:17 +01:00
David MannandClaude Opus 5.5 6547fadccd Floor a restored brush's opacity at 1 %
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>
2026-11-08 01:24:18 +00:00
David Mann 1d9c654b3a Merge remote-tracking branch 'origin/main' into fix/11812-brush-opacity-minimum 2026-11-08 00:57:07 +00:00
David Mann 3aa1d9f432 Merge pull request #12164 from ElNeMeR70/fix/patch-sample-all-layers-default-on-12125
Patch tool: start Content-Aware Sample All Layers on (#12125)
2026-11-08 00:41:59 +01:00
Hector VillarrealandClaude Opus 5.5 fe13a8acc3 Star Tool test: the star layer keeps the tool's fill and stroke (maintainer suggestion)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 17:41:12 -06:00
Hector Villarreal de9e11df9b Toolbar: Star Tool in the shape slot between Polygon and Line (#11377) 2026-11-07 17:32:45 -06:00
47e14b5da2 Photo Filter keeps only Preserve Luminosity from its last OK (#9970)
#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>
2026-11-08 00:30:59 +01:00
David Mann 153fcff8c3 Merge pull request #7121 from texjer/feat/camera-raw-sidecars
Camera Raw: Done saves the raws' settings to their sidecars without opening them
2026-11-08 00:30:42 +01:00
David Mann 36a754da5c Merge pull request #12173 from hectorviov/fix/sampler-drag-gestures
Color Sampler: a new point lands where the drag ends, markers follow the pointer, a click on a point moves it, Escape cancels (#11729)
2026-11-08 00:30:07 +01:00
David Mann 15be79be5e Merge pull request #9058 from Gotya-OFFCIAL/raw-hasselblad-3fr
raw: decode Hasselblad 3FR/FFF (X2D II 100C, uncompressed)
2026-11-08 00:29:05 +01:00
David Mann be26364ebc Merge pull request #12093 from yoriswind/codex/count-psd-resource-11759
Preserve Count groups in PSD resource 1080
2026-11-08 00:28:20 +01:00
David MannandClaude Opus 5.5 e6992a855d Background Eraser: a Tolerance set elsewhere wins over an interrupted edit (#11909)
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>
2026-11-08 00:17:09 +01:00
David Mann 2da9714b74 Merge origin/main into feat/photo-filter-last-settings
# Conflicts:
#	crates/ui-egui/src/panels/smart_ui.rs
#	docs/ui-parity.md
2026-11-08 00:16:29 +01:00
David Mann 49eabafbcb Merge pull request #11238 from NaufalDzz/layer-filter-find-layers
Select › Find Layers opens the Layers panel's Name filter (#10884)
2026-11-08 00:13:30 +01:00
David Mann 5525dc41ae Merge pull request #9306 from FartmanAndBurps/contrib/work-path-live-preview
Smooth live preview for Work Path dragging
2026-11-08 00:12:23 +01:00
David Mann d921488bc3 Merge pull request #11700 from TrevorBrown-dev/fix/magnetic-lasso-fastening-spacing-11687
Magnetic Lasso: fastening points are spaced as the reference measures (#11687)
2026-11-08 00:10:54 +01:00
David MannandClaude Opus 5.5 3ad1695d3e Background Eraser: keep the Tolerance text while it is typed (#11909)
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>
2026-11-08 00:01:49 +01:00
David Mann 6d5254d319 Merge pull request #12134 from hectorviov/fix/atn-droplet-print-gradient-tool
Actions: map Create Droplet and cover the Gradient tool's recorded steps (#10710)
2026-11-08 00:01:17 +01:00
David Mann d438e97467 Merge pull request #10766 from yoriswind/codex/atn-menu-intent
Add five Classic Actions panel commands
2026-11-07 23:59:31 +01:00
David Mann f66bf92f42 Merge pull request #12190 from davidmann4/fix/11906-bg-eraser-alt-eyedropper
Background Eraser: Alt+click picks the foreground colour (#11906)
2026-11-07 23:54:39 +01:00
David Mann ebfd46de82 Merge pull request #12139 from hectorviov/fix/transform-relative-position
Free Transform: relative positioning toggle between X and Y (#11679)
2026-11-07 23:53:13 +01:00
David Mann 5e5884603c Merge pull request #12092 from yoriswind/codex/brush-behind-key-11894
Select Behind with Shift+Alt+Q for Brush and Pencil
2026-11-07 23:51:32 +01:00
David Mann 13d0d486e4 Merge pull request #12166 from hectorviov/fix/move-target-layer-default
Move tool: Auto-Select target defaults to Layer; dropdown lists Group, Layer (#11380)
2026-11-07 23:49:21 +01:00
David Mann 2385489d4f Merge pull request #12110 from hnoerenberg/fix/type-default-size-50pt-12051
fix(type-tool): start the type tool at 50 pt
2026-11-07 23:48:08 +01:00
David Mann 8b1e614e7b Merge pull request #11856 from RickiNano/fix/11810-brush-reset-default-tip
Reset Tool gives the Brush a 13 px soft tip (#11810)
2026-11-07 23:45:04 +01:00
David MannandClaude Opus 5.5 8b3e769173 Background Eraser: drop a pending Tolerance alert when the field is entered again (#11909)
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>
2026-11-07 23:44:07 +01:00
David MannandClaude Opus 5.5 2a989225f6 Background Eraser: no alert for a caption scrub, strokes use the stored Tolerance (#11909)
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>
2026-11-07 23:33:56 +01:00
David Mann 977f80dc42 Merge origin/main into PR #9058 (raw: Hasselblad 3FR/FFF)
# Conflicts:
#	docs/gaps.md
2026-11-07 23:30:32 +01:00
David Mann 5d0c8ce8c3 Merge pull request #8140 from Tungtono/feat/psd-puppet-warp-2
PSD: Photoshop's Puppet Warp smart filter, drawn with the mesh the file stores
2026-11-07 23:29:51 +01:00
David Mann c976762718 Merge pull request #5238 from bommerts/codex/live-mixer-brush-delay
Render live painting and canvas navigation in the input frame
2026-11-07 23:26:29 +01:00
David Mann 0a184f4a60 Merge pull request #8261 from Korg1ch/fix/8230-fade-preview
fix(ui): live preview in the Fade dialog (#8230)
2026-11-07 23:24:45 +01:00
e80f242575 PR #9306: preview Path Selection drags on main's own drag code
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>
2026-11-07 23:23:59 +01:00
David Mann 27ea4eddbc Merge pull request #5269 from augrclk/fix/brush-tip-geometry-layout
Brush Settings: align Angle and Roundness left of the tip widget
2026-11-07 23:23:49 +01:00
David Mann 6c9031da01 Merge pull request #10429 from hectorviov/fix/path-selection-chords
Paths: ⇧⌥⌘↩ intersects the path with the selection (#7726)
2026-11-07 23:22:16 +01:00