更新记录
本页只记录公开可核对的变化:文档站内容、实现状态、已合并的修复与已完成的测试。项目当前不按语义化版本号发布,记录以日期为序;不列内部编号、提交哈希或未公开的审计材料。
2026-11-06
Growth 等级、强化与养成页
- 新增 Growth 根插件及养成目标、属性表、素材三个公共 registry;内置公式按等级精确读表,扩展可替换公式、上限与消耗机制。
- 等级与素材使用条目显式声明的旗标,沿用 Save 归属;强化在全部校验通过后扣减素材并更新等级,失败不写旗标或通知。
- 新增独立
core:growth页面,支持真实 DOM、键盘强化、余额与上限展示、旗标订阅刷新及撤下清理;存档用例验证等级与素材写入并读回。 - 新增可替换盘策略的生命周期契约,覆盖插件登记、显式选择、开局、行动、结算、停止与卸载回落,不把公共实现位误记为 trusted 改写。
- 完整回归 1252 项通过、81 项按环境跳过;Windows WebView2 与 MuMu Android 15/WebView 110 各 438 项通过、2 项跳过。类型检查与两端原生构建通过。
- Growth 的等级与强化范围已完成,插件整体仍为实现中;觉醒、装备、技能强化、Battle 数值交界、Collection、奖励与持久续玩尚未闭合,Phase 3 保持实现中。
- 测试配置增加可选
ADV_TEST_PORT,供默认浏览器测试端口不可用时覆盖监听端口;默认行为不变。
2026-11-05
Explore 地图与会话内探索
- 新增 Explore 根插件及地图、表现、道具三个公共 registry;逻辑表只引用稳定表现 ID,资源 VPath 与热区几何由表现表管理。
- 支持移动、旗标、剧情与调查四类动作,条件与机制异常不改变未执行的状态;消耗品仅在成功使用后扣减,默认寻路按声明顺序执行并支持卸载回落。
- 新增
core:explore与explore:map;独立 Stage 场景、真实 DOM 热区、键盘操作、库存、地图与剧情往返及迟到回调清理均有界面用例。 - 完整回归 1228 项通过、80 项按环境跳过;Windows WebView2 与 MuMu Android 15/WebView 110 各 432 项通过、2 项跳过,Explore 的两份共用契约均通过;类型检查、前端调试构建与两端原生构建通过。
- Explore 的上述会话内范围更新为「已完成」。地图与库存不自动写 Save,不提供跨进程恢复;Phase 3 仍为「实现中」,Growth、Collection、奖励与持久续玩出口尚未闭合。
Battle S5 完整范围
- 在首批多格与场景修正之上,补齐追加攻击修正、开场冷却例外、非克制/无属性/属性强化系数与评价统计。
- 新增
complete结果、AUTO 整组出卡和会话内连续遭遇;支持阶段限出场、倒下单位限制、逐单位与池化继承。 - 序列只存在于一次剧本指令内,不跨进程恢复,不自动写存档、发奖励或处理活动日程。
- 完整回归 1204 项通过、80 项按环境跳过;Windows WebView2 与 MuMu Android 15/WebView 110 各 424 项通过、2 项跳过,场景、AUTO 与序列契约均通过。
- S5 更新为「已完成」;Phase 3 仍为「实现中」,Explore、Growth、Collection 与奖励出口尚未闭合。
2026-11-04
Phase 2 出口核验
- 完整真实章节、真实信任页与原生磁盘验收在 Windows WebView2 和 Android 各通过 409 项检查;两条分支、三组原生产物及全部文件读回均已核验。
- image 与 l2d 均可作为插件切换;内置演出资产可整体替换;机制改写与审计回滚通过既有契约。
- Android 13/WebView 109 的实际显示器截图可见背景与真实模型。CDP 截图省略 WebGL 层属于采集边界,不作为业务渲染失败依据。
- Phase 2 更新为「已完成」。双语证据沿用既定的两张前端语言表,不把本章字面量台词称为双语;实际听感与全部内容不在本次范围。
Extra 受控生命周期
- 新增 Extra 根插件、
gameplay:module@1与extra:modules,支持外部玩法模块登记、受控挂载、退出和卸载清理。 - 模块只得到容器与复制后的参数,不交根控制面;机制改写与撤销保留审计,异常退出也会清除活动实例。
- 原创签名外部插件夹具覆盖完整生命周期;Windows WebView2 与 Android 原生共用契约各 420 项通过、2 项按条件跳过,其中 Extra 的 7 项均通过。
- 上述完成范围仅限 Extra 的受控生命周期;Phase 3 整体仍为「实现中」。
2026-11-02
品牌与构建说明局部同步
- 项目品牌统一为 Weftale · 织叙,应用显示名为 Weftale;文档中的技术前缀统一为
ADV/adv,仓库链接更新为当前公开地址。 - 原创标识与应用图标随项目以 GPLv3 授权,第三方组件和字体的许可保留。
- 安装说明补充新的应用与网页存储命名空间:旧数据保留,不自动迁移或删除。
- 文档流水线只构建静态产物,不再读取部署密钥、上传产物或绑定域名。发布地址尚未配置,暂不生成站点地图或带域名的页面元数据。
- 本轮仅核对上述说明与配置,不推进全站内容基线,也不提升任何阶段的验收状态。构建、检查与发布分别记账。
2026-10-19
实现同步
- 内置默认皮肤随内置数据包与资源包提供;未设置偏好时首次启动即套用,用户显式选择不换皮后刷新也保留该选择。
- Battle 增加运行载荷校验、状态与随机快照、规则管线交接、原子回滚与单次结算约束。
- Battle 的伤害、目标与回合顺序机制插槽补齐输入输出类型,以及顺序、目标和事件的显式输出校验。插槽须由规则执行者显式调用,当前默认管线尚未接入这些插槽,内置规则集仍为空,具体战斗规则与数值尚未交付。
- 文档补齐导航与皮肤操作、界面与播放结果通知、控制面实现来源查询,以及阶段和平台验证范围。
- Battle 的顺序校验补上非空、无重复的输入要求;合成盘策略验证三个机制的调用、事件按序消费、随机状态交接与非法结果回滚,默认规则仍为空。
- Android 返回键在信任页显示时转交该页,只拒绝裁决或关闭管理页,底下的界面不退栈;系统字体大小与显示密度变化加入避免 Activity 重建的处理。
- 画面组恢复默认会清除皮肤选择并回到默认皮肤;修复透明补足区挡住卡片内按钮、九宫格清空底色,以及默认对话框配色与工具条宽度问题。
文档边界补充
- 区分 Android 配置变化与 Activity 重建:字体大小、显示密度变化已有模拟器记录;其他原因导致同一进程内 Activity 重建后的恢复仍未实现。
- 统一皮肤位置与尺寸的 CSS 像素说明,保持外壳整体缩放与舞台缩放的区分。
核验记录的范围
下表转录仓库中对应日期的既有记录,不表示本次文档同步重新执行了这些测试。
| 环境 | 既有结果 |
|---|---|
| Windows Node 与系统 Edge:信任页、设置与皮肤修复后 | 根 README 记录 981 项通过、76 项跳过,类型检查通过;不是本轮页面实测 |
| Android 模拟器:信任页返回键与配置变化 | 根 README 记录 12 项通过;同批次宿主/写出冒烟 25/10 项通过,共用契约 395 项通过、2 项跳过 |
| 系统 Edge:默认皮肤界面冒烟 | 根 README 记录导航、设置、12 个内置界面皮肤名,以及浅深主题下对话框、存读档与历史面板核对通过 |
| 系统 Edge 与 Android 模拟器:内置默认皮肤 | 首启套用;显式不换皮与重新选择皮肤均有验证记录 |
| Windows Node 与系统 Edge:Battle 运行载荷加入后的全量回归 | 958 项通过,76 项跳过;对应运行载荷与状态机的既有记录 |
| Windows Node 与系统 Edge:三个机制插槽校验加入后 | 提交正文记录全量 966 项通过、76 项跳过,新增 8 项校验用例;不是原生 WebView 验收 |
完整的阶段缺口与历史测试范围见当前状态与测试。Phase 2 仍为「测试中」,Phase 3 仍为「实现中」。
2026-10-18
实现同步
- 翻译归档读取按实际读入与解出量取大者计入输入预算;中央目录最多 64 MiB,单条目的压缩数据与解压结果各最多 256 MiB,解压比最多 100:1,等待队列最多 64 项。
- 目录输入与网页拖入补齐文件数、目录数、单文件、总量与路径深度边界;网页选择目录不再先展开整个
FileList。 - Asset 失效代次、Stage 播放区替换与立绘令牌、ScriptPlay 章节排序与候选边校验、通知监听器隔离、Text 语言异步竞态均已同步实现。
- Tauri 产物文件在已核对的暂存目录句柄下逐级创建,并统一拒绝符号链接与 Windows 重解析点。
- Tauri 目录读取改为每块不超过 64 MiB;包列表最多 10,000 个,包句柄闲置 24 小时后在下一次登记时失效;在途请求体合计最多 1 GiB,Android 页面销毁时丢弃排队请求。
- Tauri 暂存产物最多 16 个、合计 4 GiB,空闲 1 小时回收;网页写出要求 OPFS 与 Web Locks 同时可用,完成标记不超过 4 KiB,已完成产物最多 10,000 个,未完成目录超过 24 小时且无写入者才回收。
- 启动全程共享 60 秒期限并逆序清理;信任页非交互调用每次 10 秒,用户点选的裁决与管理操作不设自动期限。
- 媒体会话同时允许 16 个在途请求、另排队 64 个,Worker 内逐个处理并在取消后丢弃迟到结果;存档
visited限制为最多 1,000,000 个稠密字符串,每项不超过 1 KiB。 - Text 增加无
Intl.Segmenter时的最小字素回退,语言与字体安装改由宿主提供;Registry 使用受影响条目的增量重算;Stage 过渡使用失效代理句柄保护迟写。 - 网页构建新增显式 HTTPS 外壳源与信任页源参数,输出相对基址与两份 CSP 文件。
导航、皮肤与宿主增量
- 外壳改由导航栈驱动,内置主页、独立设置与剧情界面已接入;数据包可声明界面的默认实现,用户选择优先并可跨卸载保留。
- 设置界面展示实现来源;代用户选择实现仅属于框架控制面,扩展单元不能通过服务代理取得选择权限。
- 控件皮肤支持实例段回退、逐级叠加、浅深主题变量与集中皮肤名表;尺寸和位置以 CSS 像素计,透明补足区保证交互下限,窄屏顶栏可折行。
- 剧情界面随挂载开始播放、随撤销停止;播放结果由通知交给外壳,停播同时阻止后续自动接章。
- Stage 的 typed array 参数向渲染器和快照分别提供副本;共享可恢复随机算法保持既有剧本序列。
- OPFS 创建目录前先持有产物锁,创建时刻不明的残留目录保留,避免并发清理误删正在初始化的产物。
- Android 原生桥按参数原文字节限长,修正 32 位目录类型比较;物理返回键按 Esc 路由处理。Windows 调试渠道构建开放 WebView2 远程调试连接。
后续历史验证
这些是仓库已有的不同批次记录,不能合并为同一个版本的验收结果;下方较早的核验表保留作历史记录。
| 环境 | 既有结果与范围 |
|---|---|
| Windows Node 与系统 Edge:共享随机算法之后 | 948 项通过、76 项跳过,类型检查通过;随机新增用例尚未在原生 WebView 复跑 |
| Windows WebView2:共用契约 | 393 项通过、2 项按条件跳过 |
| Android WebView 109:共用契约 | 387 项通过、2 项按条件跳过 |
| Android 13 / WebView 128:x86_64 原生 | 宿主与写出冒烟 25/10 项通过,共用契约 393 项通过、2 项按条件跳过 |
| 同一 Android 环境:armeabi-v7a 转译 | 启动就绪,宿主与写出冒烟 25/10 项通过;不据此推断其他 ARM 设备 |
| Android 模拟器:返回键 | 11 项通过,覆盖主页吸收、设置退栈、剧情菜单、恢复对话框及关闭模态 |
核验
| 环境 | 结果 |
|---|---|
Windows:Node 与系统 Edge,npm test -- --run | 126 个测试文件通过,2 个跳过;881 项通过,74 项跳过 |
Windows:npm run typecheck | 通过 |
Windows:src-tauri Rust 测试(debug-channel) | 43 项通过 |
Windows:acgcore Rust 测试 | 16 项通过 |
| 文档站构建、内容卫生与内部链接检查 | 全部通过 |
2026-10-17
文档站
- 文档站上线,使用 VitePress 构建,站点基址为域名根路径。
- 建立文档基线,按「指南 → 概念 → 架构 → 插件参考 → 路线图 → 参考 → 项目」分层。
- 完成首批页面:快速开始、环境与依赖、安装运行、首次运行、常见问题、故障排查;四档模型、policy 与写边、插槽与实现位、信任、翻译层、剧本 IR、包结构;RPM、装载与 guard、资源管线、孤儿数据、命名、双端矩阵、隔离;11 个已实现大插件与 5 个规划中大插件;Phase 0–6 与当前状态;IR Schema、原因码、包清单、术语、决策摘要。
- 项目页补齐参与贡献、反馈渠道、许可协议、更新记录与关于本站。
- 站点启用本地搜索、
sitemap.xml与最后更新时间;文档与代码不一致时以代码与测试为准。
实现状态
以下为当日的历史快照,当前状态见当前状态与测试。
| 阶段 | 状态 | 公开说明 |
|---|---|---|
| Phase 0 内核与契约 | 已完成 | RPM 生成与启动校验、装载器、guard 准入、Ed25519 签名清单与信任裁决、能力注入、网页与 Tauri 宿主 |
| Phase 1 翻译层与剧本播放 | 已完成 | 剧本 IR v1、隔离翻译器与 ZIP 输入、Asset 最小版、剧本 VM、章节推进、槽位存档、editor:doc |
| Phase 2 演出与音频 | 测试中 | Asset 完整版、Stage、Audio、自动/快进/历史、逐字显示与台词子集字体;出口实跑已在本机完成,真实 WebView2 与 Android 内容复跑仍待进行 |
| Phase 3 玩法与内容 | 实现中 | Battle 最小生命周期外壳、通用规则管线、Platform 界面层接口;外壳尚未改用导航栈与皮肤,战斗数值与结算、Explore、Growth、Collection、Extra 未实现 |
| Phase 4–6 | 未实现 | 云存档、孤儿 GC 完整版、输入路由、性能分级、无障碍、在线与运营、完整创作工具 |
修复与加固
内核、IR 与剧本播放
- 全图指令总数增加上限;跨字段引用、Schema 与 Registry 不再读取原型链。
- 剧本 VM 增加连续同步推进上限并定期让出,补齐命令表与章节卸载的边界。
- 隔离 Worker 内的 codec 结果先按单元包上限与输出预算核对,超出不转交。
翻译、资源与表现
- ZIP 会话对中央目录与单条目设上限,读取先扣作业输入预算并逐个进行。
- HCA 解码前先读文件头核对预算,头部算术一律做溢出检查。
- Asset 在实现位与机制插槽变化时使缓存失效;元数据先过预算;纹理关闭出错不再钉住缓存。
- Stage 渲染器出错时回滚并释放纹理,合成器排序与在场集合保持一致。
- Text 修复章节子集字体的换章竞态与失败回退。
宿主与构建
- 宿主写出器在提交或取消后直接拒绝后续写入,不再复制整块字节。
- Tauri 宿主的目录列举、提交与暂存清理全程按句柄核对;残留清理不跟随暂存根链接。
- 外壳 CSP 收紧,移除未使用的默认 IPC 来源;原生冒烟按实际运行时推出源。
- 产物写出路径在两端使用同一规则,取各平台文件名限制的交集。
测试
| 环境 | 结果 |
|---|---|
Windows:Node 与系统 Edge,npm test | 820 项通过,69 项跳过(浏览器专用用例在 Node 下跳过) |
Windows:src-tauri 与 acgcore 的 Rust 测试 | 35 项与 16 项通过 |
| Windows WebView2 调试版:宿主冒烟与包写出冒烟 | 25 项与 10 项全部通过 |
| Linux(WSL):Node、WebKit、Firefox | 414 项、391 项(跳过 6 项)、395 项全部通过 |
Linux(WSL):src-tauri 的 fsguard 单独编译 | 3 项全部通过 |
| 隔离测试的墙钟预算 | 共用预算放宽至 10 秒,降低全量并行负载下的偶发超时 |
网页端测试可经 ADV_TEST_BROWSER=webkit|chromium|firefox 选择 Playwright 自带浏览器;WSL 镜像网络下可用 ADV_TEST_HOST 把测试服务改绑回环地址。
尚未覆盖:Phase 2 之后的 Android 与 Windows WebView2 共用契约复跑;Linux 版 Tauri 原生程序;macOS 与 iOS(暂无设备)。
2026-10-16
- Phase 1 共用契约测试:Windows WebView2 通过 300 项;Android WebView 通过 144 项。