aiongg
a78dfcf711
Integration: #6936 crop_size::target takes pt_per_in
2026-10-22 15:37:12 +00:00
aiongg
7c08e3d7bb
Merge PR #6936 : Crop tool: switching tools drops an untouched ratio-fitted frame instead of cropping
...
crates/algo/src/features.rs: comment-only conflict from a commit already on main; kept main's side.
crates/ui-egui/src/crop_ui.rs: fit_frame conflict; kept the PR's side (its 2-argument crop_size::target call does not compile on main; fixed in the next commit).
2026-10-22 15:37:12 +00:00
aiongg
48ccb21290
Merge PR #6786 : Puppet warp: Fix discrepancy between preview and the final state
...
crates/ui-egui/src/puppet_ui.rs: tests added by both sides in the same place; kept both whole (#6754 's pin-deletion tests, then #6786 's drag-preview tests).
2026-10-22 15:37:12 +00:00
aiongg
6a257627b1
Merge PR #6754 : Puppet warp: Delete and Backspace remove the selected pin
2026-10-22 15:37:12 +00:00
aiongg
9eb30f41a8
Merge PR #6224 : Free Transform: a rotated sprite's soft edge keeps its colour instead of a light border
2026-10-22 15:37:11 +00:00
aiongg
3ce61355f1
Merge PR #6186 : Free Transform: picking another tool or layer applies a background commit ( #5665 , #5667 )
2026-10-22 15:37:11 +00:00
aiongg
63f3dbfd5b
Merge PR #6042 : fix(ui): keep Clone Stamp source preview crisp when zoomed in
2026-10-22 15:37:11 +00:00
aiongg
3c329fa530
Merge PR #5545 : Keep Free Transform preview colors consistent with the canvas
2026-10-22 15:37:11 +00:00
aiongg
4ec2ef53c9
Merge PR #3926 : feat(ui): Free Transform 3x3 reference point widget and projective homography pivot snapping
2026-10-22 15:37:11 +00:00
Zuujis
38bc5e916c
refactor(atn): build the clipping-mask and three adjustment events with macros ( #8401 )
...
Create/Release Clipping Mask and Brightness/Contrast, Black & White and
Gradient Map were written out by hand with the same body as
adjustment_event! or each other, which SonarCloud counts as duplicated new
code (photocraft's quality gate fails on 9.8% duplication from the GrpL
entry). adjustment_event! takes an optional command id, and clipping_event!
builds the two clipping events. The mapping table is unchanged.
2026-10-21 20:28:12 -04:00
Dylan M. Taylor
f4bc90b93f
ci: pin GitHub Actions to full commit SHA (SonarCloud githubactions:S7637) ( #8368 )
...
Pin third-party actions to full-length commit SHAs (with version comments)
instead of mutable tags/branches to prevent supply-chain tampering via
retagged releases. Resolves SonarCloud rule githubactions:S7637.
2026-10-21 20:12:22 -04:00
Dylan M. Taylor
3ec52a9ff1
security: enforce HTTPS on curl downloads (SonarCloud S6506) ( #8369 )
...
Add --proto '=https' to curl invocations so redirects cannot downgrade to
plaintext HTTP. Resolves SonarCloud S6506 (shell/docker/githubactions).
2026-10-21 20:11:03 -04:00
Dylan M. Taylor
9b18f57344
test: use tokio::time::sleep in async test poll loop (SonarCloud rust:S7488) ( #8373 )
...
The multi-thread #[tokio::test] polled with a blocking std::thread::sleep,
stalling a runtime worker. Use tokio::time::sleep(..).await instead.
2026-10-21 19:35:38 -04:00
aiongg
ad694eb17d
Merge pull request #8370 from storytold/sonar-fix/actions-script-injection
...
security: prevent script injection in fuzz workflow (SonarCloud S7630)
2026-10-21 19:26:09 -04:00
aiongg
ba40dffb25
Merge pull request #8355 from aiongg/integration-10
...
Integration batch: #8229 , David's follow-ups and 85 FredApps-approved PRs on main
2026-10-21 19:02:54 -04:00
aiongg
ce85a5ae78
Merge PR #8229 : Integration batch: 8 PRs on main
2026-10-21 22:30:00 +00:00
aiongg
33214b70f4
Merge PR #6708 : Paths: the path selected in the Paths panel is drawn on the canvas ( #6550 )
2026-10-21 22:30:00 +00:00
aiongg
989a685b3f
Merge PR #6208 : Preferences: Save in Background off saves in the foreground ( #6207 )
2026-10-21 22:29:59 +00:00
aiongg
3b04ff873c
Merge PR #5840 : Export As: Resample menu, incl. Nearest Neighbor ( #5838 )
2026-10-21 22:29:59 +00:00
aiongg
f32f882f3a
Merge main into integration-10
...
# Conflicts:
# apps/photocraft-web/src/web.rs
# apps/photocraft/src/services.rs
# crates/engine/src/file_cmds/tests.rs
# crates/engine/src/float_cmds.rs
# crates/engine/src/float_cmds/tests.rs
# xtask/src/corpus.rs
# xtask/src/corpus_pins.rs
# xtask/src/main.rs
2026-10-21 21:56:26 +00:00
aiongg
21a952698a
Integration: Lens Flare and the render filters' colours read with main's double and typed enum_name helpers, for #6160
2026-10-21 21:56:22 +00:00
aiongg
1a388f8ba7
Merge PR #8229 : Integration batch: 8 PRs on main
...
# Conflicts:
# crates/io/src/smart_map.rs
# docs/file-format-parity.md
2026-10-21 21:56:22 +00:00
aiongg
64d042aef5
Integration: Create Clipping Mask also maps the GrpL code and a named-layer target, for #6881 and #4496
2026-10-21 21:56:21 +00:00
aiongg
0e9cbbc88e
Integration: one tools.setColors and one clipping-mask mapping in .atn export, for #6881 and #4496
2026-10-21 21:56:21 +00:00
aiongg
719fb44d42
Merge PR #6881 : Actions: .atn Select Subject, Select and Mask, Color Range, clipping and layer masks, colours map to commands (part of #6745 )
2026-10-21 21:56:21 +00:00
aiongg
3b16c2bc98
Merge PR #5729 : Move tool: ΔX/ΔY readout beside the pointer while dragging ( #5727 )
2026-10-21 21:56:21 +00:00
aiongg
bd133eee81
Merge PR #5855 : Displace: OK asks for the displacement map, as in Photoshop ( #5806 )
2026-10-21 21:56:21 +00:00
aiongg
43e9587590
Merge PR #6363 : New Document: Color Profile, the working space or another profile of the mode ( #321 )
2026-10-21 21:56:21 +00:00
aiongg
20adb5f1d7
Merge PR #6410 : Artboards: layers outside the boards stay visible over the pasteboard ( #5712 )
2026-10-21 21:56:21 +00:00
aiongg
1bc45862cb
Merge PR #6813 : A layer that doesn't fit in GPU memory no longer breaks GPU drawing: older pages are freed and the layer is retried
2026-10-21 21:56:21 +00:00
aiongg
64526a6c28
Merge PR #7904 : Filter Gallery › Halftone Pattern: a tone-keeping screen at 45°
2026-10-21 21:56:21 +00:00
aiongg
f97c28828d
Merge PR #6873 : HEIF: honour the nclx colour description; HLG/PQ HEICs open as linear BT.2020 32-bit ( #6752 )
2026-10-21 21:56:21 +00:00
aiongg
1837a19362
Merge PR #6908 : Background redraw: keep the last finished composites, so a solo's restore uploads instead of recompositing (part of #6528 )
2026-10-21 21:56:21 +00:00
aiongg
29388de427
Merge PR #6919 : Selections don't mark a document modified ( #6865 )
2026-10-21 21:56:21 +00:00
aiongg
c71322043c
Merge PR #7941 : Light themes outline the slider knob (UI-217-11, #7927 )
2026-10-21 21:56:21 +00:00
aiongg
e4a413241a
Merge PR #8004 : Windows on ARM: auto picks DirectX 12 for Qualcomm graphics ( #7537 )
2026-10-21 21:56:21 +00:00
aiongg
403dc5043a
Merge PR #8096 : CodeRabbit follow-ups for the #8095 batch
2026-10-21 21:56:21 +00:00
aiongg
07e4020360
Merge PR #8098 : PSD layer comps: an entry without enab inherits the previous visibility, as in Photoshop ( #8093 )
2026-10-21 21:56:21 +00:00
aiongg
3b6fabb04a
Merge PR #6801 : Actions that start with Deselect play on when nothing is selected
2026-10-21 21:56:21 +00:00
aiongg
a06c4639f6
Merge PR #5590 : Warp: apply a large layer's warp in the background, with progress and Esc to cancel ( #1015 )
2026-10-21 21:56:21 +00:00
aiongg
7b81efddcb
Merge PR #5436 : IO: open .psd through the PSD reader, not codecs ( #5258 )
2026-10-21 21:56:21 +00:00
aiongg
dd83f87d3c
Merge PR #5581 : Layers: Group Layers creates the group collapsed ( #5571 )
2026-10-21 21:56:20 +00:00
aiongg
0fe1d3233d
Merge PR #5907 : Text: apply anti-alias mode shaping when rasterizing type ( #5902 )
2026-10-21 21:56:20 +00:00
aiongg
c865e3b93b
Merge PR #5928 : BMP export: Indexed Color documents save as palette BMPs
2026-10-21 21:56:20 +00:00
aiongg
b9b97f15ff
Merge PR #6243 : GPU: pin the keep-overlap ordering with a tile-growth regression test
2026-10-21 21:56:20 +00:00
aiongg
5eada4996a
Merge PR #7219 : Actions: record File › Export › Export As and replay it with its settings ( #7207 )
2026-10-21 21:56:20 +00:00
aiongg
abfb8cce96
Merge PR #8042 : Codecs: Fix corrupted CMYK JPEG exports ( #8008 )
2026-10-21 21:56:11 +00:00
aiongg
fa5a06de4f
Merge PR #8053 : Pencil: align 1 px click snapping with the line walker ( #4895 )
2026-10-21 21:56:11 +00:00
aiongg
fb9da6d581
Merge PR #7303 : Keyboard Shortcuts: Shift is recorded when capturing a shortcut
2026-10-21 21:56:11 +00:00
aiongg
a870371600
Merge PR #7270 : Brushes: folders with search matches can be collapsed while searching
2026-10-21 21:56:11 +00:00