Skip to content

Support extended visible note channels 1A-1Z / 2A-2Z as playable notes #136

@nulltask

Description

@nulltask

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

  1. Extend the playable-channel classification (@be-music/chart channel predicates + playable-notes.ts) to the alphabetic lane range.
  2. Wire the extracted notes into the existing 24/48-key lane layouts and input bindings.
  3. Cover with extraction + judging tests and update the support matrix in docs/player-spec.md / .ja.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions