Files
SoulStream/src/views
KeelrLeek 9dc3eaf939 artist hero: the blurred layers ride with the photograph
Two layers were left behind when the hero rides up on scroll, both of them
blurred copies of it, so both read as "the blur does not line up".

The load seed and its mono twin were never in the squeeze-ride rule -- they
got a filter on scroll and no transform at all, so at scrollTop 600 they sat
132px below where the photograph had gone. They were left out because
hero-squeeze-ride sets transform outright and would drop the scale(1.06) they
are built on; hero-seed-ride is the same translate composed AHEAD of that
scale, so the offset stays in unscaled pixels and matches the banner's rather
than being 1.06x it. Measured 0px drift at scrollTop 0, 300, 600 and 900.

The mono twin is a BAKED copy of the hero canvas and snapshotGpuTwins only
ever ran on a hero READY. So after any resize the live hero repainted at the
new size while the twin went on stretching its old frame into the new box --
an overlay visibly off the photograph, and permanent until the next hero
happened to re-bake it. It re-bakes when the measured box changes now,
debounced past the renderer's own settle so it copies the canvas already
repainted at the new size, and dimension-guarded so it costs nothing during
the moving part of a drag. Verified: live store and baked twin agree at
3186x1629, then both at 2856x1607, then both back, with one frame throughout.
2026-07-29 08:11:36 -05:00
..