When a click's press lands in one face and its release in the next, the
drag fills both. The bucket now notes the fill every face the drag
crosses had before the press, the release included, so a double-click
or triple-click that follows on such a face compares that fill instead
of the one the first click gave it. This also holds when the release of
the last click crosses into the clicked face.
When the first click makes the Live Paint group, or merges the selection
into a selected group, the crossed face counts with the fill it was made
with: a kept face's paint from the merged group (an unplaced gradient
fixed to its fit), else the fill Make gives it, the topmost fill that
draws of the front-most source path over it that has one. A selected
group's edges no longer count as source paths.
A double-click whose two clicks land on two joined edges now paints the
edges joined through the other edge its clicks painted:
livePaint.strokeEdge takes `through`, edge ids that the join counts as
drawing with `match`, and the tool passes that edge. When the second
press lands on the next edge and is released back on the first, the
double-click matches the first edge's stroke paint from before the
first click.
A press that the view tools take (held Space, the middle button), or
that holds Cmd/Ctrl and goes to the lent selection tool, now counts as
a press that paints nothing, so the clicks around it are not taken for
one triple-click's: the session tells the tool through the new
Tool::press_elsewhere.
The tool doc, docs/mcp.md and the progress-doc line now say that a click
records an undo step only when it changes a paint, and that a
triple-click paints the faces that have the clicked face's fill (and the
edges that draw with the clicked edge's stroke paint) with the bucket's
paint.
Follows #7291.
With Show Import Options off, a PSD or PSB file placed on its own and
embedded takes the conversion, hidden-layer and Import Slices choices
made last in PSD Import Options, as text and DXF files take theirs.
An importSlices or hiddenLayers the params give is kept. Files from
bytes, which have no file to link to, are embedded even when the Place
dialog's Link is on, alone and in the place cursor. With Show Import
Options on, each PSD file of the place cursor asks for its options.
Paste without Formatting dropped the label formats a pasted graph keeps
but left the mark that its legend labels' fill is their own. After a later
change to a legend label (its size, for example), the next redraw read the
default black fill as the labels' own and drew them black on dark wedges
again. The mark now stays behind with the other formats.
A pie's legend label whose series name holds line breaks of its own (from
a quoted CSV cell) is now located by all of its lines, as a redraw centers
it. Before, only `|` counted as a line break, so a tall label on stacked
pies could take the contrast of the wrong ring.
Paste no longer recolors the legend labels of a pie whose wedges a merged
or changed swatch recolors. That is a separate change to Paste and goes in
its own pull request. Paste without Formatting sets the legend labels by
the wedge colors as copied.
An Abutting trace with Fills now holds a "Seam Fills" group under its
paths. For each color it has one stroke, 1.5 image pixels wide, along
the edges where a filled path of that color meets a filled path drawn
after it, in that color. A renderer that anti-aliases each path on its
own no longer shows a light hairline along those edges. The traced
paths and their shared edges do not change, and edges against the
image's border, a transparent area or a color left out get no stroke.
- vectorcraft-trace: `seam_fills` finds the segments two filled paths
share and strokes them in the lower path's color (one stroke per
gradient path). Overlapping, traces without Fills and Flat Logo get
none.
- Image Trace commands: the group comes under every path (right above
the hidden image in a live trace). Expand keeps it, Expand by color
leaves it under the color groups, and a trace whose paths have more
than half of the anchor limit gets no seam fills.
Docs: docs/mcp.md, the params text, docs/target-app-parity.md.
The dialog opened without the custom, entry and char fields, so
ui.dialog.set refused them until Custom was clicked or an entry typed.
The spec now lists them in its inputs, and the dialog opens with
custom off and an empty entry.
Variable Options in the Variables panel only renamed a variable, and no
command changed a variable's kind. variable.rename now takes
{name, newName?, kind?} and renames the variable, changes its kind, or
both, in one undo step, with none when nothing changes. A null or empty
value, an unknown kind, a taken name and locked variables are refused.
A kind change unbinds the objects that can't hold the new kind (text
keeps type with no other text variable, image keeps image objects,
graph keeps graph roots, visibility keeps every object) and drops the
variable's values in every data set. The dialog shows the variable's
name and kind and sends both.