Cross-browser Manifest V3 extension popup for previewing osu! beatmaps.
The plugin consumes osu-beatmap-preview for canvas rendering and owns browser-extension concerns such as active-tab detection, .osu fetching, playback controls, mod selection, and popup UI.
Install and run the plugin:
npm install
npm run devTo test an unpublished local version of the library, temporarily change the dependency in package.json:
"osu-beatmap-preview": "file:../osu-beatmap-preview"Build the local library before installing plugin dependencies:
cd ../osu-beatmap-preview
npm install
npm run build
cd ../osu-beatmap-preview-plugin
npm installnpm run buildThe built extension is emitted to dist/.
- Open
chrome://extensionsoredge://extensions. - Enable Developer mode.
- Choose Load unpacked.
- Select this repo's
dist/folder.
- Open
about:debugging#/runtime/this-firefox. - Choose Load Temporary Add-on.
- Select
dist/manifest.json.
Open an osu! beatmap page such as:
https://osu.ppy.sh/beatmapsets/...#osu/...
Then open the extension popup. The plugin reads the active tab URL, extracts the beatmap id, fetches https://osu.ppy.sh/osu/{beatmapId}, and renders the beatmap through osu-beatmap-preview.