17 lines
761 B
Markdown

# Architectural Decision Record
## Static web app with typed JavaScript
The overlay is plain HTML/CSS/JS with no bundler: run it locally with **`deno task serve`** or host the files on any static server. OBS uses an **http(s) URL** to the page.
Consequences: Ease of use
- Adding or updating the overlay is **copy files or point OBS at a URL**; nothing to build before use beyond optional Deno for local serving and the chat-request database path.
- Type safety is **optional IDE assistance**, not enforced at publish time (there is no `tsc` in CI by default).
This dependency-free client shape stays easy to wire as an OBS Browser Source while keeping the codebase maintainable through JSDoc and `types.d.ts`.
## BeatSaberPlus
Because I already use it.