Review of #6290.
- An edit is measured as the renderer draws: an object it leaves out
(hidden, a template layer or guide the view hides, drawn hidden, the
instance a symbol is edited from) is measured as nothing, by one
predicate the renderer and the measure share (node_checks::left_out,
before culling).
- An Image Trace object's members are compared one by one again, its
hidden source image, which some views draw, counted as shown: moving
the source redraws where it was and is, and recoloring a traced shape
redraws only the shape.
- The renderer checks the brush library between frames only while it
keeps bounds measured with brushed strokes in 3D art.
- Tests: the sweep of 3D art's bounds counted while the art is held,
and Fit to Artwork Bounds' menu answer kept for a revision.
A knockout element with one opaque Normal solid fill (a path or
compound, no mask, effects or isolation) is drawn once under
AntiAlias::None, including the internal hard-edge frame of Art
Optimized supersampled exports, instead of being erased and added back
through per-element backdrop layers. Analytical antialiasing keeps the
existing compositor and rounding.
Exact-pixel tests compare against the general knockout path for paths
and compound holes across precision, supersampling, translucent parents
and copied backdrops, and check that the backdrop rasters are skipped;
translucent fills keep their knockout compositing.
# Conflicts:
# docs/roadmap.md
# docs/target-app-parity.md