File Index

File Purpose
main.lua (2084 lines) Entire application — state, rendering, input, audio, video, everything
json.lua (260 lines) Standalone JSON encoder/decoder (pure Lua, no deps)
haptic.py (19 lines) One-shot rumble pulse via evdev (called externally)
riptide-v2.gptk gptokeyb controller mapping for the LÖVE app
mpv.gptk gptokeyb controller mapping for MPV video playback
data/playlists/*.json Music + video playlist definitions
data/watch-later/* MPV watch-later resume state files