Monolithic main.lua — layout, drawing,
state, input, loading, haptics. Would benefit from modular split
(e.g. hub.lua, library.lua,
player.lua, haptic.lua)
Hardcoded paths —
/userdata/roms/ports/AquaSystem/shinju-tori/assets/fonts/,
/userdata/videos/mpv, /media/SHARE/music/.
These work on Knulli but break on any other system
Async loading has no timeout cleanup — if a thread
hangs, loading stays true until 30s timeout
Favorites system is declared but the L2
quick-favorite handler logs “not yet implemented”
Sleep Timer option exists in the menu but is
non-functional
Watch-later files use hex filenames (likely MPV’s
content-hash naming) — no metadata, just raw file references
Progress arc at hub shows elapsed/total — but
track.duration is often 0 (not read from file metadata), so
the progress ring stays empty for most tracks
Grid view for video content shows only 1 row (3
cols portrait) — layout may need tuning for larger libraries