Architecture decisions
Why drishya is built the way it is: each significant decision as a short record (context, the decision, its consequences), in the ADR format. A decision is never edited away: a later one supersedes it. Sources: docs/adr.
Record architecture decisions
Decisions about how drishya is built (its dependencies, its boundaries, the trade-offs it accepts) were made in conversations and commit messages, where nobody finds them later. A …
libmpv draws into the window
A video player can either drive a separate player window (mpv over its IPC socket) or draw the video inside its own window. Two windows are simpler to build but feel like two progr…
Any link plays, and logins stay out of files
Videos aren't only on YouTube: HLS streams on a company's server, a file on a home server, other sites. Some need a login.
nāda's vim keys
drishya sits next to nāda (music) on the same desktop. Two players with different keys would mean learning both.
Video first, and fullscreen is zen
The first version put the controls in a bar under the video, always visible, as in a music player. Video players people like (YouTube, IINA, mpv with uosc) keep the picture clear: …
One floating search panel instead of a YouTube tab
Searching meant going to the YouTube tab and pressing Enter; the library and the history each searched differently, and links went through a separate o prompt. Command palettes and…