Files
Genarrative/docs/technical/VISUAL_NOVEL_IMPLEMENTATION_HANDOFF_2026-05-07.md
2026-05-08 11:44:42 +08:00

77 lines
3.3 KiB
Markdown

# 视觉小说模板实现收口与交接说明 2026-05-07
## 1. 范围
本文记录 `AI_NATIVE_VISUAL_NOVEL_TEMPLATE_PRD_2026-05-05.md``VN-13` 收口结果,作为视觉小说模板后续维护的一页式入口。
本文只总结当前已经落地且需要长期遵守的实现边界,不再把视觉小说描述成外部 TXT 平台迁移,也不重复旧迁移方案里的临时讨论。
## 2. 当前正式入口
后续维护时优先看这些文档:
1. [AI 原生视觉小说模板 PRD](../prd/AI_NATIVE_VISUAL_NOVEL_TEMPLATE_PRD_2026-05-05.md)
2. [SpacetimeDB 表说明与查询目录](./SPACETIMEDB_TABLE_CATALOG.md)
3. [视觉小说 VN-03 Prompt 与 LLM 工具实现说明](./VISUAL_NOVEL_PROMPT_AND_LLM_TOOLS_VN03_2026-05-05.md)
4. [视觉小说 VN-11 负向扫描报告](../audits/VN11_NEGATIVE_SCAN_REPORT_2026-05-07.md)
5. [视觉小说模板交接与维护经验](../experience/VISUAL_NOVEL_HANDOFF_AND_MAINTENANCE_2026-05-07.md)
旧的 `TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md` 只保留历史参考意义,不再作为实现口径。
## 3. 已收口的实现边界
### 3.1 创作链路
- 创作链统一走 `/api/creation/visual-novel/*`
- 入口、工作台、结果页和服务端 prompt 已围绕 `visual-novel` 模板闭环对齐。
- `VisualNovelResultDraft``VisualNovelCreationSessionSnapshot` 等共享契约已经成型。
### 3.2 运行链路
- 运行链统一走 `/api/runtime/visual-novel/*`
- 运行时只认 typed step 和快照,不让前端从 `raw_text` 猜业务真相。
- `visual_novel_runtime_history_entry` 只用于继续体验和历史重生成边界,不是回放表。
### 3.3 数据链路
- SpacetimeDB 首版只保留 6 张视觉小说表。
- `visual_novel_runtime_event``public event` 审计事件表,不是 replay 数据源。
- 表结构变化必须同步 `migration.rs``SPACETIMEDB_TABLE_CATALOG.md` 和 Rust bindings。
### 3.4 作品与发布
- 作品架、广场和分享都复用平台现有链路。
- 公开作品码统一使用 `VN-` 前缀。
- 发布后要刷新作品架和公开聚合。
### 3.5 资产与登录态
- 文档、封面、背景、角色和音乐都只保留平台资产对象引用。
- 不保存大 Data URL、不走独立对象存储、不新增视觉小说私有存档系统。
- 退出登录时要清空视觉小说私有 session、work、run 和错误状态。
## 4. 长期维护规则
1. 看到视觉小说相关改动,先确认是不是契约改动;如果是,先同步 TS / Rust shared contracts。
2. 看到表结构改动,先同步 `migration.rs` 和表目录,再补 bindings。
3. 看到资产链路改动,只改平台资产引用,不回退到本地路径或二进制直存。
4. 看到运行时历史改动,只维护 typed history 和审计事件,不把它改成回放能力。
5. 看到旧 TXT 文档时,只把它当历史来源,不把其中的平台工程目标重新带回实现。
## 5. 验证口径
收口后建议按下面顺序检查:
```bash
npm run check:encoding
npm run check:visual-novel-vn11
npm run typecheck
cd server-rs
cargo test -p shared-contracts
cargo test -p module-visual-novel
cargo check -p api-server
```
如果本轮没有改代码,只要编码检查和负向扫描通过,通常就说明 VN-13 的文档收口已经站稳。