Files
Genarrative/docs/technical/RPG_TEST_RUNTIME_END_BUTTON_2026-04-27.md
2026-05-01 20:29:09 +08:00

1.7 KiB
Raw Blame History

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 支持自定义世界按启动模式写入 runtimeModeruntimePersistenceDisabled
    • test:禁存;
    • play:沿正式游玩链路运行。
  4. RpgRuntimeShell.tsxruntimeMode === "test" 时叠加固定浮层按钮“结束测试”,点击后直接退出运行时并返回启动前页面。

验证

  1. 结果页点击“作品测试”后可见“结束测试”按钮。
  2. 点击“结束测试”后返回结果页,且“作品测试 / 发布”按钮仍可继续操作。
  3. useRpgSessionPersistence 继续跳过测试态存档,不新增正式游玩记录。