A grayscale image colorized with a fill color keeps that color outside its
appearance, so the check for art without paint treated it like an uncolorized
image and new art kept its old fill while the Fill proxy showed the color.
Count a colorize paint as paint: the image then loads like any object with a
fill and no stroke.
The name field under Preset Details had no label and sat directly above the
Preset Name row, so it read as the name of the preset. It now has a Document
Name caption. Every catalog already translates that string.
An embedded image also comes with pixelsOmitted: true when its data is missing, its width or height is 0, its data cannot be decoded within the decoder's memory limit, or its dimensions differ from pixelSize. The entry tells plug-ins to check the flag before reading pixelsBase64.
The Tools panel docked only on the left (the window's edge, or beside the
canvas with Keep Tools Beside the Canvas). Dropped on the canvas's right
edge, just left of the panels, or anywhere along the window's right edge,
it now docks on the right, between the canvas and the panels: it is drawn
inside the canvas panel at its right edge, which reserves room for it, so it
follows the panels however they are arranged. Dragged back to the left it
docks there again; Escape puts it back on the side it came from.
- The side is kept with the preferences and in saved workspaces (built-in
workspaces and state saved without it dock it on the left).
- Tool flyouts and the Edit Toolbar drawer open toward the canvas from a
toolbar docked right (toolbar::room / toolbar::beside).
- window.panel.dock {panel: "tools", side?: left|right (or Start|End)},
default the side it docked at last; replies carry the side. The grip's tip
names both edges; translated in every catalog.
- Test: the_tools_panel_docks_on_the_right_left_of_the_panels.
Only a Stroke Style filter's widths written as one centered array come in as the drawn look. A Stroke Offset stroke and widths written for each side stay live with their profile.
Only a painted effect's references are checked, so a refusal recorded for a painted effect stayed in plugin.info after an effect that paints nothing replaced it under the same id.
A painted live effect's pieces name swatches, so a kept evaluation could outlive a swatch that was renamed or removed and answer a click with art the document no longer draws. The kept evaluation now holds the document's swatches and color groups and is stale when they change.
A painted effect's cached result passed its swatch and pattern check and cleared the error of a failed run, so plugin.info reported none while the effect still failed on another object. A run and a reference check now record their errors separately, and each clears only its own.