Live video variety: shuffled no-repeat bags per play session

Paul: "we see the same clips every time we hit play." Cause: the genre-affine pool was built in fixed array order and walked with a module-scope linear index that never reshuffled — every session identical — and ambient idle stepped clips.json linearly with the first clip always disc_sunset.

• Now: explorer's genre pool is a Fisher-Yates shuffled bag (fresh shuffle at every goLive, so each play differs), rotating with no repeats until drained, rebuilt when travel changes the pool, never back-to-back…

• Only the LIVE presentational layer uses Math.random; the seeded journey/press video path is untouched (renders stay reproducible).

Verified: live audio smoke PASS 0 errors; two-session variety gates on both the mobile hard-cut and desktop crossfade paths show fully different clip sequences with the crossfade intact, 0 console…

▶ Play it: Stationary Weather — a long-form genre — put the phone in your pocket and it keeps playing https://stellate.app/?genre=ambient&seed=6695&path=2103.13280,2122.13313,2084.13313&xdur=13.122

96672f3 https://github.com/aboard-io/stellate/commit/96672f37aaa686114e563065afdf9c345e290731