# 产品基线 ## 用户与问题 面向桌面 Chromium 中的 DSH Web 用户,为聊天和演示提供可随时退出的固定节奏 Q 弹。界面律动与飞行玩偶独立开关,可同时运行,同时保留正常阅读、输入、复制、滚动与审批能力。 ## 当前体验 安装后默认静止;界面律动默认勾选,飞行玩偶默认不勾选。用户展开 320 px 简洁面板,选择两个效果、微醺/上头/整活三档和可选的原梗 BGM,点击「开喝」启动。面板只保留上述选项、状态及开喝/暂停/醒酒,不再呈现本地音频文件、BPM、相位、点击测速、各区域范围、玩偶尺寸/速度和总强度的自定义控件。启动控制器时保留预设与三个开关,将移除的高级项恢复默认,避免旧范围关闭或强度为零影响可见效果;底层设置校验与音频资源逻辑仍保留兼容用途。 以固定 120 BPM 运行。高级项默认相位 0、强度 65、所有区域开启、后台不播放、Escape 停止、循环 true。界面和玩偶共用固定时钟与相位,开关一者不会重启另一者。界面以同相位周期性压矮与拉高,底部固定,纵向主导、横向反向补偿;父子只选择一根形变动画,性能保护只限制同时参与数量。Alpha.8 扩大普通 div/span、页头、侧栏文字与行内图片/SVG 的候选识别,保留安全排除。输入、选择文字和审批等局部区域保持稳定。 飞行玩偶沿用 imagegen 生成的蓝白鲸鱼娘毛绒透明图,不宣称官方素材。外层以恒速在包含侧栏的 DSH 页面可视区飞行,碰左右边反转水平速度、碰上下边反转垂直速度;内层重复固定 Q 弹,碰墙不重置节拍。玩偶点击穿透。默认尺寸和速度均为 180;底层兼容范围为 80–320 px 与 40–600 px/s,简洁面板不提供调整入口。 ## 原梗音乐 音频:[BV1hXbN6VEKV](https://www.bilibili.com/video/BV1hXbN6VEKV/) BGM 默认关闭;勾选后点击「开喝」,播放从活跃黑江乐《朋友的酒 DJ 完整版》原投稿导出的内置 MP3。Alpha.13 起,音频随包作为独立文件,经 DSH Host 同源固定路径读取,不再以内联 data URL 放进客户端入口;无视频窗口、iframe 或平台媒体请求。面板保留上述可跳转的来源链接,音量固定 50%,循环播放。 暂停与切到后台保留音乐进度,恢复继续;醒酒/Escape 回到开头,卸载释放媒体资源。有声播放受浏览器策略约束,失败时显示可读提示。界面和玩偶仍共用固定 120 BPM 时钟,音乐启停不使视觉效果重新起拍;不宣称精确跟随原曲每拍。 录音、词曲和合成声库不适用项目代码 MIT 许可;来源署名不代表原权利人的公开分发许可,实际来源与技术记录见 [素材说明](docs/ASSETS.md)。 ## 已决定的范围 - npm bundle 锁定 DSH `0.2.0-rc.2`,Web 先行;Desktop、TUI、移动端不作兼容承诺。 - `pageEnabled`/`petEnabled` 独立,默认 true/false;`musicEnabled` 默认 false。旧 mode pet → false/true,page → true/false,明确布尔值优先。 - 玩偶图片随包作为独立 PNG,经 DSH Host 同源固定路径读取,不请求外部素材服务器;只在浏览器页面可视区运行,不提供系统透明置顶窗口。 - 不重建宿主 React DOM、不逐字拆分;仅撤销插件自己的动画、节点与媒体资源。 - 保护焦点、IME、选区、正在操作的控件与审批;尊重减少动态效果偏好,后台默认暂停。 - 不上传文件或对话,不调用模型;系统音频采集、自动估拍与歌曲每拍精确同步不在本版范围。 ## 成功标准 分别验证界面单开、玩偶单开、同时开启与全关。运行中切换一者,另一者的原生动画实例、起始时间与固定周期保持不变。共同暂停冻结形变与飞行;醒酒/Escape/卸载后无遗留动画、玩偶节点与媒体。玩偶连续双轴碰墙反射、窗口缩放后在边界内,碰墙不变拍、点击穿透。 界面开启时,消息、正文、工具卡、输入区和侧栏等可见安全区域有效覆盖;普通文字、页头与行内图像回归需新增证明。父级带动的子区域计入覆盖,不叠加独立动画。连续周期的时长、波形与幅度固定,静止指针与性能保护不让保留目标反复变速或中断。长对话按 300 条消息、约 10 万字符验收,初始同时可见目标预算 120。实际输入、IME、流式、审批、物理性能和其他插件共存分别记录,不以模拟通过代替实机验收。 BGM 播放不得产生平台媒体请求或 iframe;验证正确音轨、来源链接、固定音量、循环、暂停继续、后台暂停、醒酒归零与卸载释放。浏览器媒体进度和物理扬声器输出分别记录,不能只由资源加载推断已经听到声音。 ## 分发与阶段 正式名「D友の酒 · Dyou Wine」,版本 `0.1.0-alpha.13`,包名 `dsh-dyou-wine`,GitHub 仓库为 `DoveLi-Gu/dsh-dyou-wine`。源码、tag 与发行附件已公开,发现 topics 已设置;npm 尚未发布,预发布仍使用 `alpha` tag。仓库元数据、图标、中英文发现名称、CI 与发布公告均随源码提供。编译后的真实入口和静态媒体进入 Git 与安装包,单个程序入口保持在 dsh.pub 的 1,000,000 bytes 限制内;总包体积不受这个入口阈值约束。最终检验与日常安装记录单列于 `docs/TESTING.md`。音频与角色图的来源和权利范围见 [素材说明](docs/ASSETS.md)。