{
  "_comment": [
    "Where /audio/<prefix>/... resolves to on disk. Read by vite.config.ts in dev",
    "and by armada/serve.py in production, so the SPA's URLs are identical in both",
    "— a UI that only works under `npm run dev` is a demo, not a tool.",
    "",
    "Masters live outside the repo (they are gigabytes). Mounting them by prefix",
    "keeps the URLs stable while the paths move between gigs, and keeps `heads`",
    "and `full` apart — `master split` names both '01 - Title.flac', so a single",
    "flat mount would serve the 98 MB track when the UI asked for the 16 s head.",
    "",
    "'samples' is the whole custom sample root, not just one pack, so the kit",
    "auditioner works on every kit PLN owns — the 163 already there and every",
    "one the Foundry cuts next — without a config change per pack."
  ],
  "mounts": {
    "bounds": "/home/pln/Work/Sound/Prod/Opal26_master/bounds_v4",
    "full": "/home/pln/Work/Sound/Prod/Opal26_master/tracks_v4_streaming",
    "full-club": "/home/pln/Work/Sound/Prod/Opal26_master/tracks_v4_club",
    "heads": "/home/pln/Work/Sound/Prod/Opal26_master/heads_v4",
    "joins": "/home/pln/Work/Sound/Prod/Opal26_master/joins_v4",
    "samples": "/home/pln/Work/Sound/Samples",
    "": "/home/pln/Work/Sound/Tidal/armada/tide-table/punkachien",
    "cosmic": "/home/pln/Work/Sound/Tidal/armada/tide-table/cosmicfest_bounds"
  }
}
