Guide ids are session metadata that playback ignores; changeBackground 1 or
absent applies the background type and colour, any other value gives white.
Background types 1..4 = white, black, transparent, other. The recorded step
carries the last used background. Properties panel background changes record
editArtboardEvent.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Preserve the target-only call and exactly reconstruct empty-guide settings. Apply preset tags without resizing, retain fractional RGB, and refuse unresolved guide state before mutation. Nonempty associations and unproved flag values remain unfinished.
The author rebased #8327 onto a newer main; its code is the same change as the reviewed head
c60cbcb99 (range-diff: Cargo.lock context and the people.toml position only). The batch keeps
its reviewed and fixed-up version of every file, so the tree is unchanged; merging the new head
lets GitHub mark #8327 as merged with the batch.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Preserve the original reference history and measurements, then document the 22 newly supported forms and their strict mapping boundaries. Artboard from Group remains kept; the Crop Photos parent does not cover generated helper recordings.
CodeRabbit on batch 11: the rest of a set paused at a step dialog was kept by name, so an action
deleted and made again under the same name while the dialog was open played under the original
Play. Actions have no id, so the rest is now kept as the actions themselves and continues only
while each one is unchanged; moving them in the list still works.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every remaining event recorded in the reference application through its
menus: Scale Effects, Create Layers, Frame and Artboards, all eleven
Stack Modes with their plug-in codes, video layer and frame commands,
Create Work Path, Find and Replace, Check Spelling, measurement scale
and Scale Marker, Close All, data sets (apply, import, export), Package,
Video Frames to Layers, Import Notes, Photomerge, Crop and Straighten
Photos, Conditional Mode Change and Fit Image. Close Others and Define
Variables record nothing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- #8714: a Camera Raw Filter step imports only with a process version
the PSD mapping has verified (PrVN/PrVe 5/184549376 or 6/251920384)
and a CrVe text; other steps stay kept steps that save back unchanged.
- #7642: the patternName fallback matches names only, so a pattern
whose id equals that text no longer wins. A step that names its
pattern only by patternName exports that name.
- #8327: the iso-2022-jp label is refused (its names are 7-bit escape
sequences that would pass through as ASCII).
- #10417: the Levels export gate also refuses endpoints of the wrong
shape (both ends text, a text gamma) and channels that aren't objects.
- #10459: a set paused at a step dialog keeps the rest of the set by
action name, so actions.move while the dialog is open neither plays a
foreign action nor skips one; "Played N steps" covers the whole Play
(steps before the pause and the dialog's own step); the suggested .atn
name is cut to 255 bytes at a character boundary; actions.list returns
every set, empty ones too; set_names dedups with a HashSet.
Co-authored-by: FinnNk <1424666+FinnNk@users.noreply.github.com>
Co-authored-by: Silvertree2010 <133535268+Silvertree2010@users.noreply.github.com>
Co-authored-by: regexer <3689390+regexer@users.noreply.github.com>
Co-authored-by: marshiyar <57055687+marshiyar@users.noreply.github.com>
Co-authored-by: hectorviov <1501713+hectorviov@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Measured in the reference application: Batch source and destination keys
(open documents, Save and Close, override Open and Save As, suppress open
options), file naming output (the extension component only gets a dot as
the last component), processing order, flat output with subfolders, name
clashes, stop and log error modes with the log file format, and Esc.
What a normal recording names (layers by name, merged nudges and typing,
document offsets) and how it plays on another document. Trace Contour's
recorded keys and its 0..255 level; Quick Export records no step.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Measured in the reference application through its dialogs and recorded
actions: Shear point ranges and what ShrS/ShrE mean, the classic and the
new Gradient tool steps, Content-Aware Fill, Perspective Warp, Print,
Create Droplet and Sky Replacement descriptors, the mmdd/ddmm Batch date
components, and every layer comp reference form. Export As records no
step; Convert Stroke to Fill was not available in the measured version.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Stream PSD user and real masks into tile rows
* Correct streamed-mask fixture metadata and test lint issues
* Budget PSD pattern expansion and bound multichannel conversion
---------
Co-authored-by: FredApps <FredApps@users.noreply.github.com>
Addresses CodeRabbit on #10603: the Group A intro said every Filter Gallery effect loads as a
kept step, but Spatter is mapped; Custom's scale, offset and matrix cells now have their
measured ranges and the matrix has no default (a step carries all 25 cells).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#8327 adds `AtnFile::encoding`. Two tests from other PRs in the batch
build an AtnFile literal without it (#8714 fix-up's Camera Raw save-back
test, #8858's Vibrance string-class test), so the engine's lib tests
didn't compile on the batch. They now fill the rest with
`..Default::default()`, as the other literals in the file do.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Recorded in the reference application through its menus and read back from the saved Actions
panel, or returned by the dialog on OK: Custom, Fibers, Displace (with ranges), Color Lookup,
Shape Blur, Lighting Effects, Blur Gallery, Liquify, Camera Raw Filter, Vanishing Point,
Calculations; how Image Size, Canvas Size, Convert Mode and New Group are recorded. The Batch
descriptor with its file naming components, and the Actions panel menu and Playback Options.
Known gaps gain four rows: Convert Mode is saved with an enum the reference application
rejects, adjustment layer opacity on Make, Canvas Size in percent, Image Size in cm/inches.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The previous fix-up counted a letter glued to an ASCII letter as common
only when it was Latin. That turned ordinary windows-1251 names such as
"CMYKканал" or Ukrainian "Копiя" (Latin i) into a windows-1252 (or GBK)
reading of the whole set, with no warning, where the PR read them right.
Back to the PR's scoring for single-byte pages; the ¥ removal stays.
windows-1252 "Fläche m²" / "Preis £5" reading as windows-1251 is the
PR's own known limitation, now noted in the code. A Russian set plus
"CMYKканал" is pinned as windows-1251.
Co-authored-by: regexer <3689390+regexer@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mac Roman 0xA5 is the bullet, windows-1252 0xA5 is ¥: with ¥ counted in
the windows-1252 re-weigh, Mac "Ebene • Kopie" read as "Ebene ¥ Kopie".
Drop ¥; the other kept symbols are no letter or typographic mark in Mac
Roman.
windows-1251 has І і д where windows-1252 has ² ³ ä, so "Fläche m²" read
as "Flдche mІ" (already so in the PR head; main showed it right). In a
single-byte page, a letter glued to an ASCII letter now counts as common
only when it is a Latin letter. Real Cyrillic names ("Новый слой",
"Копия слоя 2", "Канал RGB") still read as windows-1251. "Preis £5"
(Ј between a space and a digit) still reads as windows-1251; documented.
Co-authored-by: regexer <3689390+regexer@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A set whose action paused at a step dialog inside an action it calls handed the rest of
the set to the called action's dialog, which resumes alone: after OK the set's next
action ran and the caller's own remaining steps never did. The rest of a set now rides
only on a pause of the target action itself; otherwise the set stops there.
- Set folders could only be collapsed with the pointer on the triangle: a keyboard or
accessibility activation always just selected. Without a pointer it now selects and
toggles, as before, and the row reports whether it is selected (not whether it is expanded).
Co-authored-by: hectorviov <1501713+hectorviov@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Known gaps: every exported step of the round-trip test was played in the reference
application (128 of 151 ran); six codes the mapping writes are wrong there (Vibrance and
Gradient Map events, Stroke Outside, Pass Through, canvas extension colour, Absolute
Colorimetric), and a document offset wraps around there.
- Reference forms: layers and documents by index, id, offset and ordinal, measured.
- Newer events: 63 candidates from the menu catalogue run in the reference application;
which need no settings, which were measured with settings, which need their dialog.
- Version 12 files: the older descriptor layout, checked on 325 real sets.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Three gaps in the set selection the fix-up added:
- Play on a set whose action paused at a step dialog dropped the rest of the set after OK.
The pause now carries the remaining actions (also across a second dialog of the same
action), and OK plays them under the same gate. Cancel still stops the whole set.
- A collapse or expand selected the set and cleared the action, so Play then ran a whole
other set. As on action rows, the triangle's column now only collapses or expands, and
the rest of the folder row selects the set.
- Selecting a step (or an action through Load, Insert Stop, a drag or recording) kept an old
selected set, which came back after Delete. Every action selection now clears it.
Co-authored-by: hectorviov <1501713+hectorviov@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflict: main moved crates/engine/src/atn_cmds.rs into crates/engine/src/cmd/atn_cmds/; the refusal is ported into steps_make.rs set_to's layer.setAdjustment arm unchanged. The tests followed the rename.