Commit Graph
4154 Commits
Author SHA1 Message Date
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 WaniandClaude 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
ZuujisandGitHub 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. TaylorandGitHub 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. TaylorandGitHub 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. TaylorandGitHub 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
aionggandGitHub 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
aionggandGitHub 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