Skip to content

feat(sounds): W4 五类固定程序化音效与设备级设置 - #45

Draft
WardLu wants to merge 1 commit into
mainfrom
feat/growth-loop-w4-sounds
Draft

feat(sounds): W4 五类固定程序化音效与设备级设置#45
WardLu wants to merge 1 commit into
mainfrom
feat/growth-loop-w4-sounds

Conversation

@WardLu

@WardLu WardLu commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Summary

重新实现 W4:五类固定程序化音效与设备级设置,全部基于 SHA-4(growth-loop-integration 上的 growth loop 代码)

  • 音效引擎 src/learning-sounds.js:Web Audio 实时合成,固定配方、无随机;五类事件(action_completed / points_earned / try_again / points_deducted / reward_fulfilled),每类 2–3 个变体;同操作优先级、防叠加、连续点击节流、TTS 冲突静音、AudioContext 不可用时静默降级(绝不影响业务写入)。
  • 设备级设置:总开关、总音量(默认 60%)、逐事件开关与变体选择、试听、重置默认;仅存设备 localStorage,不同步云端。
  • 主流程接入:加分/扣分/撤销/兑换/兑现触发对应事件;reward_fulfilled 仅在服务端确认“已兑现”后经 reconcileConfirmed 触发。

Test plan

  • npm run test:unit:133 通过(含 learning-sounds 21 项 + growth-loop-controller 兑现流 3 项)
  • npm run test:e2e:65 通过 / 1 跳过(sounds 7 项全过;piper-dev-server 在网络环境正常时单独通过)
  • npm run checknpm run buildnode scripts/check-build.mjsnpm run test:coverage 均通过
  • 真实设备发声无法在无实体设备环境下验证(见 issue 报告)

Closes: SHA-6

@vercel

vercel Bot commented Aug 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
shadow-mate Ready Ready Preview Aug 18, 2026 10:02am

重新实现 W4:五类固定程序化音效(action_completed /
points_earned / try_again / points_deducted / reward_fulfilled),
Web Audio 实时合成、固定配方、每类 2-3 个变体;设备级设置
(总开关、音量、逐事件开关与变体、试听、重置)仅存 localStorage,
不同步云端。接入主流程:加分/扣分/撤销/兑换/兑现;reward_fulfilled
仅在服务端确认“已兑现”后触发。含单元测试与 E2E 测试。
@WardLu
WardLu force-pushed the feat/growth-loop-w4-sounds branch from 603ea8e to 768a895 Compare August 18, 2026 10:02
@WardLu
WardLu changed the base branch from feat/growth-loop-integration to main August 18, 2026 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant