Repository navigation
feat: add progressive reading study panel and speech controls - #949
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
网页读者从 Popup「学习」打开渐进阅读,选择正文后按需切换原文、短语提示、逻辑线索和完整双语。可以先选文再打开,也可以打开面板后拖选并点击「读取选中正文」。新正文从原文开始,各档均可直接查看完整双语。短语提示直接在原文显示浅灰底,逻辑线索用细粉色下划线引用条件、否定、可能性和范围词;悬停引用现有参考/解释,并关联下方同一提示。掌握提示收起和恢复与标记同步,重叠线索平铺且不重复原文,切回原文或双语撤掉辅助标记。
学习面板新增原文/译文朗读。选择朗读对象保持静默,点击播放后才合成;支持暂停续播、前后跳 5 秒、从头重听、停止、0.75×/1×/1.25×/1.5× 与循环。循环范围是面板当前展示的原文上下文或完整译文。当前词高亮为按媒体/句段时长估算的跟读,不声称精确词级对齐。时长未知时跳转与重听暂不可用。
Popup「翻译」「局部」「学习」以 42px 高度同排,学习位于局部右侧。主按钮默认显示「翻译(⌥+T)」并读取实际平台/快捷键配置;移除 A↔译、独立快捷键框和两个网站按钮的共同外框。学习面板以正文为主:小标题与读取选文并排,四档帮助改为紧凑标签,删除常驻说明、重复原文标签和底部双语入口。正文用 15px/1.8 排版并独立滚动,常用音频动作固定在下方;从头重听、停止和循环收进「⋯」,折叠不打断播放。矮窗口利用可用视口高度,长错误独立滚动且保留全文,正文和控件不被挤掉。保留 FluentRead 粉色品牌及亮暗主题。学习快捷键默认无绑定;入口悬停/聚焦显示用途与设置入口,支持录制、取消、清除和即时生效,保护输入区域与已启用功能的组合键,包括个人校订。
复用已有 TTS 策略与音色,当前页面原生 Audio 播放。一份当前音频供暂停、跳转、调速、循环与再次播放复用;分词按文本缓存,媒体事件更新进度,无轮询时钟。换文、关闭、路由、禁用或语言/语音配置变化取消请求并释放 Audio/Blob URL;迟到结果不能恢复播放。操作不写掌握状态或学习记录,宿主原文不改写。用户脚本继续在构建期排除学习入口、面板及不可达文案;权限、版本、依赖保持原值。合并前已整合 main
3f5ccc69f792168db8630b8bcf2432ff496ceb6c,最终分支提交78490b239。入口与阅读操作动图(此前录制,未包含新朗读控件、正文优先布局和原文标记) · 当前截图、操作说明与验证记录
合并前最终复验:14 文件/578 个学习及直接关联用例通过,架构 997 项和用户脚本文案投影 3 项通过,生产 Edge 29/29(朗读 8 组、原文标记 13 次、332 次焦点检查、控制台异常 0)通过。类型检查、Chrome/Firefox、清单及文档构建通过。静态审计 692 文件/11,944 cases。i18n 57/58 的唯一既有缺译失败仍单列,两个所属 Vue 与最新 main 字节一致。
同锁文件和依赖的独立 main 用户脚本基线为 2,076,455 字节,候选为 2,077,027 字节,增加 572 字节(0.0275%);原门槛超出 27 字节,按既有 1 KB 步长最小调整为 2,078,000,余 973 字节。完整 verifier 通过,协议和运行断言全部保留。学习运行时仍从用户脚本剔除。最终追加只调整 verifier 预算和验证报告,产品源码未变。
最终 main 整合、独立体积对照及专项验证记录
原文标记开发阶段验证范围(下列构建与体积对应当时 main
1e414ea8c2,最终整合结果见上方):朗读浏览器验收使用 Microsoft HTTP 边界的确定性静音 WAV,生产消息路由与原生 Audio 真实执行;未试听真人语音或验证线上音质。语速选择验证实际 DOM/Vue 绑定,未验证系统下拉菜单。Firefox/用户脚本仅构建及契约证据。纯函数缓存样本不代表整页性能或供应商延迟;不宣称真人学习收益。
原文标记只呈现在学习面板,不改宿主文章。朗读当前词保留原有精度 title,可能优先于父标记的参考提示;逻辑描述关联真实提示行,折叠的完整详情仍需展开,不声明屏幕阅读器默认读出隐藏详情。