1
This commit is contained in:
28
docs/technical/RPG_TEST_RUNTIME_END_BUTTON_2026-04-27.md
Normal file
28
docs/technical/RPG_TEST_RUNTIME_END_BUTTON_2026-04-27.md
Normal 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` 继续跳过测试态存档,不新增正式游玩记录。
|
||||
Reference in New Issue
Block a user