Loads fast again: stale-while-revalidate + a precache that waits its turn

Paul: "It loads very slowly now." Diagnosis (playwright vs stellate.app): the shell is 2.6MB across ~40 requests and the origin serves cache-control: no-cache on everything — so every visit has ALWAYS revalidated ~20 files serially (one RTT each

• sw.js v2: app code goes STALE-WHILE-REVALIDATE — a repeat visit paints from the SW cache instantly (measured: 29 app/engine files cache-served on reload, zero errors) while a background fetch refreshes the…

• precache: NEVER competes with the music or the boot — the warm now waits for the engine to be live and 3+ bars deep (its own decodes done), or 25s of idle; phones get a 120-file cap (desktop 400).

Verified: explorer-ui, access-ui, share-url green.

▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room https://stellate.app/?genre=transitwave&seed=2595&path=749.12536,768.12569,730.12569&xdur=13.122

33e1425 https://github.com/aboard-io/stellate/commit/33e14253ff55a0a8c3a3801e366a3fb9fca2c67a