Audit wave 3: gradient-border is declared with a dead never-called helper (components/lib.rs:499 draw_gradient_border); legacy inner_shadow and backdrop_blur schema fields are zombies (css box-shadow inset works, css backdrop-filter works); FilterFn has no grain/noise. Implement: (1) wire gradient-border painting in paint_pass (border-radius aware); (2) add FilterFn::Noise{intensity, seed} via Skia's native noise shaders (fractal/turbulence) usable in filter AND backdrop-filter chains — per-element frosted grain; (3) purge or alias the zombie fields with validator warnings (no silent phantom); update the skill docs that oversell. Pixel tests per item.
Audit wave 3: gradient-border is declared with a dead never-called helper (components/lib.rs:499 draw_gradient_border); legacy inner_shadow and backdrop_blur schema fields are zombies (css box-shadow inset works, css backdrop-filter works); FilterFn has no grain/noise. Implement: (1) wire gradient-border painting in paint_pass (border-radius aware); (2) add FilterFn::Noise{intensity, seed} via Skia's native noise shaders (fractal/turbulence) usable in filter AND backdrop-filter chains — per-element frosted grain; (3) purge or alias the zombie fields with validator warnings (no silent phantom); update the skill docs that oversell. Pixel tests per item.