此版本为测试版,会存在不稳定问题。###
发布页###
反馈群组### 更新内容
* feat: 阅读优化
* feat: AI 供应商支持自定义请求头
* feat: 发现优化
* feat: 优化了和阅读兄弟姐妹的备份兼容性
* build: google-services.json 回到官方那一份
* fix(readaloud): 胶囊与配音页挑的音色要写进绑定,池要写进本书记忆
* fix(ai): 流式回包停在半路时取消要真能取消
* Bump web v3.26.100623
* feat: 添加章节切换冷却时间,防止十字键抖动导致连切多章
* fix(search): 修复书源人机验证后搜索中断未继续搜索的问题
* test(整本书翻页估算): 等过期精确页数删除落地后再断言
* fix(lint): 把 9 条 Compose lint error 改成配置感知写法
* build: 去掉本地专包的 applicationIdSuffix,回到官方包名
* fix: 关闭分组的"允许下拉刷新"后仍可下拉刷新
* refactor: 收敛 R125 三处改动的写法与守卫口径
* revert(tts): 撤回对 httpTTS_cache 的额外清理
* fix(nav): 朗读通知回到阅读页不再叠出第二个阅读页
* fix(read): 开书首帧不再把上一本书的正文排进这本书的面板
* fix(tts): 即听即焚补上起手与逐句两个触发点
* perf(read): 定位流从阅读屏整屏状态里摘出去
* perf(book): 开书与详情页转场期间不再逐帧重建整页状态
* Bump web v3.26.100422
* feat: 优化手柄配置,添加摇杆死区和扳机判定,改进滚动体验
* feat: 添加LT和RT按钮支持,增强手柄翻页功能
* fix: 设置类页面静止时每帧空转重组
* style: 我们自己的 49 个文件里注释只写作用与依赖
* style(readaloud): 注释只写当前作用与依赖,去掉轮次与事故叙述
* fix(player): 朗读设置的"回来"只认自己推上去的那个子页
* fix(player): 朗读设置的 tab 记在宿主上,从「引擎与音色」进去回来仍停在引擎与音色
* fix(player): 从朗读设置进子页不再先露阅读页,返回也回到朗读设置
* fix(readaloud): 念不出东西的朗读单元不进队列,命中处不再垫一段 1.2 秒静音
* fix(readaloud): 变声器两层的提前量按各自生效点重排
* fix(readstyle): 补 translate 的 import(上一条提交编译不过)
* fix(readstyle): 规则预览按内容外接框贴左上,示例句不再掉到卡片下方偏右
* fix(readaloud): 命中前的缩进空格不再单独成块,命中处不再先播一段空音频
* Revert "第一百零六、一百零七轮:预合成覆盖本章 + 音效排期与耗时日志"
* fix(readaloud): 现场合成耗时这行归因日志不依赖「记录日志」开关
* fix(readaloud): 音效按刚开始播的这一格排,不再晚一整句
* perf(readaloud): 预合成覆盖正在读的这一章,系统音色也参与
* Revert "正则角色:R89 起的整条排查改动"
* refactor(readaloud): 撤掉正则角色这几轮加的诊断日志
* fix(readaloud): 正则角色编译入口去掉两端空白,粘贴带进来的换行不再让规则永远不命中
* fix(readaloud): 正则角色匹配直接走平台正则,并探针现对象与重编结果
* chore(readaloud): 正则角色 0 命中时分段计数,定位丢在匹配还是裁切
* fix(readaloud): 正则角色改在原文上匹配,不再被标记抹平擦掉命中
* fix(readaloud): 正则角色的整章匹配不再依赖朗读单元的绝对坐标
* fix(readaloud): 正则角色改按整章坐标匹配,跨句括号内容终于能命中
* fix(readaloud): 正则角色按整段匹配,跨句的括号内容不再整章 0 命中
* feat(readaloud): 正则角色的命中数与顶到音色数分开计
* fix(readaloud): 一句合成失败先试备用音色,都不行才落无声音频
* fix(readaloud): 正则角色的引擎升级不再被「多角色朗读」开关拦住
* feat(readaloud): 正则角色 0 命中时按字符给出归因
* feat(readaloud): 正则角色不生效时给出可归因证据
* feat(nav): 书内子页改用自带位移与返回处理的覆盖层场景
* fix(morph): 内容层的点击闸门改按透明度放行,不再等弹簧正好收敛
* Revert "fix(nav): 从阅读页打开的 10 个书籍子页把阅读页整页销毁"
* fix(nav): 从阅读页打开的 10 个书籍子页把阅读页整页销毁
* fix(readaloud): 正则角色选的音色没算进引擎选型,命中处被直读过滤成默认音色
* fix(readaloud): 朗读日志页同一毫秒的重复日志把 LazyColumn key 撞崩
* fix(nav): 补回合并上游时丢掉的三处接线,并守住路由注册表
* R85: AI 分配按别名拆身份,把角色的气泡弄没了
* R84: 正则角色变声器+试听、心声默认变声、AI 分配范围与中断续跑、两套导入导出
* R83: 钉底预览按实测高度给列表留底,配乐改名接上界面
* R82: 批量 FAB 按实测坐标归位,胶囊设置预览改成钉底不滚走
* R81: 占位胶囊图标与角色那颗共用居中落点,批量 FAB 归位
* R80: 音色批量操作改右下角折叠菜单,未分配胶囊改正方形
* R79: 长按菜单加「插入(前)/插入(后)」手动分配背景音乐场景
* R78: 背景音乐的淡出不再被进度回调自己掐断
* R77: 正则角色加「使用正则匹配」开关
* R76: 新代码整理——注释只留作用与跨文件依赖,删掉死方法
* R75: 音效改由媒体时钟排到命中处,并提前备好播放器
* R74: 音效不再拆朗读单元;变声提前量按层拆开;撤掉冲管线
* R72-R73: 正则角色的分组树与全局生效、音效轨不占主线程、变声器边界改冲管线
* R71: 正则角色的池只是筛选 + 列表拖动排序 + 同一句不再重复请求 TTS
* R70: 胶囊头像只有一条落点 + 新增「正则角色管理」
* R69: 撤回 R63-E 折页性能优化与 R63-F 叠页动画,仿真翻页画法回 R62
* R68 补: 折页分支在离屏图层之外再直接垫画一份当前页
* R68: 仿真翻页隔帧闪烁——折页 Path 退回每帧新建
* R67 追加: 图片大小对九宫格真正生效(整张图放大,带子上下对称分那一截)
* R67: 九宫格四条边共用一个倍率,预览里被压扁的图案恢复等比
* R64-R66: 封面 morph 跑完 420ms、九宫格纵向零拉伸、翻页与书架卡顿量化
* R63: 九宫格纵向改等比缩放、转场与仿真翻页的每帧代价、胶囊三开关、新增叠页
* R62: 九宫格切线放开 + 气泡任何设置都优先 + 预览沿用正文排版
* R61: 角色气泡补齐成高亮规则那一整套,背景图不再被垃圾回收删掉
* R60: 刷新正文不再删缓存、预览钉死示例段、角色气泡、记忆双向同步
* R59: 胶囊回到气泡上面,九宫格拼缝改用 0.5px 叠压 + 关抗锯齿
* R58: 预览改走正文同一套排版与绘制,气泡不再被后画的层切出直边
* R57: 命中字距的空隙不许被背景框吞掉
* fix: 高亮背景图只做装饰(不参与排版)、胶囊不再裁断气泡、长度偏移拆左右
* test: 把朗读划分与设置映射的单测对齐 fork 口径
* fork snapshot r49m: multi-role cast pipeline (voice pool / BGM / capsule / download / avatar) before upstream merge