You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Stream drum gameplay metadata (feedpak 1.20.0) on the highway WebSocket #1104
What
feedpak 1.20.0 (FEP #67, feedpak-spec#68) lets a drum_tab.json carry drum gameplay metadata: per-hit a (accent) and x2 (double kick) flags, star_power / fills / solos ranges and easier difficulty levels (easy|medium|hard: {hits, generated}). The chart importer in #1091 writes them. The highway WebSocket does not pass them on: lib/drums.pyhit_to_wire drops a and x2, and the drum_tab frame carries neither the range lists nor the levels, so bundle.drumTab never has them.
Why
A drums renderer (the drums plugin) needs them to score a chart the way a rhythm game does: Expert vs Expert+ (x2 kicks), Easy/Medium/Hard, star power phrases and fill activation, solo sections, and authored accents for the dynamics bonus. Today it can only draw the full hits[].
Proposal
Additive wire change: drum_hits keep a / x2; the drum_tab frame gets star_power, fills, solos (when non-empty) and a levels index {id: {total, generated}}; each level's hits stream after the top-level ones as drum_level_hits chunks ({level, data, total}, 500 per frame). highway.js stores everything on bundle.drumTab. A tab without the keys streams byte-for-byte the old frames; older clients ignore the new frame type.
Version: 0.3.0-alpha.1 (on top of #1091), any platform.
Activity