Phase 4–6:平台、在线与创作
Phase 4–6 覆盖框架从「单机可玩」走向「多端、在线、可创作」的后续能力。三个阶段的共同点是:它们都建立在前面阶段的稳定契约之上,且都涉及框架之外的环境或服务,因此不能靠单机测试替代真实环境验收。
状态:Phase 4、Phase 5、Phase 6 均为未实现。
已有可用的基础接口包括:Save 的槽位、旗标归属与 progress:stats 已读集合(Phase 1),Platform 的 host:backend@1 宿主后端实现位(Phase 0),以及 Author 的 editor:doc 文档模型(Phase 1)。本阶段新增的是云存档实现、周目继承、孤儿 GC 完整版、输入路由、性能分级与无障碍等扩展能力;input:route、perf:tier、a11y:* 目前只在设计文稿中登记,仓库尚未登记对应契约。这些基础接口不构成后续阶段的完成证据。
Phase 4:进度进阶与平台适配
目标与非目标
目标
- 让同一份存档在网页与 Tauri 之间互通,并提供云存档后端契约。
- 完成周目继承与进度统计,使跨周目数据有明确归属。
- 落地孤儿 GC 完整版:提示 UI、清理器与用户配置,且在
boot:settled后运行、不阻塞首帧。 - 补齐全平台宿主与输入路由,支持键盘、指针、触摸与手柄等输入来源。
- 提供性能分级与画质档位,让低配设备自动降级而不改变游戏逻辑。
- 提供无障碍与离线模式。
非目标
- 不在本阶段实现账号体系与在线同步服务本身;云存档只定义宿主侧契约与本地队列。
- 不实现运营后台与埋点分析。
- 不改变 Phase 0–3 已登记的接口语义;需要变更时先登记新版本。
覆盖的大插件
| 大插件 | 职责 |
|---|---|
| Save | 云存档、周目继承、进度统计、孤儿 GC 完整版 |
| Platform | 多端宿主、输入路由、性能分级、无障碍、离线模式 |
交付内容清单
| 交付 | 大插件 | 关键接口或产物 | 状态 |
|---|---|---|---|
| 云存档与跨端同步 | Save | save:backend@1(云实现) | 未实现 |
| 周目继承与进度统计 | Save | progress:stats(已落地);周目继承未实现 | 未实现 |
| 孤儿 GC 完整版 | Save | 扫描、提示 UI、清理器、用户配置 | 未实现 |
| 多端宿主与输入 | Platform | host:backend@1(已落地);多端宿主矩阵与 input:route(文稿登记,未登记契约)未实现 | 未实现 |
| 性能分级与画质档位 | Platform | perf:tier(文稿登记,未登记契约) | 未实现 |
| 无障碍与离线模式 | Platform | a11y:*(文稿登记,未登记契约)、离线资源策略 | 未实现 |
出口条件
- [ ] 同一份存档在网页与 Tauri 两端可互通,冲突时可判定。
- [ ] 低配档位自动降级,且不改变剧本与战斗逻辑结果。
- [ ] Tauri 全平台产物通过契约测试。
- [ ] 孤儿 GC 在
boot:settled触发,不阻塞首帧。 - [ ] 用户可以关闭孤儿 GC 提示,关闭后不再提醒。
- [ ] 输入路由覆盖至少键盘、指针与触摸,且不依赖具体宿主。
尚未完成与风险
| 项目 | 说明 |
|---|---|
| 云存档的服务边界 | 文档只描述宿主契约与同步语义;具体服务端点与部署配置不进入本站。 |
| 孤儿 GC 与存档安全 | 清理必须只针对已标记孤儿,不得因单元缺失删除用户进度。 |
| 平台矩阵 | Linux Tauri 原生、macOS 与 iOS 尚无验证环境;不能以网页结果替代。 |
| 性能分级的判定依据 | 档位依据需要可观测指标;未测得的设备能力不得猜测。 |
Phase 5:在线与运营
目标与非目标
目标
- 提供账号、登录、引继与实名的宿主侧契约。
- 让资源可热更新,同时保证热更新不能更新大插件与 RPM。
- 提供社交、活动日程、扭蛋与支付、邮件与公告的接口面。
- 让支付与敏感凭据停留在宿主侧,不进入 WebView。
非目标
- 不把任何服务端实现、密钥或运营配置写进框架仓库。
- 不让热更新绕过签名、guard 或 RPM 校验。
- 不在本阶段实现创作工具与后台界面。
覆盖的大插件
| 大插件 | 职责 |
|---|---|
| Online | 账号、热更新、社交、活动、扭蛋与支付、邮件与公告 |
交付内容清单
| 交付 | 关键接口或产物 | 状态 |
|---|---|---|
| 账号、登录、引继与实名 | account:auth | 未实现 |
| 资源分发与热更新 | update:hotfix | 未实现 |
| 社交 | social:* | 未实现 |
| 活动与日程 | liveops:schedule | 未实现 |
| 扭蛋与支付 | gacha:*、payment:* | 未实现 |
| 邮件与公告 | liveops:on-event | 未实现 |
出口条件
- [ ] 账号可以登录,并能完成一次引继流程。
- [ ] 资源可以热更新,且更新内容不触及大插件与 RPM。
- [ ] 支付回调在宿主侧完成,凭据不进入 WebView。
- [ ] 热更新无法修改大插件与 RPM,并有测试证明。
- [ ] 所有对外接口均有文档与调用示例,且不包含内部端点。
- [ ] 网页与宿主两端的在线契约测试通过(可使用本地替身服务)。
尚未完成与风险
| 项目 | 说明 |
|---|---|
| 凭据边界 | 支付、令牌与实名信息必须由宿主侧持有;WebView 只接收结果。 |
| 热更新边界 | 热更新只能分发数据包、资源包与允许的小插件;大插件与 RPM 必须保持构建期焊死。 |
| 离线与失败降级 | 在线能力不可用时,单机流程必须仍可运行;不能把网络当成默认可用。 |
| 合规 | 实名、支付与公告涉及地区合规;文档只描述契约,不提供运营配置。 |
Phase 6:创作与后台
目标与非目标
目标
- 提供完整的剧情编辑器:文档模型、视图、资源管理与本地化工作台。
- 让编辑器直接产出数据包与资源包,并能在不改运行时代码的前提下被游戏加载。
- 提供运营后台与埋点接收面,且埋点可关闭、可审计。
非目标
- 不把运营后台做成框架运行时的必需依赖。
- 不让编辑器绕过包清单、guard 与签名规则。
- 不在本阶段扩展新的玩法机制。
覆盖的大插件
| 大插件 | 职责 |
|---|---|
| Author | 剧情编辑器、资源管理、本地化、运营后台、埋点 |
交付内容清单
| 交付 | 关键接口或产物 | 状态 |
|---|---|---|
| 完整剧情编辑器 | editor:doc、editor:view@1 | 未实现(仅文档模型已存在) |
| 资源管理与本地化 | 资源工作台、语言表 | 未实现 |
| 运营后台 | ops:console | 未实现 |
| 埋点与分析 | telemetry:sink | 未实现 |
出口条件
- [ ] 编辑器可以直接产出数据包与资源包。
- [ ] 产物不改一行运行时代码即可被游戏加载。
- [ ] 编辑器产物照常经过清单、guard 与签名流程。
- [ ] 本地化工作台能产出可装载的语言资源。
- [ ] 埋点默认关闭,开启与关闭均有明确记录。
尚未完成与风险
| 项目 | 说明 |
|---|---|
| 文档模型与界面脱节 | editor:doc 已存在,但没有完整视图;不能把模型存在当成编辑器可用。 |
| 产物兼容性 | 编辑器产出的包必须与运行时的清单版本、IR 版本匹配;版本升级需要迁移策略。 |
| 运营后台边界 | 后台属于 Author 大插件,但不能成为运行时必需项;缺失时应降级而非阻断。 |
| 埋点隐私 | 埋点内容、保留期与关闭方式必须明确;默认不上报。 |
当前状态与证据
| 阶段 | 状态 | 已有前置能力 | 本阶段证据 |
|---|---|---|---|
| Phase 4 | 未实现 | Save 的槽位、旗标归属与 progress:stats;Platform 的 host:backend@1(均为 Phase 0–1) | 无 |
| Phase 5 | 未实现 | 无 | 无 |
| Phase 6 | 未实现 | editor:doc 文档模型(Phase 1) | 无 |
前置能力只说明接口基础存在,不能当作本阶段的实现或测试证据。Phase 4–6 目前没有任何专属契约测试,因此不存在可引用的测试结论。
三阶段的共同前提
| 前提 | 说明 |
|---|---|
| 契约先行 | 新接口必须先登记版本与 shape,再实现;不得为「以后可能用到」预留空接口。 |
| 两端验收 | 任何标记「已完成」的能力,都需要网页与宿主两端契约测试通过。 |
| 环境真实 | 平台适配与在线能力必须在真实宿主或可复现的替身环境中验证,不能用单一浏览器结果代替。 |
| 内容中立 | 示例与测试夹具只使用自造的最小数据,不引入第三方内容。 |