aiongg
4eef797fdf
Merge PR #7968 : fix(atn): a Group Layers step keeps its explicit layer through .atn ( #7236 )
...
Conflicts:
crates/engine/src/atn_cmds/tests.rs: appended test helper and tests (two blocks), kept both
2026-10-22 02:25:59 +00:00
aiongg
ca19279232
Merge PR #5731 : i18n(tr): comprehensive review, terminology refinement, and industry-standard UI consistency overhaul
...
Conflicts:
crates/ui-egui/src/i18n/tr.tsv: rows kept both, the duplicate Use Global Light row dropped keeping the PR's translation; no duplicate keys
2026-10-22 02:25:47 +00:00
aiongg
c2b459490e
Merge PR #5529 : Value fields: the mouse wheel steps them, as in the reference app ( #5473 )
2026-10-22 02:25:35 +00:00
aiongg
49a09628b6
Merge PR #7637 : Record one action call when playback pauses for a step dialog
...
Conflicts:
crates/ui-egui/src/i18n/*.tsv (20 catalogs): rows kept both; no duplicate (context, source) keys
2026-10-22 02:25:34 +00:00
aiongg
2b3af0f815
Merge PR #3193 : fix(compose): resolve Dissolve coverage across adjustment, effects, a…
...
Conflicts:
crates/compose/src/tests.rs: appended tests, kept both
crates/gpu/tests/parity.rs: appended tests, kept both
2026-10-22 02:23:06 +00:00
aiongg
aa4f03a8ad
Merge PR #7571 : Refuse strict .atn export of Apply Image with a blending mask
...
Conflicts:
crates/engine/src/atn_cmds/tests.rs: appended tests, kept both
2026-10-22 02:22:48 +00:00
aiongg
a40972d80d
Merge PR #7585 : Refuse strict .atn export of a mask/channel-targeted Free Transform
...
Conflicts:
crates/engine/src/atn_cmds/tests.rs: appended tests, kept both
2026-10-22 02:22:32 +00:00
aiongg
1cbeb4a784
Merge PR #7590 : fix(atn): keep a Transform Selection's interpolation; refuse what the transform descriptor can't carry
...
Conflicts:
crates/engine/src/atn_cmds/tests.rs: appended tests, kept both
2026-10-22 02:22:16 +00:00
aiongg
b3ef6fb862
Merge PR #6794 : feat(ui): System Info shows the graphics card's own memory
2026-10-22 02:21:59 +00:00
Khawar Zamman Wani and Claude Opus 5.5
df0b3e63cc
Merge remote-tracking branch 'origin/main' into field-wheel-5473
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-22 06:28:54 +05:30
Zuujis and GitHub
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 and GitHub
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 and GitHub
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 and GitHub
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 and GitHub
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 and GitHub
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