5a019bd35c
Two things made the Vibe page crawl on mobile. The ambient aura pushed three counter-rotating layers through an SVG turbulence and displacement pass whose noise field was animated in SMIL. SVG filters rasterise on the CPU, so that regenerated the whole field every frame, under a blur, across a 420x380 element. Below the breakpoint the filter is no longer mounted and the layers churn behind a plain blur instead. A phone gets the motion, not the noise pass. The start screen read all 5,000 tracks to show fifty of them. The sample is now drawn in the database, which keeps Surprise me uniform over the whole library while sending only what is on screen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KENqSChfyqWnor6ud2WWH6