mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-13 16:39:55 +00:00
Actions: recording, step exclusions and set edits keep sets that Load Actions reads
Load Actions refuses an action set file over 8 MiB, with more than 1,000 actions, or with an action of more than 10,000 steps. Several ways of changing a set could pass those limits, leaving a set that Save Actions refuses to write. - While an action records, a command (a batch and Find Objects that selects included) whose step would give the action more than 10,000 steps or its set's file more than 8 MiB does not run, and the recording goes on. A stop that playback reaches is left out then. A command whose step grows past a limit only as it runs keeps its edit; the status bar names the limit and Stop leaves the step out. Stop also leaves out any recorded step still past a limit. Steps recorded after an exclusion past an action's last step are included. - An exclusion that would make the set's file larger than 8 MiB changes no checkmark; one that keeps the size or shrinks it always works. - Begin Recording, New Action, Duplicate, renaming an action, Action Options, Set Options and New Set refuse a change that would give a set more than 1,000 actions or a file larger than 8 MiB. A change that leaves a set no further past a limit than it is now is allowed. - Load Actions refuses a set, .aia sets included, that Save Actions would write larger than 8 MiB (a file with less white space, or a set name that gets a number added). The limits are the existing ones from files.rs, and the errors reuse the existing messages. docs/mcp.md and the commands' params text describe the new errors.
This commit is contained in:
+26
-7
@@ -2818,16 +2818,23 @@ already walks Image Trace. Short agent entry points:
|
||||
use version 2, so older builds refuse them
|
||||
instead of playing the excluded steps or failing at a stop; other files use version 1. A file with another `format` or a `version` other than
|
||||
1, 2 or 3, a stop whose message is not text or whose `allowContinue` is not true or false, a file larger than 8 MiB, one with more than 1,000 actions and one with an action of more than 10,000 steps are
|
||||
refused, and no set is added. The Actions panel menu's Save Actions… and Load Actions… run these; Load Actions… is
|
||||
refused, and no set is added. So is a file whose set `ui.actionSet.save` would write larger than 8 MiB (a file with
|
||||
less white space, a set name that gets a number, or an `.aia` set), with the error `the action set would be larger
|
||||
than 8 MiB`. The Actions panel menu's Save Actions… and Load Actions… run these; Load Actions… is
|
||||
disabled where there is no open dialog (the web). `ui.actionSet.load` also reads the action sets other apps save as
|
||||
text (`.aia`); see "Action sets from other apps".
|
||||
- Actions: `ui.action.rename {set, action, name}` renames the Actions panel's action at `action` in set `set` (0 is
|
||||
the top set) to `name` with spaces trimmed from both ends, keeps its steps, function key and color, and returns
|
||||
`{name}`. An index past the last set or action, or an empty name, is an error, and then nothing is renamed.
|
||||
`{name}`. An index past the last set or action, or an empty name, is an error, and then nothing is renamed. So is a
|
||||
name that would give the set's action set file more than 8 MiB, counting the steps the recording in progress adds
|
||||
to the set (`the action set would be larger than 8 MiB`); a name that leaves the file as large or makes it smaller
|
||||
is never refused. The same holds for `ui.action.options` and for the names Set Options… and New Set… give.
|
||||
- Actions: `ui.action.stepsIncluded {set, action?, step?, included, others?}` includes or excludes all steps of a set,
|
||||
one action, or one step. With `step` and `others: true`, it leaves that step as it was and applies `included` to the
|
||||
other steps of its action (the panel's Alt/Option-click). An invalid set, action or step changes nothing. The panel's
|
||||
checkmarks run this command; normal playback and Batch… skip excluded steps.
|
||||
other steps of its action (the panel's Alt/Option-click). An invalid set, action or step changes nothing. So does an
|
||||
exclusion that would give the set's action set file more than 8 MiB, counting the steps the recording in progress
|
||||
adds to the set; it is an error. A change that leaves the file as large or makes it smaller is never refused. The
|
||||
panel's checkmarks run this command; normal playback and Batch… skip excluded steps.
|
||||
- Actions: `ui.action.new {set, name, key?, cmd?, shift?, color?}` adds an action named `name` (spaces
|
||||
trimmed) after the last action of set `set` (0 is the top set), starts recording into it and returns
|
||||
`{set, action}`; Stop Playing/Recording (`ui.action.stop`) ends the recording. `key` 1 to 15 is the function key F1 to F15 that plays the
|
||||
@@ -2835,12 +2842,23 @@ already walks Image Trace. Short agent entry points:
|
||||
(`red`, `yellow`, `green`, `blue` or `violet`; null or `""` for none), which the panel does not show. Action function
|
||||
keys take priority over command shortcuts and preserve the command's binding. On Windows F1, Ctrl+F4 and Ctrl+F6
|
||||
cannot be used. While an action is recording, and for an index past the last set,
|
||||
an empty name, or a key or color that is not one of these, it is an error and nothing is added. The panel's Create
|
||||
an empty name, or a key or color that is not one of these, it is an error and nothing is added. So is an action that
|
||||
would give the set more than 1,000 actions (`the action set file holds more than 1,000 actions`) or a file larger
|
||||
than 8 MiB (`the action set would be larger than 8 MiB`), and then no recording starts. The panel's Create
|
||||
New Action button and menu's New Action… open the `actionNew` dialog, whose Record runs this.
|
||||
- Actions: `ui.action.record {set?}` starts recording a new action in the chosen set, or the current set when `set`
|
||||
is left out, and returns `{set, name}`. With no sets, it creates Set 1. The action gets the next available
|
||||
`Action N` name in that set. The Actions panel's Begin Recording button runs this command. An invalid set or an
|
||||
existing recording is an error and leaves the sets and recording unchanged.
|
||||
existing recording is an error and leaves the sets and recording unchanged, and so is a set where the new action
|
||||
would give it more than 1,000 actions or an action set file larger than 8 MiB. While a recording (this one or
|
||||
`ui.action.new`'s) is in progress, a recorded command whose step would give the action more than 10,000 steps, or
|
||||
its set's action set file more than 8 MiB, is an error with the reason (`the action already has 10,000 steps`, `the
|
||||
action set would be larger than 8 MiB`): it does not run, and the recording goes on. A batch (`command.batch`) is
|
||||
such a command too. A command whose step grows past a limit only as it runs, from values it adds to its step,
|
||||
keeps its edit and result; the status bar names the limit, later recorded commands do not run, and
|
||||
`ui.action.stop` leaves its step out. A stop that playback reaches
|
||||
then is not recorded, and the status bar shows the reason. `ui.action.stop` leaves out any recorded steps still past
|
||||
either limit and shows which one in the status bar.
|
||||
- Actions: `ui.action.options {set, action, name?, key?, cmd?, shift?, color?}` changes the action at
|
||||
`action` in set `set` and keeps its steps: `name` renames it, `key` with `cmd` and `shift` sets its function key,
|
||||
and `color` its Button Mode color, as `ui.action.new` takes them; a param left out keeps what the action has, and
|
||||
@@ -2926,7 +2944,8 @@ already walks Image Trace. Short agent entry points:
|
||||
`ui.actionSet.duplicate {set?: index, action?: index}` copies the action at `action` in set `set` to right after it
|
||||
in the same set, and returns `{set, action}`; without `action` it copies the set with all its actions to right after
|
||||
it, and returns `{set}`. In both cases `set` defaults to the current set. The copy is named after the original with
|
||||
" copy" added, a copied set gets an id of its own, and the copy is selected. An index past the last set or action is an error. The
|
||||
" copy" added, a copied set gets an id of its own, and the copy is selected. An index past the last set or action is an error,
|
||||
and so is a copy that would give its set more than 1,000 actions or a file larger than 8 MiB; then nothing is copied. The
|
||||
panel menu's Duplicate runs this for the selected action, else the current set.
|
||||
- Image Trace: `imageTrace.presets`, `imageTrace.make {id?, preset?, params?, view?}` (or `imageTrace.makeAndExpand`),
|
||||
`imageTrace.setView`, `imageTrace.expand`, `imageTrace.release`. A key inside `params` that is not one of the trace
|
||||
|
||||
@@ -725,6 +725,7 @@ Moved from the ROADMAP's "Shipped so far" on 2026-10-10. Update it when a featur
|
||||
- Actions panel (record/playback, persisted), generic parameter dialogs for every "…" command.
|
||||
- Actions panel: the current set is kept with the UI preferences, so after a restart a recording goes into the set that was current, not into the first set. With no set current, Begin Recording records into the first set and makes it current.
|
||||
- Actions panel: expand an action to show its recorded steps, then clear a step's checkmark to keep it in the action but skip it during playback. The action and set checkmarks include or exclude all their steps; a mixed checkmark includes all. Alt/Option-clicking a step checkmark keeps that step as it was and applies the opposite inclusion state to the other steps in its action. This follows the public [Exclude commands from an action](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/automate-actions/exclude-commands-from-actions.html) guide; the scope of the mixed-state and Alt-click behavior is VectorCraft's design. The exclusion survives UI restart, action duplication, and `.vcactions` save/load. Existing version 1 action set files load with every step included.
|
||||
- Actions panel: an action keeps to the limits that Load Actions… reads while it records and while its steps are excluded: at most 10,000 steps in an action and 8 MiB in its set's file, which are VectorCraft's own rules. Commands add steps to a recording until it stops ([the help page](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/automate-actions/record-actions.html)); a command whose step would pass a limit does not run, its document stays as it was, and the recording goes on. A stop that playback reaches is not recorded then, and the status bar shows the reason. Clearing a checkmark keeps the step in the action and skips it in playback ([the help page](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/automate-actions/exclude-commands-from-actions.html)); an exclusion that would make the set's file larger than 8 MiB changes no checkmark, and one that makes the file smaller always works. Stop Playing/Recording leaves out any recorded steps still past a limit and names the limit in the status bar. Begin Recording, Duplicate, New Action, renaming an action, Action Options…, Set Options…, New Set… and Load Actions… (`.aia` sets included) also refuse a change that would give a set more than 1,000 actions or a file larger than 8 MiB, and change nothing then. Tests `panels::actions::tests::{recorded_commands_keep_an_action_at_10_000_steps, recorded_commands_keep_an_action_set_file_within_8_mib, a_recorded_command_whose_noted_values_do_not_fit_is_left_out, a_stop_reached_while_recording_a_full_action_is_left_out, stop_leaves_out_recorded_steps_past_the_limits, excluding_steps_keeps_an_action_set_file_within_8_mib, a_recorded_batch_that_edits_another_document_is_left_out_when_it_grows, a_set_renamed_while_it_records_is_measured_again, steps_recorded_after_an_exclusion_past_the_last_step_are_included, duplicate_keeps_action_set_files_within_their_limits, new_action_keeps_an_action_set_file_within_its_limits, renaming_keeps_an_action_set_file_within_8_mib, load_actions_refuses_a_set_that_would_save_larger_than_8_mib}`.
|
||||
- Actions panel: the panel menu's Playback Options… sets how actions play: Accelerated (the default) plays every step at once, Step by Step plays one step at a time with the canvas drawn after each, and Pause For waits the given number of seconds between steps ([Specify playback speed](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/automate-actions/specify-playback-speed.html); `ui.action.playbackOptions`). VectorCraft's own rules, which the page does not cover: the pause is a whole number of seconds from 1 to 60, the setting is kept with the UI preferences, a paced playback ends at Stop Playing/Recording or when a step comes due while another document is active, each step of a paced playback is its own undo step, and Batch… plays at full speed.
|
||||
- Actions panel: the panel menu's Insert Stop… opens Record Stop, with a Message box and Allow Continue, and adds a stop to the recording in progress, after the selected command, or at the end of the selected action ([Insert stops in actions](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/automate-actions/insert-stops-in-actions.html); `ui.action.insertStop`). A playing action waits at the stop and shows the message so the user can do a manual task, and Play Current Selection plays the rest ([Illustrator CS5 help](https://help.adobe.com/archive/en_US/illustrator/cs5/illustrator_cs5_help.pdf#page=459); `ui.action.continue`). With Allow Continue, the message box also has Continue. VectorCraft's own rules, which the pages do not cover: an empty message still waits, Stop Playing/Recording ends the playback and keeps the steps already played, the rest plays on the document active then, a stop waits at every playback speed, at Accelerated the steps between two stops are one undo step, Batch… refuses an action with an included stop, and Delete Selection on a selected step deletes that step, a stop or a command, without asking (`ui.action.deleteStep`).
|
||||
- Actions panel: the panel menu's Insert Menu Item… adds a menu command to the recording in progress, after the selected step, or at the end of the selected action, without running it, and playback runs it as the menu does ([Insert non-recordable tasks into actions](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/automate-actions/insert-non-recordable-tasks-into-actions.html); `ui.action.insertMenuItem`). The dialog's Find box picks the one item that matches the words typed, and a click on a listed item picks it. VectorCraft's own rules, which the page does not cover: items that open a dialog, the Object › Align items, Image Trace's Make and Make and Expand, Pattern's Make and Edit Pattern, and the File, Window and Help menu items are not listed, and an action holds at most 10,000 steps and its set file at most 8 MiB, for stops too.
|
||||
|
||||
Reference in New Issue
Block a user