snapshot: Mask nodes act weirdly when scaled
I am animating a border (gtk_snapshot_append_border) by modifying its size on each frame, the code roughly looks like
snapshot.scale(val, val);
snapshot.push_mask(gsk::MaskMode::Alpha);
snapshot.append_border(&rounded, &[border_width; 4], &[gdk::RGBA::BLACK; 4]);
snapshot.pop();
let color = self.color();
let stop0 = gsk::ColorStop::new(countdown, color);
let stop1 = gsk::ColorStop::new(countdown, gdk::RGBA::new(0.0, 0.0, 0.0, 0.0));
snapshot.append_conic_gradient(&rect, ¢er, 0.0, &[stop0, stop1]);
But it looks very janky, as if something is rounding floats at some point, see video at https://gitlab.gnome.org/Incubator/snapshot/-/merge_requests/52#note_1691190. Note that the inner circle in the video animates smoothly and that removing the mask makes the animation on the border smooth.