/* * book-aliases.js — turn anything the operator types into an exact Bible reference. * * Shared by the phone remote (remote.html) and the app (app.js falls back to it in * __normalizeGroundingBook). Canonical names match the keys inside Translations/*.json exactly, so a * resolved reference can be handed straight to the loader. * * Two rules, because this gets used live on stage: * 1. NEVER guess between two books. "Jud" could be Judges or Jude, so it resolves to nothing and the * remote says "not a book" rather than opening the wrong passage in front of the room. * 2. Aliases are checked before prefixes, so conventional short forms win: "Phil" is Philippians (the * convention) even though it also prefixes Philemon. * * Collisions are impossible to introduce silently: buildIndex() throws if two books claim one alias. * * Deliberately a CLASSIC script (window.BibleBooks), not an ES module: index.html and remote.html load * it with a plain