This commit is contained in:
2026-04-27 22:50:18 +08:00
parent ded6f6ee2a
commit b6c6640548
77 changed files with 5240 additions and 833 deletions

View File

@@ -0,0 +1,28 @@
# RPG 作品测试结束按钮补齐2026-04-27
## 背景
世界创作结果页已经提供“作品测试”入口,但测试运行时此前缺少与“幕预览”一致的显式退出按钮。创作者进入测试后只能依赖浏览器返回、刷新或其他间接链路离开,不符合独立运行时面板的交互语义。
## 本次约束
1. “作品测试”进入的运行时必须显式标记为 `runtimeMode: "test"`
2. 测试态退出入口使用固定浮层按钮,文案为“结束测试”。
3. “结束测试”不做保存,不写正式游玩存档。
4. 从结果页进入作品测试后,结束测试必须返回当前结果页,而不是平台首页。
5. 正式“进入世界 / 发布并进入世界”保持原有行为,不受本次退出按钮影响。
## 落地实现
1. `App.tsx` 为自定义世界运行时启动增加轻量 launch options记录本次进入是 `play` 还是 `test`,以及测试结束后的返回 stage。
2. `useRpgCreationEnterWorld.ts` 将结果页“作品测试”入口显式标记为 `mode: "test"`,并写入 `returnStage: "custom-world-result"`
3. `useRpgSessionBootstrap.ts` 支持自定义世界按启动模式写入 `runtimeMode``runtimePersistenceDisabled`
- `test`:禁存;
- `play`:沿正式游玩链路运行。
4. `RpgRuntimeShell.tsx``runtimeMode === "test"` 时叠加固定浮层按钮“结束测试”,点击后直接退出运行时并返回启动前页面。
## 验证
1. 结果页点击“作品测试”后可见“结束测试”按钮。
2. 点击“结束测试”后返回结果页,且“作品测试 / 发布”按钮仍可继续操作。
3. `useRpgSessionPersistence` 继续跳过测试态存档,不新增正式游玩记录。