For agents, on top of README.md, which they read first.
Notes for agents
Route before the page loads. route(page) must run before page.goto: the song's samples('jev-samples/strudel.json') and the preload fetch as soon as a song is evaluated, and a request that got past the route has already heard the server's file.
The map is built once per run. A sample added to the worktree after a tool starts is not in its map; run the tool again.
Never build the map here by hand. It comes from sampleMap in website/src/jev/sampleMap.mjs, the builder the site's route uses, with the extensions its test holds equal to the site's glob. A second builder would drift from what the site serves.
Only the sample pack is routed. Dirt-Samples and anything else a song loads from the network, and the site's own code, are the dev server's. To hear a worktree's site or superdough changes, run a dev server from the worktree on other ports (pnpm exec astro dev --port 4332 in website/) and pass its URL (measure --url).