This is a reimplementation of 2ky's osu!mania overlays using Stream Companion and Svelte.
mania_simple_overlay
mania_simple_leaderboard
osu-v1
, osu-v2
, akatsuki-v1
mania_simple_hitcount
mania_simple_hiterror
mania_nowplaying
nps_chart
mania_normal
mania_ingame
mania_simple_hiterror
osu-stream-companion-store
: A Svelte store that connects to Stream Companionsvelte-autoscroll
: A Svelte action to scroll an element back and forthsvelte-odometer
: A Svelte component that mimics an odometer without external dependenciesgosumemory hasn't been updated for a while, aside from the occasional bug fixes. There are multiple issues with it, from failures reading judgment data, to incorrect pp formulas, to SR calculation failures, etc.
Stream Companion is actively maintained, and directly uses code from upstream osu!lazer, so keeping up with changes will be easier.
The original overlays are written in vanilla JS, which even though works fine, is a major pain for others wanting to modify the overlays. There are also other problems with the original overlays, including code readability issues and the use of old school, fragile CSS.
All of the mentioned issues prompted me to rewrite the overlays in Svelte, due to its high performance, low output size and ease of use. I also rewrote the CSS to take advantage of modern features (3D transforms, flexbox, etc.) and reduce the number of "magic offsets".
pnpm install
pnpm build:all
This repo uses Nx for parallel building, and the output will be in the dist
folder.
pnpm install
cd <path to overlay>
pnpm run dev