Eight components paint their own background — badge, callout, tooltip, notification, stat, kbd, caption, codeblock — and they read it from the clone with_cascaded_style produces.
That clone does not carry animation overrides. The cascade only propagates inheritable properties, and background is not one, so resolve_transition_css_overrides writes the interpolated colour onto css.background where the paint pass would have read it — and these eight read their own copy instead.
Before ee173f6 the generic background step still painted, so an animated colour landed under the component's own static one and the result was at least partly right on a translucent fill. Now that the generic step steps aside for these eight, an animated background on one of them should paint the author's static colour for the whole animation.
Reproduce with a badge carrying a timeline step that changes style.background, rendered at a time inside the transition.
Raised by the paint lot on chantier/audit-2026-09-25 from reading the code, not from a render — it is a consequence of that commit that the lot could not verify inside its own scope, and it is a different finding from the double-painting it fixed.
Refs #315
Eight components paint their own background — badge, callout, tooltip, notification, stat, kbd, caption, codeblock — and they read it from the clone
with_cascaded_styleproduces.That clone does not carry animation overrides. The cascade only propagates inheritable properties, and
backgroundis not one, soresolve_transition_css_overrideswrites the interpolated colour ontocss.backgroundwhere the paint pass would have read it — and these eight read their own copy instead.Before
ee173f6the generic background step still painted, so an animated colour landed under the component's own static one and the result was at least partly right on a translucent fill. Now that the generic step steps aside for these eight, an animated background on one of them should paint the author's static colour for the whole animation.Reproduce with a
badgecarrying atimelinestep that changesstyle.background, rendered at a time inside the transition.Raised by the paint lot on
chantier/audit-2026-09-25from reading the code, not from a render — it is a consequence of that commit that the lot could not verify inside its own scope, and it is a different finding from the double-painting it fixed.Refs #315