papers/index: single-image cover crossfade + per-image fade-in (no pop-in)
Reverts the layered front/back multiply composition: hero now shows ONE
slide at a time, cover-scaled to fully fill the bleed, simple crossfade
between adjacent slides. Pop-in fixes:
- preload <link> for all four hero images so they arrive ASAP
- per-image alpha ramp (IMG_FADE_IN=900ms) tracked by load timestamp, so a
slide that finishes loading mid-cycle dissolves in instead of slamming
to full alpha at its envelope peak
- kick the rAF loop on the FIRST decoded image (previously waited for ALL)
so the canvas starts painting sooner; later slides ride in via imgAlpha
- still paint one frame before flipping the .loaded class so the canvas
has real pixels the moment the CSS opacity ramp begins
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>