Commit Graph
92 Commits
Author SHA1 Message Date
Hector VillarrealandClaude Opus 5.5 67da143139 Actions: map Create Droplet; cover the Gradient tool's steps (#10710)
Create Droplet (CrtD) loads as file.automate.createDroplet for the form
the droplet plays the same way (a Folder destination with Override
Action "Save As"), plays, and saves back as recorded; subfolders, Save
and Close, custom naming, an error log or suppressed dialogs keep the
Photoshop step. The Gradient tool's Make + Set of a gradient fill layer
already map since #10771; a test now covers that recorded form. Print
stays a kept step: its two recorded steps would print twice.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 10:55:16 -06:00
92de311b2b Actions: keep more Blend If and Gradient Fill forms exact (#11249)
Review fix-ups on #11249 after merging main:
- A midpoint outside 5..95 %, transparency stops out of range or out of
  order, and a Gradient Fill Set without transparency stops stay
  reference-application steps instead of playing clamped or keeping the
  layer's own transparency.
- An inverted Blend If range stays a reference-application step; the
  command rejects it at play.
- The Layer Style dialog's OK records `Lefx` = {Scl} beside Blend If on a
  layer without effects (measured). That Set is still the dialog's one
  step and saves back with the `Lefx` it was recorded with.

Co-Authored-By: NaufalDzz <90562913+NaufalDzz@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 15:07:32 +01:00
David Mann 72645904c7 Merge remote-tracking branch 'origin/main' into pr-11249
# Conflicts:
#	crates/engine/src/cmd/atn_cmds/steps_make.rs
#	crates/engine/src/cmd/atn_cmds/tests.rs
#	docs/atn.md
2026-11-06 14:55:00 +01:00
David Mann 1d053f5c2c Merge PR #11495: Actions: play recorded Stack Modes and Video Frame events 2026-11-06 00:28:47 +01:00
David Mann f96e77e794 Merge PR #11553: Actions: replay recorded Perspective Warp steps 2026-11-06 00:28:38 +01:00
yoriswind 8a126888f3 Merge upstream main after integration batch 17 2026-11-05 09:09:02 -08:00
yoriswind 3feae0e0b6 Actions: map recorded Perspective Warp planes 2026-11-05 08:36:06 -08:00
yoriswind 05d3c0bf27 Support recorded Smart Object Stack Modes and video frame edits 2026-11-05 06:24:06 -08:00
e580cca07a Port #5212: document Playback Options
Co-Authored-By: Zer0C00L01 <12090083+Zer0C00L01@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 06:13:13 +01:00
David Mann 5385ebd95b Merge PR #10788: Support recorded dialog filters, Calculations and Batch naming
# Conflicts:
#	crates/engine/src/cmd/actions_cmds.rs
#	crates/engine/src/cmd/automate_cmds.rs
#	crates/engine/src/cmd/file_cmds.rs
#	crates/engine/src/cmd/file_cmds/batch_run.rs
#	crates/engine/src/cmd/file_cmds/tests.rs
#	crates/engine/tests/it/main.rs
#	crates/ui-egui/src/panels/actions.rs
2026-11-05 05:19:44 +01:00
362a307449 Port #8659: show Stop messages and continue called actions after a pause
A Stop step with its dialog toggle on now shows a Message window with
the recorded text and Continue (when the step allows it) and Stop,
keeping the steps already applied; with the toggle off it ends playback
silently, and Insert Stop turns the toggle on, as measured in the
reference application. Allow Continue is read from the paused playback,
not from the dialog's fields. Agents and headless playback keep the
engine's Stop semantics.

A pause inside a called action now carries its callers (at most 16):
confirming finishes the called action and then each caller after its
call, replayed inside the callers' playback frames so recursion checks
and the single history state still hold. A silent stop ends the callers
too. Fixes #8386.

Co-Authored-By: bommerts <44821497+bommerts@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 04:56:41 +01:00
yoriswind 1720af269d Merge current main while preserving recorded Batch safeguards 2026-11-04 10:47:01 -08:00
David Mann cb323e9aea Merge PR #10965: Group action playback into one history state 2026-11-04 14:51:18 +01:00
David Mann aac944a315 Merge PR #11223: Actions: map supported classic Gradient recordings
# Conflicts:
#	crates/engine/tests/it/main.rs
2026-11-04 14:51:00 +01:00
David Mann fd736f7ddc Merge PR #10986: Actions: map recorded Content-Aware Fill settings 2026-11-04 14:50:49 +01:00
yoriswind a629a725f0 Preserve source data and diagnostics during Batch saves 2026-11-04 05:48:09 -08:00
yoriswind 508a35c83d Align Batch playback namespaces and retain child results 2026-11-04 01:51:41 -08:00
yoriswind 85fc78bb64 Merge current main into recorded Actions dialog support 2026-11-03 21:55:00 -08:00
NaufalDzz 10876cb20d feat(atn): load and save Blend If and Gradient Fill layers
Blend If in a recorded layer Set loads as layer.layerStyle.blendingOptions
and plays (it was dropped without a word). The Blending Options dialog's
Set (opacity, fill, mode, Blend If, Advanced) stays one step and saves back
as one Set; with other keys those go through layer.setProps.

Gradient Fill Make and Set load as layer.newFillLayer.gradient and
gradient.fill.set with stops, transparency, midpoints, scale, offset,
dither and align. Midpoint k is the Mdpn of stop k + 1, as the PSD reader
reads it. A loaded step saves back as its recorded descriptor until it is
edited; a Noise gradient, smoothness below 100 %, a non-classic
interpolation or a transparency midpoint stay Photoshop steps.

Fixes #10771
2026-11-04 10:54:58 +07:00
yoriswind 2974772936 Map supported classic Gradient action recordings 2026-11-03 19:32:28 -08:00
yoriswind 16b24885e6 Support recorded Type Create Work Path actions 2026-11-03 19:28:31 -08:00
yoriswind 1bcf7a3c6a Merge batch 14 main before action-history review fixes 2026-11-03 17:27:25 -08:00
yoriswind 1f9f37ae8e Merge batch 14 main into Content-Aware Fill recordings 2026-11-03 17:24:10 -08:00
David Mann 545d447c10 Merge PR #10998: Actions: map recorded Scale Effects and Create Layers 2026-11-04 00:51:01 +01:00
yoriswind 3028355333 Merge main and retain action history across Batch and Spelling 2026-11-03 12:42:57 -08:00
yoriswind 1b6bc4136c Merge main into recorded Content-Aware Fill mapping 2026-11-03 12:14:13 -08:00
yoriswind 27f86af55b Merge main into recorded layer style mappings 2026-11-03 12:12:41 -08:00
yoriswind 7763e2578f Merge main into recorded Shear mapping 2026-11-03 12:11:27 -08:00
yoriswind 3271b4acf0 Actions: map Scale Effects and Create Layers recordings 2026-11-02 22:03:52 -08:00
yoriswind 15977fee7f fix(actions): retain explicit history controls during grouping 2026-11-02 21:31:33 -08:00
yoriswind 47473150b9 Actions: export edited CAF settings canonically 2026-11-02 21:04:36 -08:00
yoriswind 7e53861e62 Actions: admit recorded CAF Current Layer output
Use the explicit cafOutputToCurrentLayer Action Manager binding alongside measured New Layer output. Rectangular sampling remains required; native output may use its proven Current default. Extend existing roundtrip, native-default and pixel/Undo controls without changing renderer or history code. Source-only successor; formatting, compilation and tests remain unrun under native0.
2026-11-02 19:54:44 -08:00
yoriswind d94717c8ca Actions: map the measured Content-Aware Fill recording
Map the seven-field Rectangular/Default/None/New Layer form to the existing CAF command, retaining source descriptor data only while native settings agree. Keep other enum forms whole and refuse unrepresented native exports. Add focused public regressions, the common round-trip case and supported-form documentation. This is a source-only draft increment: formatting, compilation and runtime validation remain pending under native0.
2026-11-02 19:47:45 -08:00
yoriswind d29cbec07e fix: consolidate action history after command transactions
Keep command-local history, purge and rollback intact, then consolidate affected documents at action completion or dialog suspension. Preserve semantic no-op identity and redo, visibility semantics and row identifiers. Bind dialog continuation to its exact document/history, inherit the setting in scratch sessions and carry droplet action names. Add the review counterexamples and focused continuation, Batch/droplet and history-option controls. Source is formatted; compilation and runtime qualification remain pending.
2026-11-02 19:02:08 -08:00
yoriswind 182da545ee feat: start persisted single-action history grouping
Add the default-on Actions history setting and a grouping scope shared by ordinary engine and shell playback entry points. Define public regressions for whole-play Undo/Redo, the off setting, failure prefixes, nesting, no-op and repeated-play boundaries, and persistence. This is an unvalidated draft increment: dialog continuation, direct compound edits, Batch/droplet boundaries and the complete edge-case qualification remain unfinished.
2026-11-02 18:30:27 -08:00
yoriswind 8e17f90c06 Bound Shear action curves and preserve native precision 2026-11-02 18:26:17 -08:00
yoriswind 9011c6d704 fix: capture shared action descendants at minimum call depth
Use a FIFO dependency queue so a deep route cannot hide descendants reachable through a shallower call. Cover packaged Batch and Conditional replay, retain Custom exported enabled flags in regression coverage, and document the existing concurrent-writer limitation of Save and Close.
2026-11-02 18:14:50 -08:00
yoriswind c9fc8458b4 Map recorded Shear actions with measured curve settings 2026-11-02 16:40:07 -08:00
David Mann 4f6a2c50f0 Merge #4579: the author's latest commits
# Conflicts:
#	docs/gaps.md
#	docs/target-app-parity.md
2026-11-03 01:05:27 +01:00
David Mann eb3c2044d4 Merge #10755: Support newer recorded Action events
# Conflicts:
#	crates/engine/src/cmd/artboard_cmds.rs
#	crates/engine/src/cmd/atn_cmds.rs
#	crates/engine/src/cmd/atn_cmds/events.rs
#	crates/engine/src/cmd/atn_cmds/steps_make.rs
#	crates/engine/tests/it/main.rs
#	docs/atn.md
#	docs/development.md
#	docs/file-format-parity.md
2026-11-03 00:44:15 +01:00
David Mann b0aa230ae8 Merge #10765: Actions: support direct Gradient Map and Lab-range Replace Color
# Conflicts:
#	crates/engine/src/cmd/atn_cmds.rs
#	crates/engine/src/cmd/atn_cmds/events.rs
#	crates/engine/tests/it/main.rs
#	docs/atn.md
#	docs/development.md
#	docs/file-format-parity.md
2026-11-03 00:38:44 +01:00
Fabio Lissi 1b561c02ca Separate Batch conformance table from following notes 2026-11-02 17:37:51 -06:00
Fabio Lissi a2c4ac0b0c Match Batch Esc flow and show read-only input preview 2026-11-02 17:36:55 -06:00
yoriswind faed6b4fb5 fix: capture action dependencies inside explicit Batch steps 2026-11-02 14:46:19 -08:00
yoriswind 3b22f79b80 fix: preserve Batch references and multi-image sources 2026-11-02 13:40:23 -08:00
yoriswind 3d5a42e3bb Merge current main before Batch review repairs 2026-11-02 12:29:16 -08:00
David MannandClaude Opus 5.5 8caea149c1 Integration: regenerate docs/atn.md for the batch (144 supported events, settings each PR keeps)
Supported table read from the batch's events.rs. The PRs' own sections (settings and command
options retained, Render defaults, steps kept disabled) are kept; the known-gaps tables that
#10702 and #10704 close are gone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:03:44 +01:00
yoriswind 1dfc6bfa34 Clarify the supported Batch RAW opening subset 2026-11-01 21:30:49 -08:00
yoriswind 4fc3b9ee83 Use supported saved RAW settings for noninteractive Batch opening 2026-11-01 21:29:19 -08:00
yoriswind d898e46030 Apply Batch profile policy without losing import diagnostics 2026-11-01 21:25:16 -08:00