feat(rhythm): 鼓手模式重构——屏幕六区鼓组 + 无鼓伴奏合拍(用户裁定重构)

- 屏幕3列×2行六区鼓组(列=声像左中右/行=音高上亮下沉),六件程序合成打击乐,三重冗余蒙眼可辨
- 无鼓伴奏BGM上跟随领奏 call&response + 加花句;3曲90/105/120 BPM解锁制,BPM实测89.99/105.00/120.01
- 引擎后向兼容扩展:onGesture补{x,y}坐标(单参回调零感知,15游戏+3引擎测试全量回归零失败)
- 判定简化:全部音符=分区点按零延迟,旧双击补偿/下滑折中退役;键盘Digit1-6+空格=家区
- 教学摸鼓认区(摸哪报哪,8s无触摸自动进阶)+重教≤2+降速DDA+归因真话律
- 保留旧作好评:跟随领奏核心/S~C评级/解锁制/判定口径/guide工程遗产
- 语音49id双性别+8key;R1+R2连续2轮4/4愿意玩P0=0裁定可交付;live直证33 Perfect dt≈0.00s
- 03号文档仅文末加取代指针;新设计24号;档案research/rhythm-drummer/;Mureka累计$1.35
This commit is contained in:
xsl
2026-09-14 20:17:10 +08:00
parent ddada6980c
commit ae850a4ce0
280 changed files with 5671 additions and 1121 deletions
+9 -1
View File
@@ -299,11 +299,19 @@ vibrate([50, 30, 50]); // 自定义震型
```js
const detach = attachGestures(element, onGesture, config?)
// onGesture: (g: 'up'|'down'|'left'|'right'|'tap'|'doubletap'
// |'longpress'|'longpressend'|'tapcancel') => void
// |'longpress'|'longpressend'|'tapcancel',
// info?: { x: number, y: number }) => void
// ('tapcancel' 仅 immediateTap 模式补发,见下)
// detach(): 解除绑定
```
第二参 `info`(坐标透传,24 号鼓手模式新增,**缺省行为逐字节不变**):
`{x, y}` 为视口像素坐标——点按类事件(tap/序曲 tap/双击改判/tapcancel)与
长按 = **按下点**;四向滑动 = **滑动起点**(出手瞄准位置);键盘通道 =
虚拟指针坐标(元素中心,方向键滑动同样携带)。需要触点位置的游戏(rhythm
分区打击的「敲哪个区」判定)使用;既有单参回调零感知、零回归成本
(同 opts.pan / immediateTap / tapcancel 先例)。
判定参数(`DEFAULT_GESTURE_CONFIG`,与 Android `GestureConfig` 对齐):
| 参数 | 默认 | 含义 |