Support extended visible note channels 1A-1Z / 2A-2Z as playable notes
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15
- Forks
- 1
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 29
Description
Context
Found in the BMS spec-compliance audit. Per hitkey's command memo, visible notes span #xxx11-1Z (1P) / #xxx21-2Z (2P); the alphabetic tail is used by keyboard-mania-style and other extended-lane charts.
Current behavior
Only 11-19 / 21-29 are extracted as playable notes — packages/player/src/playable-notes.ts accepts lane characters 1-9 only. The 24 KEY SP / 48 KEY DP lane-mode estimation and key bindings exist in packages/player/src/core/lane-layout.ts, but the extended channels themselves never become score/judge targets, so such charts play silent and judgeless.
This is currently a documented limitation (docs/player-spec.md BMS support matrix), so this issue is the tracking item for lifting it.
Suggested scope
- Extend the playable-channel classification (
@be-music/chartchannel predicates +playable-notes.ts) to the alphabetic lane range. - Wire the extracted notes into the existing 24/48-key lane layouts and input bindings.
- Cover with extraction + judging tests and update the support matrix in
docs/player-spec.md/.ja.md.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with packages/player/src/playable-notes.ts and the @be-music/chart channel predicates, then inspect packages/player/src/core/lane-layout.ts for the existing 24/48-key layouts and input bindings. Done means alphabetic channels become playable score and judge targets, extraction and judging tests cover them, and the support matrix is updated in docs/player-spec.md and .ja.md.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- documentation, game-dev, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100