music(player): 变速播放 + AB Loop
deploy articulate / build-and-deploy (push) Failing after 1m42s
deploy cube / build-and-deploy (push) Successful in 2m5s
deploy karaoke / build-and-deploy (push) Failing after 2m2s
deploy simpleasm / build-and-deploy (push) Successful in 2m21s
deploy music / build-and-deploy (push) Successful in 4m2s
deploy werewolf / build-and-deploy (push) Failing after 58s

- 变速:底部 1× 圆形按钮循环切 0.5/0.75/1/1.25/1.5;preservesPitch=true(浏览器 native 保音高);localStorage 持久化全局
- AB Loop:A B 两按钮在当前位置打点,🔁 开关;进度条上绿色高亮 A↔B 区段;timeupdate 触发 ≥B 跳回 A;切歌自动清 A/B
This commit is contained in:
Fam Zheng
2026-05-10 21:40:19 +01:00
parent 5674be1cfd
commit cdbf8308d1
81 changed files with 5899 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
//! articulate.famzheng.me — 中英猜词派对游戏。纯静态前端,无 API。
#[tokio::main]
async fn main() -> std::io::Result<()> {
cube_core::init_tracing();
let dist = std::env::var("ARTICULATE_DIST_DIR").unwrap_or_else(|_| "/dist".into());
let app = cube_core::base(dist);
cube_core::serve(app, 8080).await
}