This directory is a Markdown collection of specifications used in the be-music repository.
- BMS implementation specification
- BMSON implementation specification
- Bemuse implementation specification
- Player implementation specification
- Terminal player implementation notes
- Browser player implementation notes
- Play log (play history) specification
- LR2 skin implementation notes
- beatoraja skin implementation notes
- BMS/BMSON intermediate representation (
@be-music/json) implementation specification - Glossary
Supplement:
- These documents prioritize how this repository implements and interprets the formats over the original specifications themselves.
- If there is a discrepancy with the official specifications, please first decide on an implementation policy and then update this document.
- Keep these documents focused on the current implementation. Put past decisions in pull requests, commit messages, and changelogs.
@be-music/jsonis responsible for pure IR, and@be-music/chartis responsible for score semantics such as beat resolution and event order.@be-music/playeris the shared engine package. Terminal-specific behavior lives in@be-music/player-tuiand Terminal player implementation notes, while browser-specific behavior lives in@be-music/player-weband Browser player implementation notes.@be-music/lr2-skinand@be-music/beatoraja-skinkeep skin parsing renderer-independent. Browser PixiJS rendering is documented under@be-music/player-web.