#7774's Georgian catalog and #7532's script.run answers rows landed in the same batch with
twelve of the same messages, so bundled_catalogs_are_consistent fails on a duplicate. The
first of each pair stays.
A feGaussianBlur or feDropShadow whose blur is not the same in every
direction in the document came in as an even Gaussian Blur or Drop
Shadow of the mean standard deviation. That covers two different
standard deviations (stdDeviation="4 1") and an even one in a skewed or
unevenly scaled user space. An SVG Filters effect in such a user space
is exported live under that transform, so on reopening its blur lost
the difference between directions.
Such a filter is now kept as an SVG Filters effect, which draws it as
it is. A blur in a turned, flipped or evenly scaled user space still
becomes the live effect, and a filter that no SVG Filters effect can
keep still comes in as the nearest even effect, as before.
Document the existing resize defaults and parameterless focus method. Keep one complete ui.render row, including traceViews, and record the documentation revision.
Source and rendered table reviewed. No local Rust build or tests ran; cargo/rustc are unavailable and PR CI validation is required.
Separate the 57-filter pipeline from the gallery's six browsable categories. Retain the original upcoming raster-effects work; only the already-shipped thumbnails and in-dialog preview leave the missing list.
Documentation review follow-up; no local Rust build or tests ran.
Align the README status and upcoming work with the shipped Effect Gallery thumbnails and in-dialog preview. Keep the filters described as approximations.
Documentation only. Reviewed against the current gallery source, regression coverage, ROADMAP.md and docs/gaps.md. Local cargo/rustc are unavailable; the PR CI gate must complete before validation is claimed.
An envelope record that lies in an outer envelope's AIDeformArtKey
block (X= ... X+) with no group around it now opens as a live envelope
inside the live outer one, and an object's own dictionary there (its
name) applies to it. Each envelope is still compared with its own drawn
art: an inner one that doesn't match keeps its drawn art as the outer
envelope's contents, and an outer one that doesn't match keeps its own.
- An envelope record in an opacity mask's art reads as part of the
mask; its block's X+ no longer ends the mask's art, which failed the
import.
- Envelopes still waiting for their XP when a dictionary ends keep
their drawn art, so a stray XP in a later container cannot take them.
#7532's script.run answers rows and the Russian message rows landed in the same batch with
the same ten messages, so bundled_catalogs_are_consistent fails on a duplicate. The first
of each pair stays.
#7814 made SubPath::anchors an Anchors, and #7810's seam fills, merged in the same batch,
passed it to SubPath::new, which takes a Vec, so vectorcraft-trace doesn't compile on main.
A closed subpath whose every segment is marked is its own run: clone it.
The unpainted rectangle that carries the text wrap options of a symbol
instance, blend, mesh, repeat, placed document, intertwine or envelope
written as a group of its art is now the group's first member. Area type
below the object still wraps by its bounds after reopening, and area type
in the art itself is not wrapped by the rectangle, so art that holds area
type no longer keeps the options on its group and wraps by its members.
A click or marquee outside a symbol instance's box walks the instance's
art. An instance nested in that art was hit or touched anywhere in its
own box, so empty space inside the nested box, where a moved clipping
path reaches past the outer box, selected the outer instance. In that
walk a nested instance now counts only where its own art is, by the
same rule at every level. Inside the outer box nothing changes.
A test exports a knockout group that does not isolate, whose top element
overprints, and checks that its /K group carries no /I true, that the
overprinting graphics state (/OP, /op, /OPM 1) is written, and that the
overprint and the knockout group read back. An isolated group keeps
/I true.
A click or marquee outside a symbol instance's box walks the instance's
placed art, and an instance nested in that art walked its own art with
no shared limit, so deeply nested or widely repeated instances could
make one click walk far more objects than the canvas draws.
Clicks, Select Behind, the locked-object and hidden-selection lookups,
Direct Selection's part lookup and marquees now share one limit of
MAX_SYMBOL_NODES objects across every level of nested art. Once it is
used up, an instance is no longer hit or touched outside its box;
inside its box it still is. The art walk also checks the instance's
reach before starting.